[SCM] projectm packaging branch, upstream, updated. upstream/2.0.1+dfsg-1-geea1c91

ximion-guest at users.alioth.debian.org ximion-guest at users.alioth.debian.org
Tue Jul 20 13:55:50 UTC 2010


The following commit has been merged in the upstream branch:
commit eea1c91469ca7555c55a2a4f2ba04d813ad13fa8
Author: Matthias Klumpp <matthias at nlinux.org>
Date:   Tue Jul 20 15:55:09 2010 +0200

    Removed some more not DFSG-compliant stuff
    
    This time we delete:
     * Microsoft copyrighted libs
     * Some Apple "all-rights-reserved" headers
     * PlugIns useless for Debian/Linux
     * Not licensed header files

diff --git a/INSTALL-iTunes-macos.txt b/INSTALL-iTunes-macos.txt
deleted file mode 100755
index db3e2c6..0000000
--- a/INSTALL-iTunes-macos.txt
+++ /dev/null
@@ -1,73 +0,0 @@
-
-projectM -- Milkdrop-esque visualisation SDK
-Copyright (C)2003-2007 projectM Team
-
-This library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Lesser General Public
-License as published by the Free Software Foundation; either
-version 2.1 of the License, or (at your option) any later version.
-
-This library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Lesser General Public License for more details.
-
-You should have received a copy of the GNU Lesser General Public
-License along with this library; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-See 'LICENSE.txt' included within this release
-
-Installation of projectM iTunes plugin for MacOS X
-==================================================
-
-Simply drag the projectM.bundle folder from the mounted disk image
-to the folder called "Library/iTunes/iTunes Plug-ins" in your home
-folder in Finder.
-
-Restart iTunes
-
-In the "Visualizer" menu, you should now see an entry called "projectM".
-Select this option.
-
-Now, turn the visualiser on and enjoy the visuals!
-
-Special Keys
-============
-
-' ': Pauses/unpauses music
-F1: Show help screen
-F3: Toggle preset name rendering
-F5: Toggle frame rate rendering
-F8: Toggle between screen and studio modes. Useful for debugging per-pixel
-    equations
-R: Jump to a new random preset
-N: Go to the next alphanumeric preset
-P: Go to the previous alphanumeric preset
-
-Presets
-=======
-
-A selection of presets are installed in 
-
-Library/iTunes/iTunes Plug-ins/projectM.bundle/Contents/Resources/presets
-
-Feel free to remove files from this folder or copy different presets in
-place. After altering the contents of this folder, you must restart projectM
-by turning off, then on, the visualiser in iTunes to refresh the preset
-list.
-
-Caveats
-=======
-
-ATI 3D accelerator cards are known to *NOT WORK* with this plugin currently.
-We are investigating the reasons behind this and a fix will be released
-as soon as the problem is sorted.
-
-Fullscreen resolution is fixed at 1280x1024. Future releases will enable you
-to change this on-the-fly
-
-Mesh size is fixed at 48x36. This generates an acceptable tradeoff between
-visual quality and frame rate. Again, this will be selectable in a 
-configuration dialog in the near future.
-
-Returning from Fullscreen mode can shift windows around
diff --git a/playlists/presetplaylist.xsd b/playlists/presetplaylist.xsd
deleted file mode 100644
index 31dee05..0000000
--- a/playlists/presetplaylist.xsd
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
-	<xs:element name="presetplaylist">
-		<xs:complexType>
-			<xs:sequence>
-				<xs:element name="description" type="xs:string"/>
-				<xs:element name="item" maxOccurs="unbounded">
-					<xs:complexType>
-						<xs:sequence>
-							<xs:element name="url" type="xs:string"/>
-							<xs:element name="rating" type="xs:integer"/>
-						</xs:sequence>
-					</xs:complexType>
-				</xs:element>
-			</xs:sequence>
-		</xs:complexType>
-	</xs:element>	
-</xs:schema>
-
diff --git a/playlists/sample.ppl b/playlists/sample.ppl
deleted file mode 100644
index 3f2318e..0000000
--- a/playlists/sample.ppl
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?><presetplaylist><description></description><item><url>/usr/share/projectM/presets/A.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/AA.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/AAA.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Agitator.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Aimless (Gravity Directive Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Aimless (Spirogravity Mix).milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Airhandler (Menagerie Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Airs (Windy Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Airs.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Anchorpulse (Pulse Of A Ghast II Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Anchorpulse (Verified Mix).milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Anomalous Material Science (Pure Splinter Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Antidote (Aqualung Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Antidote (Side Effects Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Antidote.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Antique Abyss.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Arise! (Padded Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Ashes Of Air (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Bitterfeld (Crystal Border Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Blender.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Bow To Gravity.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Brakefreak.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Candy Avian.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Causeway Of Dreams (Nightmare Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Causeway Of Dreams (REMix).milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Causeway Of Dreams.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Chromatic Abyss (The Other Side).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Circlefacade.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Contortion (Xenomorph Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Contortion.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Crystal Storm.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Dark Matter (Converse Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Elastoid.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Floater Society.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Flowing Form.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Making Time (Swamp Mix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Paintsphere.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Potion of Spirits.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Songflower (Moss Posy).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - Spillswirl.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - What Cannot Be Undone.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Aderrasi - What cannot be.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/B.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/baked - mushroom rainbows[2].milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Bmelgren </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Bmelgren </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Bmelgren - Godhead.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Bmelgren - Hmmm.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Bmelgren - Pentultimate Nerual Slipstream (Tweak 2).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Bmelgren - Take This Highway.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/che - adela the flower.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/che - barcode infidelity.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/che - burning hus (oil mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Che - Burning Hus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Che - Escape.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Che - Geology.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/che - terracarbon stream.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Che - Watch </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/CrystalHigh - mad ravetriping.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/DaNOnE - Highway to Heaven (rotating).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EMPR - Random - Changing Polyevolution.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/EMPR - Random - Light Speed Racer.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EMPR - Random - Look mama I'm on TV! 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EMPR - Random - They're so cute Dad can I keep one!.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EMPR - Random - Turbulence Sandwich.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. + Phat - chasers 18 hallway.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - glowsticks v2 03 music.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - glowsticks v2 04 music minimal.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix02b.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - glowsticks v2 05 and proton lights (+Krash's beat code) _Phat_remix07 recursive demons.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - heater core C_Phat's_class + sparks_mix.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - heater core C_Phat's_on route_mix+beam.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - repeater 05 - rave on acid.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S. - repeater 15 - kaleidoscope b.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Eo.S.+Phat - Arm_upgrades - transformer.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Eo.S.+Phat Cool Bug v2 + (Krash's beat detection).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EvilJim - Follow the ball.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/EvilJim - Ice Drops.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/fiShbRaiN - blueprint.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Fvese - 0 To 60.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Fvese - A Blur.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Lifesavor Anyone.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Multi Circle.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - New meetings.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Quicksand.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Round and Round (geiss gamma mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - simple.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Fvese - Stand Still!.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - The Tunnel (Final Stage Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Window Reflection 6.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Fvese - Zoom Effects (Remix 2).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Geiss </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Geiss </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Geiss </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Geiss </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Geiss - Aieeeeee!!!.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Anomaly 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Anomaly 2.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Approach.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Asymptote.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bass Kaleidosphere.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bass Zoom.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bipolar 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bipolar 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bipolar 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bipolar 4.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bipolar 5.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Blasto.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bonfire.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bright Fiber Matrix 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Bright Fiber Matrix 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Calligraphy.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cartographie.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Casino.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cepiasound.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Churn.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Color Tones 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Color Tones 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Constant Velocity.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Coral.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Corpus Callosum.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cosmic Dust 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cosmic Dust 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cruzin'.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cycloid 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Cycloid 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Davod The Pod.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - De La Moutard 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - De La Moutard 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Demonic Distortion.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Descent.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Destruction.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Diffraction.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Digital Smoke.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Downward Spiral.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Drift.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Dynamic Swirls 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Dynamic Swirls 2.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Eddies 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Eddies 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Eggs.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - El Cubismo.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Feedback 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Feedback.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Festive.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Fiberglass.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Flotsam.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Flower Blossom.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Flower.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Fog Tunnel.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Four Kinds of Amphetamines.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Galaxy 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Galaxy 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Greenland.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Happy Drops.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Heavenly 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Heavenly 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Heavenly 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - High Dynamic Range.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Hovering.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Hurricane.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Hyperion.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Inkblot.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Iris.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Journey.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Julia Fractal 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Julia Fractal 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Luz.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Many Colors 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Many Colors 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Mega Swirl 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Mega Swirl 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Mega Swirl 3.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Microcosm.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Monotone Ripples.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Music Box.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Nautilus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus Blue.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus Ever Changing.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus Fat and Ever Changing.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus Gold with Dots.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus Gold.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Octopus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Oldskool Mellowstyle.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Pelota De Fuego.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Pinch.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Pistons.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Planet 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Planet 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Quasilinear Submanifolds.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Reducto Absurdum.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Reducto Ad Nauseum.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Rocket.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Runoff.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Scary.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Script.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Serpent.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Shake.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Shift.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Sinews 1.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Sinews 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Smoke.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Solar Flare (Blue).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Solar Flare (Reptile).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Solar Flare.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Sound And The Fury.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Space Voyage (High-Warp).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Space Voyage Bright.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Space Voyage.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Spacedust.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Starfish 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Starfish 2.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - Sunsets.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - Supernova 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Supernova 2.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Surface.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirl 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirl 2.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirlie 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirlie 2.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirlie 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirlie 4.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - Swirlie 5.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Symmetry.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - The Fatty Lumpkin Sunkle Tweaker.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Three And A Half Kinds Of Amphetamines.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Geiss - Three Kinds Of Amphetamines.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Tokamak.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Tornado.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Toy.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Trampoline.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Tube.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss - Two-Pointed Pulsagon.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Ultrafast.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Volume Zoom.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Vortex 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Vortex 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Warp Of Dali 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Warp Of Dali 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Warp Of Dali Bright.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Geiss - Waterfall.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Geiss and Rovastar - The Chaos Of Colours (sprouting diment.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Idiot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Idiot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Idiot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Idiot - 9-7-02 (Remix) (sustain fixed).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - Cortex (Spiritual Visions Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Dwarf of Annon (before the star).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - Madness Within The Void (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - MOTIVATION!.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/idiot - Nothing Yet - 02 - Shifting Squares of idiot.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Nothing Yet - 03 - The worst of the pack.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Nucleus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Shadows of Annon.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Sinful Code (unchained style).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/idiot - Some big word I learned.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Spectrum.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - Tentacle Dreams (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - Texture Boxes (Remix 2).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - Texture Boxes (Remix).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Idiot - Typomatic (Remix 2).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Waterfalls (remix2).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/idiot - Waterfalls.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Idiot - What Is.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot - What Shall Come.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot24-7 - Ascending to heaven 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot24-7 - Just plain cool 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Idiot24-7 - Meeting place.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Illusion - Figure Eight.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Illusion - Heavenly Eye.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Jess - Trying To Trap A Twister.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Krash - 3D Shapes Demo 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - 3D Shapes Demo.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - cardiac rhythm.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash - Chronoshift.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Digital Flame.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Dynamic Borders 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Framed Geometry.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash - Heatwaves.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash - interwoven (nightmare weft).milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash - interwoven.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Molten Indecision (Rozzor Hot Fast tweak).milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Krash - molten indecision.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Pulse.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Krash - Season's Greetings 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Snowflake Halo.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Krash - systolic pressure.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Krash - Twisting Indecision.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Vinyl Disk.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash - War Machine (Shifting Complexity Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash - Windowframe To Mega Swirl 2.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Krash and Fvese - Molten Indecision (Fvese Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash and Rovastar - Rainbow Orb 2 Peacock (Bmelgren's Comp.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Krash and Rovastar - Rainbow Orb.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Krash and Telek - Real Noughts and Crosses (Random Ending).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Mstress </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Mstress </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Mstress </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Mstress - Acid Universes (Big Bang Interferences Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/mstress - Acid Universes.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress - Acoustic Nerve Impulses (Under Drug Effetcs (Hypn.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress - Aurora Boreale.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress - Curtain.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress - Snowing Fiber City.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Mstress - Super nova self control.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/neuro - blackhole bass.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/nil </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/nil </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/nil - Can't Stop the Blithering.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Can't Stop the Cramming.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Cid and Lucy.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Did You Speak with the Orb.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Disco Comet.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Singularity in My Oscilloscope.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Tim Leary's Amazing Waterslide.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Vortex of Vortices.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/nil - Wyrm.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix - www.eos4life.com.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Phat+fiShbRaiN+Eo.S_Mandala_Chasers_remix.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/PieturP - triptrap_(getting_concrete_visions_through_a_diafragma_version).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/PieturP - triptrap_(ultimate-trip-mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Redi Jedi - acid in your brain.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Redi Jedi - multiple points of origin, one destination.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Reenen - phoenix.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rocke - Answer.42.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rocke - Answer42.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rocke - Cold Love (Tei Zwaa).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rocke - Personal Comet.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rovastar - A Million Miles From Earth (Drift Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - A Million Miles from Earth (Pathfinder Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - A Million Miles From Earth (Wormhole Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - A Million Miles from Earth.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Harlequin's Maddess.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Harlequin's Madness (Dark Disorder Mix.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness (A Million Miles From Earth Mi.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness (Boxfresh Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness (Duel Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness (Surealist Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness 2 (Frozen Time Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness 4 (Spirit Of Twisted Madness M.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Altars Of Madness.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Attacking Freedom.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Bellanova (New Wave Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Biohazard Warning.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Braindance 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Bytes.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Chapel Of Ghouls.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Chemical Spirituality.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Clouded Judgement 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Cosmic Echoes 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Cosmic Echoes 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Cosmic Havoc.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Cosmic Mosaic (Active Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Dark Ritual (Star Of Destiny Denied Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Dark Ritual (Star Of Destiny Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Decreasing Dreams (Extended Movement Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Dreamcatcher.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - eclectic interface (despair mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Explosive Minds.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Forgotten Moon.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Fractopia (Fantic Dancing Lights Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Fractopia (Galaxy Swirl Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Fractopia (Upspoken Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Fractopia (Upspoken Mix)_Phat_Speak_When_Spoken_2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Frozen Rapture .milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Future Speakers.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Halcyon Dreams 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Hallucinogenic Pyramids (Beat Time Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Delight (Endless Tunnel Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Dynamic Fractal (Crazed Spiral Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Dynamic Fractal (Dual Spiral Mix ).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Dynamic Fractal 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Dynamic Fractal 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Dynamic Fractal 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Fractal Encounter 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Fractal Encounter.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Liquid Dragon.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Living Wall.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Spirit (Twisted Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Harlequin's Spirit.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Hyperspace (Frozen Rapture Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Hyperspace (Hyper Speed Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Hyperspace.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Clouded Judgement Mix).milk~</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Dark Secret Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Distant Memories Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Frantic Thoughts Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Inner Thoughts (Strange Cargo Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Intense Desire.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Jester's Awakening.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Jester's Calling 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Jester's Calling 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Jester's Surreal Tornado (Further Vortex Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Kalideostars (Altars Of Madness MIx).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Kalideostars (Round  Round Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Kalideostars.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - LabFunk.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Lost Souls of the Bermuda Triangle (Darkest Soul.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Magic Carpet.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Mosaics Of Ages.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Multiverse Starfield 1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Multiverse Starfield 3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Omnipresence Resurrection (Raw Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Omnipresence Resurrection.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Oozing Resistance.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Pandora's Volcano.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Paradigm Sphere.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Parallel Universe.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - paranormal diffusion analyser.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Power Trip.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Ritual Of Life.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Sea Life (Evoluation Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Sea Life.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Sea Shells.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Shadows Portal.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Snapshot Of Space.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Solarized Space (Space DNA Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Solarized Space.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Space (Twisted Dimension Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Space.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Starquake (Sunquake Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - The Awakening.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - The Chaos Of Colours (Drifting Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - The Chaos Of Colours.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - The Shroomery.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Timeless Voyage.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Touchdown on Mars (Detailed Pictures Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Tripmaker.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Trippy S..milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Trippy S.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - twisted bytes.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Violent Relaxation.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Visions Beyond.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Visions Of The Future.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - VooV's Brainwaves.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - VooV's Movement (After Dark Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - VooV's Movement.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - VooV's Organic Light.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar - Xeper.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar and Krash - Hallucinogenic Pyramids (Extra Beat Ti.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar and Krash - Rainbow Deflection.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar and Unchained - Braindance Visions.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rovastar and Unchained - Life After Pie (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzer </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzer </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzor </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzor </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzor </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzor </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Rozzor - Color Breaks its Boycott (shape mod).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor - Learning Curve (Invert tweak).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and che - Inside the House of nil.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and Idiot - Any Other Deep Rising.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak with .milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and Rovastar - Altars Of Madness 3 (ooze tweak).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and StudioMusic - Vertigyny (Geiss shape mod).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Rozzor and Zylot - Associative Order.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Scanner (@ztec)2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/shifter - escape the worm - Eo.S. + Phat - Before_It_Eats_Your_Brain_Mix_v2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/shifter - escape the worm - Eo.S. + Phat 5362.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Studio Music - Cherished Desires.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Studio Music and Unchained - Rapid Alteration.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/StudioMusic </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/StudioMusic </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/StudioMusic </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/StudioMusic </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/StudioMusic </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/StudioMusic - Harmonic Bliss (elated mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/StudioMusic - It's Only Make Believe.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/StudioMusic - Numerosity.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/StudioMusic - Twisted Galaxy.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/StudioMusic Aderrasi </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/TEcHNO and SandStorm - Psychodelic Highway.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - City Helix Lattice.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Directive Swagger (Spectral Inferno) (fix...) maybe.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Flicker (@xis).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Flicker.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Globetrotting (Sailors Delight Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Lost Star (Flash).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Recirculate (Cool).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Sine Wave.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Slow Shift Matrix (bb4.5).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Slow Shift Matrix (Ethereal Drift).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Slow Shift Matrix.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Slow Thing (Spiderman Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Spiral Tabletop (New and Improved!).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Spokes (More Dynamic).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek - Target Practice (tracking retreat slide).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Telek EMPR - Scanner - Trust me I've got a Melways.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/TobiasWolfBoi - Cataract.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/TobiasWolfBoi - The Pit.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Tschoey - Music Flower.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained - A Matter Of Taste (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - All You Can Eat.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Bad Karma Oddnezz Style.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo (Demonology Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 1.0.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 10.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 2.0.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 2.1.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 2.2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Beat Demo 2.3.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Cartoon Factory.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Cranked On Failure.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Custom Gramatix (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Deeper Logic.milk</url><rating>1</rating></item><item><url>/usr/share/projectM/presets/Unchained - elite vectronics.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Free to Feel (Valium Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - French Clothing.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Games With Light </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Unchained - Ghostlight Whisper.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - God Of The Game (Remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Goo Kung Fu.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Unchained - Goofy Beat Detection.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Housed In A Childish Mind.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - In Memory Of Peg.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Invariant Under Rigorous Motions.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Jaded Emotion.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Jaundice.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Making a Science of It 4.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Morat's Final Voyage.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Non-Professional Music Analyzer.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Painful Plasma (Multi-Wave Mirrored Rage) -- Ro.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Perverted Dialect.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Picture Of Exile.milk</url><rating>5</rating></item><item><url>/usr/share/projectM/presets/Unchained - Picture Of Nectar.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Picture Of Poison.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - ReAwoke.milk</url><rating>6</rating></item><item><url>/usr/share/projectM/presets/Unchained - Resistance.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Unchained - Ribald Ballad.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Shaping The Grid.milk</url><rating>1</rating></item><item><url>/usr/share/projectM/presets/Unchained - Subjective Experience Of The Manifold.milk</url><rating>2</rating></item><item><url>/usr/share/projectM/presets/Unchained - Unclaimed Wreckage 2 (Shamanic).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - Unclaimed Wreckage.milk</url><rating>6</rating></item><item><url>/usr/share/projectM/presets/Unchained - Unified Drag 2.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Unchained - ventilation.milk</url><rating>4</rating></item><item><url>/usr/share/projectM/presets/Unchained - Working the Grid.milk</url><rating>1</rating></item><item><url>/usr/share/projectM/presets/Vovan - Bass With Flover.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 010 - Symphonic innerverse.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 011 - Symphonic innerverse (deaf mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 020 - I have no feet and I must dance.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 030 - Dance with the ocean.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 040 - Myopic infected 3d VU meters.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 041 - Myopic infected 3d VU meters (remix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 050 - Van Gogh's nightmare.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 051 - Van Gogh's nightmare (in depth).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 060 - PLU.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 070 - Speaks for itsself.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 080 - Dream Universe.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 090 - Exit eternity.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 100 - Through the ether.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 101 - Through the ether (Phase Two).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 102 - Through the ether (The separation).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 110 - Survival of the fastest.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 111 - Survival of the fastest (Volume gravity).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 112 - Survival of the fastest (Sudden death).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 113 - Survival of the fastest (The Grand Arena).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 114 - Survival of the fastest (feat. Guest Star).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 115 - Survival of the fastest (feat. Collapsing Guest Star).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 116 - Survival of the fastest (is watched!).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 120 - Resonant consciousness.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 130 - Karmic energies.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 140 - Ohm to the stars.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 141 - Ohm to the stars (ESP).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 150 - Pap says there's no centrifugal.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 160 - Controversial.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 170 - Take a deep breath.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 180 - Pyrotechnics.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 181 - Pyrotechnics (windy mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 190 - Temporal fluctuations.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 191 - Temporal singularities.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 200 - The all seeing eye.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 210 - Beat it.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 220 - Enter the silence.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - 230 - First impression.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/yin - Beat Detective 007 demo.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot </url><rating>10957</rating></item><item><url>/usr/share/projectM/presets/Zylot - Azirphaeli's Mirror.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Block Of Sound (Abstract Architecture Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Block Of Sound (Fractal Construction Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Burning Passion.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Color Of Music.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Crystal Ball (Magical Reaction Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - De(-a)range(d)(ment) complex.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - De(-a)range(d)(ment) strain.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Digiscape Advanced Processor.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Ether Storm.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Global Earthquake.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Hollow Shell.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Inside The Planar Portal.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - light of the path.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Magladon.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Magma Crawl.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Magma Vein.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Mixing Pot.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - New Star.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - PinWheel.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Present for Saddam.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Puddle Of Music.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Rainbow Planet Under Attack.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Riding The Sound Waves.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Rush.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - S Pulse Virus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - S. Pulse Virus.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - String.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - String.milk~</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Tangent Universe (Collapsed With Artifact Mix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - The Deeper.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - The Inner Workings of my New Computer.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Tunnel Of Illusion.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Visionarie (geiss aspect ratio fix).milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Waves Of Blood.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Winding Path Over The Blue Abyss.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot - Wisps.milk</url><rating>3</rating></item><item><url>/usr/share/projectM/presets/Zylot and Rovastar - Iouo Stone Morphic Fusion.milk</url><rating>3</rating></item></presetplaylist>
diff --git a/src/projectM-iTunes-VizKit/README.TXT b/src/projectM-iTunes-VizKit/README.TXT
deleted file mode 100644
index 9362083..0000000
--- a/src/projectM-iTunes-VizKit/README.TXT
+++ /dev/null
@@ -1,29 +0,0 @@
-======
-VizKit
-
-A basic visualizer plug-in for iTunes.
--------------------------------------
-
-VizKit is a cross-platform (Mac OS X/Windows) samplework. 
-The visualization is executed with OpenGL.
-
-
-Main features:
-
-- Album cover artwork texture generation 
-  by using QuickTime's GraphicsImportComponent
-- Unicode anti-aliased texture of track title and lyrics
-  including custom font loading
-- Configuration dialog with about info
-  and full-screen display resolution setting
-
-
-The distribution contains a project directory for Apple's Xcode IDE 
-and a separate directory for Microsoft's Visual Studio .NET.
-The source code files are shared.
-
-
-http://www.imagomat.de/vizkit
-
-(c) 2004-2007 Heiko Wichmann
-
diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln
deleted file mode 100644
index 114dd2d..0000000
--- a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.sln	
+++ /dev/null
@@ -1,131 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VizKit", "VizKit.vcproj", "{C996A961-AAE7-42DF-859F-E3434EC13885}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\..\..\WinLibs\freetype-2.3.5\builds\win32\visualc\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew_static", "..\..\..\WinLibs\glew\build\vc6\glew_static.vcproj", "{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftgl_static_lib", "..\..\..\WinLibs\FTGL\win32_vcpp\ftgl_static_lib\ftgl_static_lib.vcproj", "{4A80DC08-8D4E-4136-B818-AF0024000A21}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprojectM", "..\..\..\projectM-engine\libprojectM.vcproj", "{31B91091-431A-4842-8682-2A04B51C980A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug MT|Win32 = Debug MT|Win32
-		Debug Multithreaded|Win32 = Debug Multithreaded|Win32
-		Debug MX|Win32 = Debug MX|Win32
-		Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32
-		Debug|Win32 = Debug|Win32
-		Release MT|Win32 = Release MT|Win32
-		Release Multithreaded|Win32 = Release Multithreaded|Win32
-		Release MX|Win32 = Release MX|Win32
-		Release Singlethreaded|Win32 = Release Singlethreaded|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug MT|Win32.ActiveCfg = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug MT|Win32.Build.0 = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug MX|Win32.ActiveCfg = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug MX|Win32.Build.0 = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug|Win32.ActiveCfg = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Debug|Win32.Build.0 = Debug|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release MT|Win32.ActiveCfg = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release MT|Win32.Build.0 = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release Multithreaded|Win32.Build.0 = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release MX|Win32.ActiveCfg = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release MX|Win32.Build.0 = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release Singlethreaded|Win32.Build.0 = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release|Win32.ActiveCfg = Release|Win32
-		{C996A961-AAE7-42DF-859F-E3434EC13885}.Release|Win32.Build.0 = Release|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.ActiveCfg = Debug|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.Build.0 = Debug|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.ActiveCfg = Release|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.Build.0 = Release|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.Build.0 = Debug|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.ActiveCfg = Release|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo
deleted file mode 100644
index b95193d..0000000
Binary files a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.suo and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj b/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj
deleted file mode 100644
index a47181a..0000000
--- a/src/projectM-iTunes-VizKit/Visual Studio Project/VizKit/VizKit.vcproj	
+++ /dev/null
@@ -1,1349 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="VizKit"
-	ProjectGUID="{C996A961-AAE7-42DF-859F-E3434EC13885}"
-	RootNamespace="VizKit"
-	Keyword="MFCProj"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory=".\Debug"
-			IntermediateDirectory=".\Debug"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="_DEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Debug/VizKit.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="..\..\..\WinLibs\QuickTime SDK\;.\..\..\..\WinLibs\QuickTime SDK\QT;.\..\..\source\;.\..\..\source\iTunesVisualAPI\;.\..\..\source\Actors\;.\..\..\source\Actions\;.\..\..\source\AudioLab\;.\..\..\source\Tools\;.\..\..\source\Tools\Timing\;.\..\..\source\win\;..\..\..\projectM-engine"
-				PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;_CRT_SECURE_NO_DEPRECATE=1;"
-				BasicRuntimeChecks="3"
-				RuntimeLibrary="1"
-				RuntimeTypeInfo="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				AssemblerListingLocation=".\Debug/"
-				ObjectFile=".\Debug/"
-				ProgramDataBaseFileName=".\Debug/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				DebugInformationFormat="1"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="_DEBUG"
-				Culture="1031"
-				AdditionalIncludeDirectories="&quot;C:\Documents and Settings\hwichman\My Documents\diverse\QT\Libraries&quot;"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="Nafxcwd.lib opengl32.lib glu32.lib qtmlClient.lib pthreadVC2.lib"
-				ShowProgress="0"
-				OutputFile="../build/debug/VizKit.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories="&quot;.\..\..\..\WinLibs\QuickTime SDK\Libraries&quot;;C:\Users\pete\Desktop\trunk\src\WinLibs\pthreads\lib"
-				IgnoreDefaultLibraryNames="Nafxcwd.lib;"
-				GenerateDebugInformation="true"
-				ProgramDatabaseFile=".\Debug/VizKit.pdb"
-				SubSystem="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				ImportLibrary=".\Debug/VizKit.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory=".\Release"
-			IntermediateDirectory=".\Release"
-			ConfigurationType="2"
-			InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
-			UseOfMFC="1"
-			ATLMinimizesCRunTimeLibraryUsage="false"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-				PreprocessorDefinitions="NDEBUG"
-				MkTypLibCompatible="true"
-				SuppressStartupBanner="true"
-				TargetEnvironment="1"
-				TypeLibraryName=".\Release/VizKit.tlb"
-				HeaderFileName=""
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="4"
-				AdditionalIncludeDirectories="..\..\..\WinLibs\QuickTime SDK\;.\..\..\..\WinLibs\QuickTime SDK\QT;.\..\..\source\;.\..\..\source\iTunesVisualAPI\;.\..\..\source\Actors\;.\..\..\source\Actions\;.\..\..\source\AudioLab\;.\..\..\source\Tools\;.\..\..\source\Tools\Timing\;.\..\..\source\win\;..\..\..\projectM-engine"
-				PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;_CRT_SECURE_NO_DEPRECATE=1;"
-				RuntimeLibrary="0"
-				RuntimeTypeInfo="true"
-				UsePrecompiledHeader="0"
-				PrecompiledHeaderThrough=""
-				PrecompiledHeaderFile=""
-				AssemblerListingLocation=".\Release/"
-				ObjectFile=".\Release/"
-				ProgramDataBaseFileName=".\Release/"
-				WarningLevel="3"
-				SuppressStartupBanner="true"
-				CompileAs="0"
-				DisableSpecificWarnings="4996"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				PreprocessorDefinitions="NDEBUG"
-				Culture="1031"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				AdditionalDependencies="Nafxcw.lib Libcmt.lib opengl32.lib glu32.lib qtmlClient.lib"
-				OutputFile="../build/release/VizKit.dll"
-				LinkIncremental="1"
-				SuppressStartupBanner="true"
-				AdditionalLibraryDirectories=".\..\..\..\WinLibs\QuickTime SDK\Libraries"
-				IgnoreDefaultLibraryNames="Nafxcw.lib;Libcmt.lib"
-				ProgramDatabaseFile=".\Release/VizKit.pdb"
-				SubSystem="2"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				ImportLibrary=".\Release/VizKit.lib"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{31B91091-431A-4842-8682-2A04B51C980A}"
-			RelativePathToProject="..\..\..\projectM-engine\libprojectM.vcproj"
-		/>
-	</References>
-	<Files>
-		<Filter
-			Name="Ressourcendateien"
-			Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-			>
-			<File
-				RelativePath="..\..\resources\Devroye\Devroye Open Type\DEVROYE_.otf"
-				>
-			</File>
-			<File
-				RelativePath="..\..\resources\spot.png"
-				>
-			</File>
-			<File
-				RelativePath="..\..\source\win\VizKit.rc"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCResourceCompilerTool"
-						PreprocessorDefinitions=""
-						AdditionalIncludeDirectories="\Documents and Settings\hwichman\My Documents\VizKit\source\win"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCResourceCompilerTool"
-						PreprocessorDefinitions=""
-						AdditionalIncludeDirectories="\Documents and Settings\hwichman\My Documents\VizKit\source\win"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Sources"
-			Filter="c;cpp;h"
-			>
-			<Filter
-				Name="Actor"
-				Filter="c;cpp;h"
-				>
-				<File
-					RelativePath="..\..\source\Actors\BeatlightActor.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\BeatlightActor.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\CoverArtActor.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\CoverArtActor.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\ProcessMonitorActor.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\ProcessMonitorActor.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TemplateActor.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TemplateActor.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TrackLyricsActor.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TrackLyricsActor.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TrackTitleActor.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Actors\TrackTitleActor.h"
-					>
-				</File>
-				<Filter
-					Name="Action"
-					Filter="c;cpp;h"
-					>
-					<File
-						RelativePath="..\..\source\Actions\Beatlight.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\Beatlight.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\CoverArt.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\CoverArt.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\ProcessMonitor.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\ProcessMonitor.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TemplateAction.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TemplateAction.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TrackLyrics.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TrackLyrics.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TrackTitle.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\Actions\TrackTitle.h"
-						>
-					</File>
-				</Filter>
-				<Filter
-					Name="Interface"
-					>
-					<File
-						RelativePath="..\..\source\VisualActor.cpp"
-						>
-						<FileConfiguration
-							Name="Debug|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								Optimization="0"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-								BasicRuntimeChecks="3"
-							/>
-						</FileConfiguration>
-						<FileConfiguration
-							Name="Release|Win32"
-							>
-							<Tool
-								Name="VCCLCompilerTool"
-								AdditionalIncludeDirectories=""
-								PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							/>
-						</FileConfiguration>
-					</File>
-					<File
-						RelativePath="..\..\source\VisualActor.h"
-						>
-					</File>
-				</Filter>
-			</Filter>
-			<Filter
-				Name="iTunes Visualizer API"
-				Filter="c;cpp;h"
-				>
-				<File
-					RelativePath="..\..\source\iTunesVisualAPI\iTunesAPI.c"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-							UsePrecompiledHeader="0"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\iTunesVisualAPI\iTunesAPI.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\iTunesVisualAPI\iTunesVisualAPI.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="AudioLab"
-				Filter="c;cpp;h"
-				>
-				<File
-					RelativePath="..\..\source\AudioLab\VisualAudioLab.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\AudioLab\VisualAudioLab.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\AudioLab\VisualAudioMetaData.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\AudioLab\VisualAudioMetaData.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="Tools"
-				Filter="c;cpp;h"
-				>
-				<File
-					RelativePath="..\..\source\Tools\VisualColorTools.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualColorTools.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualErrorHandling.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualErrorHandling.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualFile.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualFile.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualInterpolation.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualInterpolation.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualItemIdentifier.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualItemIdentifier.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualQuickTime.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualQuickTime.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualString.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualString.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualStringStyle.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualStringStyle.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualThreading.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\Tools\VisualThreading.h"
-					>
-				</File>
-				<Filter
-					Name="Timing"
-					>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualAnimation.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualAnimation.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualTimeline.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualTimeline.h"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualTiming.cpp"
-						>
-					</File>
-					<File
-						RelativePath="..\..\source\Tools\Timing\VisualTiming.h"
-						>
-					</File>
-				</Filter>
-			</Filter>
-			<Filter
-				Name="win"
-				Filter="c;cpp:h"
-				>
-				<File
-					RelativePath="..\..\source\win\AboutPane.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\win\AboutPane.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\DisplayResolutionPane.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\win\DisplayResolutionPane.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\glext.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\iTunesCOMInterface.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\iTunesCOMInterface_i.c"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\resource.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\StdAfx.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-							UsePrecompiledHeader="1"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\win\StdAfx.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\VisualPropertySheet.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\win\VisualPropertySheet.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\win\wglext.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="Main"
-				>
-				<File
-					RelativePath="..\..\source\VisualConfiguration.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualConfiguration.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualConfigurationDialog.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualConfigurationDialog.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualDataStore.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualDataStore.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualMain.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualMain.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualSignature.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualSignature.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="Ensemble"
-				>
-				<File
-					RelativePath="..\..\source\VisualEnsemble.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualEnsemble.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStageControl.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStageControl.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="Graphics"
-				>
-				<File
-					RelativePath="..\..\source\VisualActorGraphics.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualActorGraphics.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualAsset.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualAsset.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualConvolutionFilter.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualConvolutionFilter.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphics.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphics.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphicsCore.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphicsCore.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphicTypes.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualGraphicTypes.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualImage.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualImage.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNurbs.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNurbs.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStageBox.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStageBox.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStagePosition.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualStagePosition.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualTextureContainer.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualTextureContainer.h"
-					>
-				</File>
-			</Filter>
-			<Filter
-				Name="Messaging"
-				>
-				<File
-					RelativePath="..\..\source\VisualActorState.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualActorState.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualDispatch.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualDispatch.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualHostCommunication.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualHostCommunication.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNotification.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNotification.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNotificationKey.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNotificationQueue.cpp"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualNotificationQueue.h"
-					>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualPlayerState.cpp"
-					>
-					<FileConfiguration
-						Name="Debug|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							Optimization="0"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;_DEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-							BasicRuntimeChecks="3"
-						/>
-					</FileConfiguration>
-					<FileConfiguration
-						Name="Release|Win32"
-						>
-						<Tool
-							Name="VCCLCompilerTool"
-							AdditionalIncludeDirectories=""
-							PreprocessorDefinitions="TARGET_OS_WIN;WIN32;NDEBUG;_WINDOWS;_MBCS;_USRDLL;WINVER=0x0500;_WIN32_WINNT=0x0500;$(NoInherit)"
-						/>
-					</FileConfiguration>
-				</File>
-				<File
-					RelativePath="..\..\source\VisualPlayerState.h"
-					>
-				</File>
-			</Filter>
-		</Filter>
-		<File
-			RelativePath="..\..\source\carbontoprojectm.hpp"
-			>
-		</File>
-	</Files>
-	<Globals>
-		<Global
-			Name="RESOURCE_FILE"
-			Value="\Documents and Settings\Administrator\My Documents\iTunes visualizer dev\VizKit\source\win\VizKit.rc"
-		/>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/projectM-iTunes-VizKit/Xcode Project/Info.plist b/src/projectM-iTunes-VizKit/Xcode Project/Info.plist
deleted file mode 100644
index dc0f360..0000000
--- a/src/projectM-iTunes-VizKit/Xcode Project/Info.plist	
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>VizKit</string>
-	<key>CFBundleGetInfoString</key>
-	<string>VizKit 1.9, ©2004-2007, www.imagomat.de, Heiko Wichmann</string>
-	<key>CFBundleIconFile</key>
-	<string></string>
-	<key>CFBundleIdentifier</key>
-	<string>de.imagomat.vizkit</string>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleName</key>
-	<string>VizKit</string>
-	<key>CFBundlePackageType</key>
-	<string>hvpl</string>
-	<key>CFBundleShortVersionString</key>
-	<string>1.9</string>
-	<key>CFBundleSignature</key>
-	<string>hook</string>
-	<key>CFBundleVersion</key>
-	<string>1.9</string>
-</dict>
-</plist>
diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib
deleted file mode 100644
index ea58db1..0000000
--- a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/classes.nib	
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-IBClasses = ();
-IBVersion = 1;
-}
diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib
deleted file mode 100644
index a11ab8b..0000000
--- a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/info.nib	
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-<plist version="1.0">
-<dict>
-	<key>IBDocumentLocation</key>
-	<string>164 123 540 327 0 0 1440 878 </string>
-	<key>IBFramework Version</key>
-	<string>446.1</string>
-	<key>IBLockedObjects</key>
-	<array/>
-	<key>IBOldestOS</key>
-	<integer>3</integer>
-	<key>IBSystem Version</key>
-	<string>8L127</string>
-	<key>targetFramework</key>
-	<string>IBCarbonFramework</string>
-</dict>
-</plist>
diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib b/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib
deleted file mode 100644
index b88511e..0000000
--- a/src/projectM-iTunes-VizKit/Xcode Project/VisualOptions.nib/objects.xib	
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<object class="NSIBObjectData">
-  <string name="targetFramework">IBCarbonFramework</string>
-  <object name="rootObject" class="NSCustomObject" id="1">
-    <string name="customClass">NSApplication</string>
-  </object>
-  <array count="15" name="allObjects">
-    <object class="IBCarbonWindow" id="166">
-      <string name="windowRect">382 517 550 780 </string>
-      <string name="title">Visualizer Options</string>
-      <object name="rootControl" class="IBCarbonRootControl" id="167">
-        <string name="bounds">0 0 168 263 </string>
-        <string name="viewFrame">0 0 263 168 </string>
-        <array count="1" name="subviews">
-          <object class="IBCarbonTab" id="194">
-            <string name="bounds">5 20 148 243 </string>
-            <string name="viewFrame">20 5 223 143 </string>
-            <array count="2" name="subviews">
-              <object class="IBCarbonUserPane" id="195">
-                <string name="bounds">42 20 148 243 </string>
-                <string name="viewFrame">0 37 223 106 </string>
-                <array count="4" name="subviews">
-                  <object class="IBCarbonStaticText" id="207">
-                    <string name="bounds">79 29 92 232 </string>
-                    <string name="viewFrame">9 37 203 13 </string>
-                    <boolean name="small">TRUE</boolean>
-                    <int name="controlSize">1</int>
-                    <string name="title">Version 1.9</string>
-                    <int name="justification">1</int>
-                  </object>
-                  <object class="IBCarbonStaticText" id="208">
-                    <string name="bounds">48 29 71 232 </string>
-                    <string name="viewFrame">9 6 203 23 </string>
-                    <string name="title">VizKit</string>
-                    <int name="justification">1</int>
-                  </object>
-                  <object class="IBCarbonStaticText" id="209">
-                    <string name="bounds">100 29 113 232 </string>
-                    <string name="viewFrame">9 58 203 13 </string>
-                    <boolean name="small">TRUE</boolean>
-                    <int name="controlSize">1</int>
-                    <string name="title">http://www.imagomat.de/vizkit</string>
-                    <int name="justification">1</int>
-                  </object>
-                  <object class="IBCarbonStaticText" id="210">
-                    <string name="bounds">121 29 134 232 </string>
-                    <string name="viewFrame">9 79 203 13 </string>
-                    <boolean name="small">TRUE</boolean>
-                    <int name="controlSize">1</int>
-                    <string name="title">© 2004-2007 Heiko Wichmann</string>
-                    <int name="justification">1</int>
-                  </object>
-                </array>
-                <ostype name="controlSignature">vizK</ostype>
-                <int name="controlID">129</int>
-                <string name="title">About</string>
-                <int name="featureBits">2</int>
-              </object>
-              <object class="IBCarbonUserPane" id="196">
-                <string name="bounds">42 20 148 243 </string>
-                <string name="viewFrame">0 37 223 106 </string>
-                <array count="2" name="subviews">
-                  <object class="IBCarbonStaticText" id="201">
-                    <string name="bounds">64 55 77 219 </string>
-                    <string name="viewFrame">35 22 164 13 </string>
-                    <boolean name="small">TRUE</boolean>
-                    <int name="controlSize">1</int>
-                    <string name="title">Full-Screen Resolution:</string>
-                    <int name="justification">-2</int>
-                  </object>
-                  <object class="IBCarbonPopupButton" id="206">
-                    <string name="bounds">85 55 105 205 </string>
-                    <string name="viewFrame">35 43 150 20 </string>
-                    <ostype name="controlSignature">vizK</ostype>
-                    <int name="controlID">6</int>
-                    <object name="menu" class="IBCarbonMenu" id="205">
-                      <string name="title">Popup:</string>
-                      <array count="3" name="items">
-                        <object class="IBCarbonMenuItem" id="202">
-                          <boolean name="checked">TRUE</boolean>
-                          <boolean name="updateSingleItem">TRUE</boolean>
-                          <string name="title">Item 1</string>
-                        </object>
-                        <object class="IBCarbonMenuItem" id="204">
-                          <boolean name="updateSingleItem">TRUE</boolean>
-                          <string name="title">Item 2</string>
-                        </object>
-                        <object class="IBCarbonMenuItem" id="203">
-                          <boolean name="updateSingleItem">TRUE</boolean>
-                          <string name="title">Item 3</string>
-                        </object>
-                      </array>
-                    </object>
-                  </object>
-                </array>
-                <ostype name="controlSignature">vizK</ostype>
-                <int name="controlID">130</int>
-                <int name="featureBits">2</int>
-              </object>
-            </array>
-            <ostype name="controlSignature">vizK</ostype>
-            <int name="controlID">128</int>
-            <boolean name="autoLayoutPanes">TRUE</boolean>
-            <array count="2" name="tabItems">
-              <dictionary count="4">
-                <string>contentResID</string>
-                <string>0</string>
-                <string>tabEnabled</string>
-                <string>1</string>
-                <string>tabName</string>
-                <string>About</string>
-                <string>userPane</string>
-                <reference idRef="195"/>
-              </dictionary>
-              <dictionary count="4">
-                <string>contentResID</string>
-                <string>0</string>
-                <string>tabEnabled</string>
-                <string>1</string>
-                <string>tabName</string>
-                <string>Display</string>
-                <string>userPane</string>
-                <reference idRef="196"/>
-              </dictionary>
-            </array>
-          </object>
-        </array>
-      </object>
-      <boolean name="receiveActivates">FALSE</boolean>
-      <boolean name="receiveUpdates">FALSE</boolean>
-      <boolean name="hasHorizontalZoom">FALSE</boolean>
-      <boolean name="isResizable">FALSE</boolean>
-      <boolean name="hasVerticalZoom">FALSE</boolean>
-      <boolean name="compositing">TRUE</boolean>
-      <int name="themeBrush">7</int>
-      <int name="windowPosition">1</int>
-    </object>
-    <reference idRef="167"/>
-    <reference idRef="194"/>
-    <reference idRef="195"/>
-    <reference idRef="196"/>
-    <reference idRef="201"/>
-    <reference idRef="202"/>
-    <reference idRef="203"/>
-    <reference idRef="204"/>
-    <reference idRef="205"/>
-    <reference idRef="206"/>
-    <reference idRef="207"/>
-    <reference idRef="208"/>
-    <reference idRef="209"/>
-    <reference idRef="210"/>
-  </array>
-  <array count="15" name="allParents">
-    <reference idRef="1"/>
-    <reference idRef="166"/>
-    <reference idRef="167"/>
-    <reference idRef="194"/>
-    <reference idRef="194"/>
-    <reference idRef="196"/>
-    <reference idRef="205"/>
-    <reference idRef="205"/>
-    <reference idRef="205"/>
-    <reference idRef="206"/>
-    <reference idRef="196"/>
-    <reference idRef="195"/>
-    <reference idRef="195"/>
-    <reference idRef="195"/>
-    <reference idRef="195"/>
-  </array>
-  <dictionary count="2" name="nameTable">
-    <string>File&apos;s Owner</string>
-    <reference idRef="1"/>
-    <string>OptionsDialog</string>
-    <reference idRef="166"/>
-  </dictionary>
-  <unsigned_int name="nextObjectID">212</unsigned_int>
-</object>
diff --git a/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj b/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj
deleted file mode 100644
index 30c298b..0000000
--- a/src/projectM-iTunes-VizKit/Xcode Project/VizKit.xcodeproj/project.pbxproj	
+++ /dev/null
@@ -1,919 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 42;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		4288C457075A22CF003C29C8 /* VisualOptions.nib in Resources */ = {isa = PBXBuildFile; fileRef = 4288C456075A22CF003C29C8 /* VisualOptions.nib */; };
-		42986573080806B20045411A /* VisualConfiguration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 42986571080806B20045411A /* VisualConfiguration.cpp */; };
-		42986574080806B20045411A /* VisualConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 42986572080806B20045411A /* VisualConfiguration.h */; };
-		8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */; };
-		AC04E6B607ED8FD000F4479D /* VisualNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = AC04E6B407ED8FD000F4479D /* VisualNotification.h */; };
-		AC04E6B707ED8FD000F4479D /* VisualNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */; };
-		AC0D105008A0117500EE4F2C /* VisualGraphicsCore.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */; };
-		AC0D105108A0117500EE4F2C /* VisualGraphicsCore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */; };
-		AC0D4EF10A3BF91F00C3101B /* VisualThreading.h in Headers */ = {isa = PBXBuildFile; fileRef = AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */; };
-		AC0D4EF20A3BF91F00C3101B /* VisualThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */; };
-		AC16F683089EBDDD00C8BC79 /* VisualGraphicTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */; };
-		AC1FB8820BB8F29D001C1810 /* VisualHostCommunication.h in Headers */ = {isa = PBXBuildFile; fileRef = AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */; };
-		AC1FB8830BB8F29D001C1810 /* VisualHostCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */; };
-		AC214F8109FD653700B24379 /* VisualInterpolation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */; };
-		AC214F8209FD653700B24379 /* VisualInterpolation.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214F8009FD653700B24379 /* VisualInterpolation.h */; };
-		AC214FFD09FD694000B24379 /* VisualAsset.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF309FD694000B24379 /* VisualAsset.cpp */; };
-		AC214FFE09FD694000B24379 /* VisualAsset.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF409FD694000B24379 /* VisualAsset.h */; };
-		AC214FFF09FD694000B24379 /* VisualNurbs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF509FD694000B24379 /* VisualNurbs.cpp */; };
-		AC21500009FD694000B24379 /* VisualNurbs.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF609FD694000B24379 /* VisualNurbs.h */; };
-		AC21500109FD694000B24379 /* VisualStageBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF709FD694000B24379 /* VisualStageBox.cpp */; };
-		AC21500209FD694000B24379 /* VisualStageBox.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FF809FD694000B24379 /* VisualStageBox.h */; };
-		AC21500309FD694000B24379 /* VisualStagePosition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FF909FD694000B24379 /* VisualStagePosition.cpp */; };
-		AC21500409FD694000B24379 /* VisualStagePosition.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FFA09FD694000B24379 /* VisualStagePosition.h */; };
-		AC21500509FD694000B24379 /* VisualTextureContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */; };
-		AC21500609FD694000B24379 /* VisualTextureContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = AC214FFC09FD694000B24379 /* VisualTextureContainer.h */; };
-		AC21508C09FD705100B24379 /* CocoaStringTexture.m in Sources */ = {isa = PBXBuildFile; fileRef = AC21508A09FD705000B24379 /* CocoaStringTexture.m */; };
-		AC21508D09FD705100B24379 /* CocoaStringTexture.h in Headers */ = {isa = PBXBuildFile; fileRef = AC21508B09FD705000B24379 /* CocoaStringTexture.h */; };
-		AC243BFD07D524B4006D245A /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC243BFC07D524B4006D245A /* CoreFoundation.framework */; };
-		AC29E5E50BAC6FB000206180 /* VisualNotificationKey.h in Headers */ = {isa = PBXBuildFile; fileRef = AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */; };
-		AC2E84980A6CEB9F005DFF74 /* VisualAudioMetaData.h in Headers */ = {isa = PBXBuildFile; fileRef = AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */; };
-		AC2E84990A6CEB9F005DFF74 /* VisualAudioMetaData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */; };
-		AC38BF640BAE70B4002FD4A4 /* VisualStringStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */; };
-		AC3920610B59705600FEC228 /* VisualImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC39205F0B59705600FEC228 /* VisualImage.cpp */; };
-		AC3920620B59705600FEC228 /* VisualImage.h in Headers */ = {isa = PBXBuildFile; fileRef = AC3920600B59705600FEC228 /* VisualImage.h */; };
-		AC48DDB30B87123A0003AF42 /* VisualNotificationQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */; };
-		AC48DDB40B87123A0003AF42 /* VisualNotificationQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */; };
-		AC503DCC089C1384008CD23F /* VisualActorGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = AC503DCA089C1384008CD23F /* VisualActorGraphics.h */; };
-		AC503DCD089C1384008CD23F /* VisualActorGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */; };
-		AC503EBF089C2176008CD23F /* VisualGraphicTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */; };
-		AC5B29FD0941E73B0040AE4E /* VisualActorState.h in Headers */ = {isa = PBXBuildFile; fileRef = AC5B29FC0941E73A0040AE4E /* VisualActorState.h */; };
-		AC7955E906DBD4D60026F7BA /* Beatlight.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */; };
-		AC7955EA06DBD4D60026F7BA /* Beatlight.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E006DBD4D60026F7BA /* Beatlight.h */; };
-		AC7955EB06DBD4D60026F7BA /* CoverArt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E106DBD4D60026F7BA /* CoverArt.cpp */; };
-		AC7955EC06DBD4D60026F7BA /* CoverArt.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E206DBD4D60026F7BA /* CoverArt.h */; };
-		AC7955ED06DBD4D60026F7BA /* ProcessMonitor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */; };
-		AC7955EE06DBD4D60026F7BA /* ProcessMonitor.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */; };
-		AC7955EF06DBD4D60026F7BA /* TemplateAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */; };
-		AC7955F006DBD4D60026F7BA /* TemplateAction.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E606DBD4D60026F7BA /* TemplateAction.h */; };
-		AC7955F106DBD4D60026F7BA /* TrackTitle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */; };
-		AC7955F206DBD4D60026F7BA /* TrackTitle.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7955E806DBD4D60026F7BA /* TrackTitle.h */; };
-		AC7F531D07255239004BE280 /* OptionsDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = AC7F531B07255239004BE280 /* OptionsDialog.h */; };
-		AC7F531E07255239004BE280 /* OptionsDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC7F531C07255239004BE280 /* OptionsDialog.cpp */; };
-		AC8E20F20A0944B6000ABA6D /* VisualTimeline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */; };
-		AC8E20F30A0944B6000ABA6D /* VisualTimeline.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */; };
-		AC8E20F40A0944B6000ABA6D /* VisualTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */; };
-		AC8E20F50A0944B6000ABA6D /* VisualTiming.h in Headers */ = {isa = PBXBuildFile; fileRef = AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */; };
-		AC92E7750A9EDAC200507DCF /* VisualErrorHandling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */; };
-		AC9CA85E0A11C78C006299D4 /* VisualItemIdentifier.h in Headers */ = {isa = PBXBuildFile; fileRef = AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */; };
-		AC9CA85F0A11C78C006299D4 /* VisualItemIdentifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */; };
-		ACD043230942FEDA00A0CB1D /* VisualPlayerState.h in Headers */ = {isa = PBXBuildFile; fileRef = ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */; };
-		ACD043240942FEDA00A0CB1D /* VisualPlayerState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */; };
-		ACDAA940098FFD900067AA4A /* VisualActorState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */; };
-		ACE0DF5F06DBCE730018E8C0 /* BeatlightActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */; };
-		ACE0DF6006DBCE730018E8C0 /* BeatlightActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */; };
-		ACE0DF6106DBCE730018E8C0 /* CoverArtActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */; };
-		ACE0DF6206DBCE730018E8C0 /* CoverArtActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */; };
-		ACE0DF6306DBCE730018E8C0 /* ProcessMonitorActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */; };
-		ACE0DF6406DBCE730018E8C0 /* ProcessMonitorActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */; };
-		ACE0DF6506DBCE730018E8C0 /* TemplateActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */; };
-		ACE0DF6606DBCE730018E8C0 /* TemplateActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */; };
-		ACE0DF6706DBCE730018E8C0 /* TrackTitleActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */; };
-		ACE0DF6806DBCE730018E8C0 /* TrackTitleActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */; };
-		ACE0DF6906DBCE730018E8C0 /* VisualAudioLab.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */; };
-		ACE0DF6A06DBCE730018E8C0 /* VisualAudioLab.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */; };
-		ACE0DF6D06DBCE730018E8C0 /* iTunesAPI.c in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */; };
-		ACE0DF6E06DBCE730018E8C0 /* iTunesAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */; };
-		ACE0DF6F06DBCE730018E8C0 /* iTunesVisualAPI.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */; };
-		ACE0DF7506DBCE730018E8C0 /* VisualColorTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */; };
-		ACE0DF7606DBCE730018E8C0 /* VisualColorTools.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */; };
-		ACE0DF7806DBCE730018E8C0 /* VisualErrorHandling.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */; };
-		ACE0DF7B06DBCE730018E8C0 /* VisualActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */; };
-		ACE0DF7C06DBCE730018E8C0 /* VisualActor.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4206DBCE730018E8C0 /* VisualActor.h */; };
-		ACE0DF7F06DBCE730018E8C0 /* VisualDataStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */; };
-		ACE0DF8006DBCE730018E8C0 /* VisualDataStore.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */; };
-		ACE0DF8106DBCE730018E8C0 /* VisualDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */; };
-		ACE0DF8206DBCE730018E8C0 /* VisualDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */; };
-		ACE0DF8306DBCE730018E8C0 /* VisualEnsemble.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */; };
-		ACE0DF8406DBCE730018E8C0 /* VisualEnsemble.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */; };
-		ACE0DF8506DBCE730018E8C0 /* VisualGraphics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */; };
-		ACE0DF8606DBCE730018E8C0 /* VisualGraphics.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */; };
-		ACE0DF8706DBCE730018E8C0 /* VisualMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */; };
-		ACE0DF8806DBCE730018E8C0 /* VisualMain.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */; };
-		ACE0DF8906DBCE730018E8C0 /* VisualStageControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */; };
-		ACE0DF8A06DBCE730018E8C0 /* VisualStageControl.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */; };
-		ACE0DFA006DBD0A00018E8C0 /* DEVROYE_.otf in Resources */ = {isa = PBXBuildFile; fileRef = ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */; };
-		ACE0DFB406DBD1190018E8C0 /* AGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFAE06DBD1190018E8C0 /* AGL.framework */; };
-		ACE0DFB506DBD1190018E8C0 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */; };
-		ACE0DFB706DBD1190018E8C0 /* GLUT.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFB106DBD1190018E8C0 /* GLUT.framework */; };
-		ACE0DFB806DBD1190018E8C0 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */; };
-		ACE0DFB906DBD1190018E8C0 /* QuickTime.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ACE0DFB306DBD1190018E8C0 /* QuickTime.framework */; };
-		ACE30FA90ACE686800EC56B7 /* VisualAnimation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */; };
-		ACE30FAA0ACE686800EC56B7 /* VisualAnimation.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */; };
-		ACE80D2D0BB84B960004DC20 /* VisualSignature.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE80D2B0BB84B960004DC20 /* VisualSignature.h */; };
-		ACE80D2E0BB84B960004DC20 /* VisualSignature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */; };
-		ACE824400B88AE9400E9028B /* VisualFile.h in Headers */ = {isa = PBXBuildFile; fileRef = ACE8243E0B88AE9400E9028B /* VisualFile.h */; };
-		ACE824410B88AE9400E9028B /* VisualFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE8243F0B88AE9400E9028B /* VisualFile.cpp */; };
-		ACE8D72F0BB27A8500BEBD44 /* VisualStringStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */; };
-		ACF08A490B5231CA0031A029 /* VisualConvolutionFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */; };
-		ACF08A4A0B5231CA0031A029 /* VisualConvolutionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */; };
-		ACF08A4F0B5232130031A029 /* VisualQuickTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACF08A4D0B5232130031A029 /* VisualQuickTime.cpp */; };
-		ACF08A500B5232130031A029 /* VisualQuickTime.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF08A4E0B5232130031A029 /* VisualQuickTime.h */; };
-		ACF08A550B5232490031A029 /* VisualAppleScript.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ACF08A530B5232490031A029 /* VisualAppleScript.cpp */; };
-		ACF08A560B5232490031A029 /* VisualAppleScript.h in Headers */ = {isa = PBXBuildFile; fileRef = ACF08A540B5232490031A029 /* VisualAppleScript.h */; };
-		ACF08A620B5232D50031A029 /* getLyrics.applescript in Resources */ = {isa = PBXBuildFile; fileRef = ACF08A570B52326E0031A029 /* getLyrics.applescript */; };
-		E41E1F2E0A6BCBD1004565CB /* VisualString.h in Headers */ = {isa = PBXBuildFile; fileRef = E41E1F2C0A6BCBD1004565CB /* VisualString.h */; };
-		E41E1F2F0A6BCBD1004565CB /* VisualString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */; };
-		E428E9F20A4EBB010018F704 /* TrackLyricsActor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */; };
-		E428E9F30A4EBB010018F704 /* TrackLyricsActor.h in Headers */ = {isa = PBXBuildFile; fileRef = E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */; };
-		E428E9F60A4EBB170018F704 /* TrackLyrics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */; };
-		E428E9F70A4EBB170018F704 /* TrackLyrics.h in Headers */ = {isa = PBXBuildFile; fileRef = E428E9F50A4EBB170018F704 /* TrackLyrics.h */; };
-		E4CF4CC70BDBC199007147F6 /* VisualConfigurationDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */; };
-		E4CF4CC80BDBC199007147F6 /* VisualConfigurationDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */; };
-		E4D6CC610B9F3A530004750D /* spot.png in Resources */ = {isa = PBXBuildFile; fileRef = E4D6CC600B9F3A530004750D /* spot.png */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
-		08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
-		4288C456075A22CF003C29C8 /* VisualOptions.nib */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; path = VisualOptions.nib; sourceTree = SOURCE_ROOT; };
-		42986571080806B20045411A /* VisualConfiguration.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualConfiguration.cpp; sourceTree = "<group>"; };
-		42986572080806B20045411A /* VisualConfiguration.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualConfiguration.h; sourceTree = "<group>"; };
-		8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = Info.plist; sourceTree = SOURCE_ROOT; };
-		8D01CCD20486CAD60068D4B7 /* VizKit.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = VizKit.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
-		AC04E6B407ED8FD000F4479D /* VisualNotification.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualNotification.h; sourceTree = "<group>"; };
-		AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualNotification.cpp; sourceTree = "<group>"; };
-		AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualGraphicsCore.h; sourceTree = "<group>"; };
-		AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphicsCore.cpp; sourceTree = "<group>"; };
-		AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualThreading.h; sourceTree = "<group>"; };
-		AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualThreading.cpp; sourceTree = "<group>"; };
-		AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphicTypes.cpp; sourceTree = "<group>"; };
-		AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualHostCommunication.h; path = ../source/VisualHostCommunication.h; sourceTree = SOURCE_ROOT; };
-		AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualHostCommunication.cpp; path = ../source/VisualHostCommunication.cpp; sourceTree = SOURCE_ROOT; };
-		AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualInterpolation.cpp; path = ../source/Tools/VisualInterpolation.cpp; sourceTree = SOURCE_ROOT; };
-		AC214F8009FD653700B24379 /* VisualInterpolation.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualInterpolation.h; path = ../source/Tools/VisualInterpolation.h; sourceTree = SOURCE_ROOT; };
-		AC214FF309FD694000B24379 /* VisualAsset.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAsset.cpp; path = ../source/VisualAsset.cpp; sourceTree = SOURCE_ROOT; };
-		AC214FF409FD694000B24379 /* VisualAsset.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAsset.h; path = ../source/VisualAsset.h; sourceTree = SOURCE_ROOT; };
-		AC214FF509FD694000B24379 /* VisualNurbs.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualNurbs.cpp; path = ../source/VisualNurbs.cpp; sourceTree = SOURCE_ROOT; };
-		AC214FF609FD694000B24379 /* VisualNurbs.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNurbs.h; path = ../source/VisualNurbs.h; sourceTree = SOURCE_ROOT; };
-		AC214FF709FD694000B24379 /* VisualStageBox.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStageBox.cpp; path = ../source/VisualStageBox.cpp; sourceTree = SOURCE_ROOT; };
-		AC214FF809FD694000B24379 /* VisualStageBox.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStageBox.h; path = ../source/VisualStageBox.h; sourceTree = SOURCE_ROOT; };
-		AC214FF909FD694000B24379 /* VisualStagePosition.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStagePosition.cpp; path = ../source/VisualStagePosition.cpp; sourceTree = SOURCE_ROOT; };
-		AC214FFA09FD694000B24379 /* VisualStagePosition.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStagePosition.h; path = ../source/VisualStagePosition.h; sourceTree = SOURCE_ROOT; };
-		AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTextureContainer.cpp; path = ../source/VisualTextureContainer.cpp; sourceTree = SOURCE_ROOT; };
-		AC214FFC09FD694000B24379 /* VisualTextureContainer.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTextureContainer.h; path = ../source/VisualTextureContainer.h; sourceTree = SOURCE_ROOT; };
-		AC21508A09FD705000B24379 /* CocoaStringTexture.m */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.objc; name = CocoaStringTexture.m; path = ../source/mac/CocoaStringTexture.m; sourceTree = SOURCE_ROOT; };
-		AC21508B09FD705000B24379 /* CocoaStringTexture.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = CocoaStringTexture.h; path = ../source/mac/CocoaStringTexture.h; sourceTree = SOURCE_ROOT; };
-		AC243BFC07D524B4006D245A /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
-		AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNotificationKey.h; path = ../source/VisualNotificationKey.h; sourceTree = SOURCE_ROOT; };
-		AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualAudioMetaData.h; sourceTree = "<group>"; };
-		AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualAudioMetaData.cpp; sourceTree = "<group>"; };
-		AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualStringStyle.h; path = ../source/Tools/VisualStringStyle.h; sourceTree = SOURCE_ROOT; };
-		AC39205F0B59705600FEC228 /* VisualImage.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualImage.cpp; path = ../source/VisualImage.cpp; sourceTree = SOURCE_ROOT; };
-		AC3920600B59705600FEC228 /* VisualImage.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualImage.h; path = ../source/VisualImage.h; sourceTree = SOURCE_ROOT; };
-		AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualNotificationQueue.h; path = ../source/VisualNotificationQueue.h; sourceTree = SOURCE_ROOT; };
-		AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualNotificationQueue.cpp; path = ../source/VisualNotificationQueue.cpp; sourceTree = SOURCE_ROOT; };
-		AC503DCA089C1384008CD23F /* VisualActorGraphics.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualActorGraphics.h; sourceTree = "<group>"; };
-		AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualActorGraphics.cpp; sourceTree = "<group>"; };
-		AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualGraphicTypes.h; sourceTree = "<group>"; };
-		AC5B29FC0941E73A0040AE4E /* VisualActorState.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualActorState.h; path = ../source/VisualActorState.h; sourceTree = SOURCE_ROOT; };
-		AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = Beatlight.cpp; sourceTree = "<group>"; };
-		AC7955E006DBD4D60026F7BA /* Beatlight.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = Beatlight.h; sourceTree = "<group>"; };
-		AC7955E106DBD4D60026F7BA /* CoverArt.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = CoverArt.cpp; sourceTree = "<group>"; };
-		AC7955E206DBD4D60026F7BA /* CoverArt.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = CoverArt.h; sourceTree = "<group>"; };
-		AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMonitor.cpp; sourceTree = "<group>"; };
-		AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = ProcessMonitor.h; sourceTree = "<group>"; };
-		AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateAction.cpp; sourceTree = "<group>"; };
-		AC7955E606DBD4D60026F7BA /* TemplateAction.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TemplateAction.h; sourceTree = "<group>"; };
-		AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TrackTitle.cpp; sourceTree = "<group>"; };
-		AC7955E806DBD4D60026F7BA /* TrackTitle.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TrackTitle.h; sourceTree = "<group>"; };
-		AC7F531B07255239004BE280 /* OptionsDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OptionsDialog.h; sourceTree = "<group>"; };
-		AC7F531C07255239004BE280 /* OptionsDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = OptionsDialog.cpp; sourceTree = "<group>"; };
-		AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTimeline.cpp; path = ../source/Tools/Timing/VisualTimeline.cpp; sourceTree = SOURCE_ROOT; };
-		AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTimeline.h; path = ../source/Tools/Timing/VisualTimeline.h; sourceTree = SOURCE_ROOT; };
-		AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualTiming.cpp; path = ../source/Tools/Timing/VisualTiming.cpp; sourceTree = SOURCE_ROOT; };
-		AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualTiming.h; path = ../source/Tools/Timing/VisualTiming.h; sourceTree = SOURCE_ROOT; };
-		AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualErrorHandling.cpp; path = ../source/Tools/VisualErrorHandling.cpp; sourceTree = SOURCE_ROOT; };
-		AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualItemIdentifier.h; path = ../source/Tools/VisualItemIdentifier.h; sourceTree = SOURCE_ROOT; };
-		AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualItemIdentifier.cpp; path = ../source/Tools/VisualItemIdentifier.cpp; sourceTree = SOURCE_ROOT; };
-		ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualPlayerState.h; path = ../source/VisualPlayerState.h; sourceTree = SOURCE_ROOT; };
-		ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualPlayerState.cpp; path = ../source/VisualPlayerState.cpp; sourceTree = SOURCE_ROOT; };
-		ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualActorState.cpp; path = ../source/VisualActorState.cpp; sourceTree = SOURCE_ROOT; };
-		ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = BeatlightActor.cpp; sourceTree = "<group>"; };
-		ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = BeatlightActor.h; sourceTree = "<group>"; };
-		ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = CoverArtActor.cpp; sourceTree = "<group>"; };
-		ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = CoverArtActor.h; sourceTree = "<group>"; };
-		ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = ProcessMonitorActor.cpp; sourceTree = "<group>"; };
-		ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = ProcessMonitorActor.h; sourceTree = "<group>"; };
-		ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateActor.cpp; sourceTree = "<group>"; };
-		ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TemplateActor.h; sourceTree = "<group>"; };
-		ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = TrackTitleActor.cpp; sourceTree = "<group>"; };
-		ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = TrackTitleActor.h; sourceTree = "<group>"; };
-		ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualAudioLab.cpp; sourceTree = "<group>"; };
-		ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualAudioLab.h; sourceTree = "<group>"; };
-		ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.c; path = iTunesAPI.c; sourceTree = "<group>"; };
-		ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = iTunesAPI.h; sourceTree = "<group>"; };
-		ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = iTunesVisualAPI.h; sourceTree = "<group>"; };
-		ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualColorTools.cpp; sourceTree = "<group>"; };
-		ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualColorTools.h; sourceTree = "<group>"; };
-		ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualErrorHandling.h; sourceTree = "<group>"; };
-		ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualActor.cpp; path = ../VisualActor.cpp; sourceTree = "<group>"; };
-		ACE0DF4206DBCE730018E8C0 /* VisualActor.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualActor.h; path = ../VisualActor.h; sourceTree = "<group>"; };
-		ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualDataStore.cpp; sourceTree = "<group>"; };
-		ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualDataStore.h; sourceTree = "<group>"; };
-		ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualDispatch.cpp; sourceTree = "<group>"; };
-		ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualDispatch.h; sourceTree = "<group>"; };
-		ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualEnsemble.cpp; sourceTree = "<group>"; };
-		ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualEnsemble.h; sourceTree = "<group>"; };
-		ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualGraphics.cpp; sourceTree = "<group>"; };
-		ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualGraphics.h; sourceTree = "<group>"; };
-		ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualMain.cpp; sourceTree = "<group>"; };
-		ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualMain.h; sourceTree = "<group>"; };
-		ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; path = VisualStageControl.cpp; sourceTree = "<group>"; };
-		ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; path = VisualStageControl.h; sourceTree = "<group>"; };
-		ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */ = {isa = PBXFileReference; lastKnownFileType = file; name = DEVROYE_.otf; path = "../resources/Devroye/Devroye Open Type/DEVROYE_.otf"; sourceTree = "<group>"; };
-		ACE0DFAE06DBD1190018E8C0 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
-		ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
-		ACE0DFB106DBD1190018E8C0 /* GLUT.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLUT.framework; path = /System/Library/Frameworks/GLUT.framework; sourceTree = "<absolute>"; };
-		ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
-		ACE0DFB306DBD1190018E8C0 /* QuickTime.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickTime.framework; path = /System/Library/Frameworks/QuickTime.framework; sourceTree = "<absolute>"; };
-		ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAnimation.cpp; path = ../source/Tools/Timing/VisualAnimation.cpp; sourceTree = SOURCE_ROOT; };
-		ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAnimation.h; path = ../source/Tools/Timing/VisualAnimation.h; sourceTree = SOURCE_ROOT; };
-		ACE80D2B0BB84B960004DC20 /* VisualSignature.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualSignature.h; path = ../source/VisualSignature.h; sourceTree = SOURCE_ROOT; };
-		ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualSignature.cpp; path = ../source/VisualSignature.cpp; sourceTree = SOURCE_ROOT; };
-		ACE8243E0B88AE9400E9028B /* VisualFile.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualFile.h; path = ../source/VisualFile.h; sourceTree = SOURCE_ROOT; };
-		ACE8243F0B88AE9400E9028B /* VisualFile.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualFile.cpp; path = ../source/VisualFile.cpp; sourceTree = SOURCE_ROOT; };
-		ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualStringStyle.cpp; path = ../source/Tools/VisualStringStyle.cpp; sourceTree = SOURCE_ROOT; };
-		ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualConvolutionFilter.cpp; path = ../source/VisualConvolutionFilter.cpp; sourceTree = SOURCE_ROOT; };
-		ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualConvolutionFilter.h; path = ../source/VisualConvolutionFilter.h; sourceTree = SOURCE_ROOT; };
-		ACF08A4D0B5232130031A029 /* VisualQuickTime.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualQuickTime.cpp; path = ../source/Tools/VisualQuickTime.cpp; sourceTree = SOURCE_ROOT; };
-		ACF08A4E0B5232130031A029 /* VisualQuickTime.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualQuickTime.h; path = ../source/Tools/VisualQuickTime.h; sourceTree = SOURCE_ROOT; };
-		ACF08A530B5232490031A029 /* VisualAppleScript.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualAppleScript.cpp; path = ../source/mac/VisualAppleScript.cpp; sourceTree = SOURCE_ROOT; };
-		ACF08A540B5232490031A029 /* VisualAppleScript.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualAppleScript.h; path = ../source/mac/VisualAppleScript.h; sourceTree = SOURCE_ROOT; };
-		ACF08A570B52326E0031A029 /* getLyrics.applescript */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.applescript; name = getLyrics.applescript; path = ../source/mac/getLyrics.applescript; sourceTree = SOURCE_ROOT; };
-		E41E1F2C0A6BCBD1004565CB /* VisualString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VisualString.h; sourceTree = "<group>"; };
-		E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VisualString.cpp; sourceTree = "<group>"; };
-		E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TrackLyricsActor.cpp; path = ../source/Actors/TrackLyricsActor.cpp; sourceTree = SOURCE_ROOT; };
-		E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackLyricsActor.h; path = ../source/Actors/TrackLyricsActor.h; sourceTree = SOURCE_ROOT; };
-		E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = TrackLyrics.cpp; path = ../source/Actions/TrackLyrics.cpp; sourceTree = SOURCE_ROOT; };
-		E428E9F50A4EBB170018F704 /* TrackLyrics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = TrackLyrics.h; path = ../source/Actions/TrackLyrics.h; sourceTree = SOURCE_ROOT; };
-		E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.cpp.cpp; name = VisualConfigurationDialog.cpp; path = ../source/VisualConfigurationDialog.cpp; sourceTree = SOURCE_ROOT; };
-		E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */ = {isa = PBXFileReference; fileEncoding = 12; lastKnownFileType = sourcecode.c.h; name = VisualConfigurationDialog.h; path = ../source/VisualConfigurationDialog.h; sourceTree = SOURCE_ROOT; };
-		E4D6CC600B9F3A530004750D /* spot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = spot.png; path = ../resources/spot.png; sourceTree = SOURCE_ROOT; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				8D01CCCE0486CAD60068D4B7 /* Carbon.framework in Frameworks */,
-				ACE0DFB406DBD1190018E8C0 /* AGL.framework in Frameworks */,
-				ACE0DFB506DBD1190018E8C0 /* Cocoa.framework in Frameworks */,
-				ACE0DFB706DBD1190018E8C0 /* GLUT.framework in Frameworks */,
-				ACE0DFB806DBD1190018E8C0 /* OpenGL.framework in Frameworks */,
-				ACE0DFB906DBD1190018E8C0 /* QuickTime.framework in Frameworks */,
-				AC243BFD07D524B4006D245A /* CoreFoundation.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		089C166AFE841209C02AAC07 /* VizKit */ = {
-			isa = PBXGroup;
-			children = (
-				ACE0DF1406DBCE730018E8C0 /* Sources */,
-				089C167CFE841241C02AAC07 /* Resources */,
-				089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
-				19C28FB4FE9D528D11CA2CBB /* Products */,
-			);
-			name = VizKit;
-			sourceTree = "<group>";
-		};
-		089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
-			isa = PBXGroup;
-			children = (
-				AC243BFC07D524B4006D245A /* CoreFoundation.framework */,
-				08EA7FFBFE8413EDC02AAC07 /* Carbon.framework */,
-				ACE0DFAF06DBD1190018E8C0 /* Cocoa.framework */,
-				ACE0DFB206DBD1190018E8C0 /* OpenGL.framework */,
-				ACE0DFAE06DBD1190018E8C0 /* AGL.framework */,
-				ACE0DFB106DBD1190018E8C0 /* GLUT.framework */,
-				ACE0DFB306DBD1190018E8C0 /* QuickTime.framework */,
-			);
-			name = "External Frameworks and Libraries";
-			sourceTree = "<group>";
-		};
-		089C167CFE841241C02AAC07 /* Resources */ = {
-			isa = PBXGroup;
-			children = (
-				4288C456075A22CF003C29C8 /* VisualOptions.nib */,
-				8D01CCD10486CAD60068D4B7 /* Info.plist */,
-				ACE0DF9F06DBD0A00018E8C0 /* DEVROYE_.otf */,
-				E4D6CC600B9F3A530004750D /* spot.png */,
-			);
-			name = Resources;
-			path = ../resources;
-			sourceTree = SOURCE_ROOT;
-		};
-		19C28FB4FE9D528D11CA2CBB /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				8D01CCD20486CAD60068D4B7 /* VizKit.bundle */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		AC1F9C6708A1652E00F92F64 /* Graphics */ = {
-			isa = PBXGroup;
-			children = (
-				AC503EBE089C2176008CD23F /* VisualGraphicTypes.h */,
-				AC16F682089EBDDD00C8BC79 /* VisualGraphicTypes.cpp */,
-				AC0D104E08A0117500EE4F2C /* VisualGraphicsCore.h */,
-				AC0D104F08A0117500EE4F2C /* VisualGraphicsCore.cpp */,
-				ACE0DF4C06DBCE730018E8C0 /* VisualGraphics.h */,
-				ACE0DF4B06DBCE730018E8C0 /* VisualGraphics.cpp */,
-				AC503DCA089C1384008CD23F /* VisualActorGraphics.h */,
-				AC503DCB089C1384008CD23F /* VisualActorGraphics.cpp */,
-				AC214FF409FD694000B24379 /* VisualAsset.h */,
-				AC214FF309FD694000B24379 /* VisualAsset.cpp */,
-				AC3920600B59705600FEC228 /* VisualImage.h */,
-				AC39205F0B59705600FEC228 /* VisualImage.cpp */,
-				AC214FFC09FD694000B24379 /* VisualTextureContainer.h */,
-				AC214FFB09FD694000B24379 /* VisualTextureContainer.cpp */,
-				AC214FFA09FD694000B24379 /* VisualStagePosition.h */,
-				AC214FF909FD694000B24379 /* VisualStagePosition.cpp */,
-				AC214FF809FD694000B24379 /* VisualStageBox.h */,
-				AC214FF709FD694000B24379 /* VisualStageBox.cpp */,
-				AC214FF609FD694000B24379 /* VisualNurbs.h */,
-				AC214FF509FD694000B24379 /* VisualNurbs.cpp */,
-				ACF08A480B5231CA0031A029 /* VisualConvolutionFilter.h */,
-				ACF08A470B5231CA0031A029 /* VisualConvolutionFilter.cpp */,
-			);
-			name = Graphics;
-			sourceTree = "<group>";
-		};
-		AC1F9C6808A1653A00F92F64 /* Messaging */ = {
-			isa = PBXGroup;
-			children = (
-				ACD0431F0942FED900A0CB1D /* VisualPlayerState.h */,
-				ACD043200942FEDA00A0CB1D /* VisualPlayerState.cpp */,
-				AC5B29FC0941E73A0040AE4E /* VisualActorState.h */,
-				ACDAA93F098FFD900067AA4A /* VisualActorState.cpp */,
-				ACE0DF4806DBCE730018E8C0 /* VisualDispatch.h */,
-				ACE0DF4706DBCE730018E8C0 /* VisualDispatch.cpp */,
-				AC29E5E40BAC6FB000206180 /* VisualNotificationKey.h */,
-				AC04E6B407ED8FD000F4479D /* VisualNotification.h */,
-				AC04E6B507ED8FD000F4479D /* VisualNotification.cpp */,
-				AC48DDB10B87123A0003AF42 /* VisualNotificationQueue.h */,
-				AC48DDB20B87123A0003AF42 /* VisualNotificationQueue.cpp */,
-				AC1FB8800BB8F29D001C1810 /* VisualHostCommunication.h */,
-				AC1FB8810BB8F29D001C1810 /* VisualHostCommunication.cpp */,
-			);
-			name = Messaging;
-			sourceTree = "<group>";
-		};
-		AC1F9C7708A167E700F92F64 /* Main */ = {
-			isa = PBXGroup;
-			children = (
-				ACE80D2B0BB84B960004DC20 /* VisualSignature.h */,
-				ACE80D2C0BB84B960004DC20 /* VisualSignature.cpp */,
-				ACE0DF4E06DBCE730018E8C0 /* VisualMain.h */,
-				ACE0DF4D06DBCE730018E8C0 /* VisualMain.cpp */,
-				ACE0DF4606DBCE730018E8C0 /* VisualDataStore.h */,
-				ACE0DF4506DBCE730018E8C0 /* VisualDataStore.cpp */,
-				42986572080806B20045411A /* VisualConfiguration.h */,
-				42986571080806B20045411A /* VisualConfiguration.cpp */,
-				E4CF4CC40BDBC199007147F6 /* VisualConfigurationDialog.h */,
-				E4CF4CC30BDBC199007147F6 /* VisualConfigurationDialog.cpp */,
-			);
-			name = Main;
-			sourceTree = "<group>";
-		};
-		AC1F9C7808A1684600F92F64 /* Interface */ = {
-			isa = PBXGroup;
-			children = (
-				ACE0DF4206DBCE730018E8C0 /* VisualActor.h */,
-				ACE0DF4106DBCE730018E8C0 /* VisualActor.cpp */,
-			);
-			name = Interface;
-			sourceTree = "<group>";
-		};
-		AC1F9C7B08A1688200F92F64 /* Ensemble */ = {
-			isa = PBXGroup;
-			children = (
-				ACE0DF5006DBCE730018E8C0 /* VisualStageControl.h */,
-				ACE0DF4F06DBCE730018E8C0 /* VisualStageControl.cpp */,
-				ACE0DF4A06DBCE730018E8C0 /* VisualEnsemble.h */,
-				ACE0DF4906DBCE730018E8C0 /* VisualEnsemble.cpp */,
-			);
-			name = Ensemble;
-			sourceTree = "<group>";
-		};
-		AC214F6709FD64E200B24379 /* Timing */ = {
-			isa = PBXGroup;
-			children = (
-				AC8E20ED0A0944B6000ABA6D /* VisualTimeline.h */,
-				AC8E20EC0A0944B6000ABA6D /* VisualTimeline.cpp */,
-				ACE30FA80ACE686800EC56B7 /* VisualAnimation.h */,
-				ACE30FA70ACE686800EC56B7 /* VisualAnimation.cpp */,
-				AC8E20EF0A0944B6000ABA6D /* VisualTiming.h */,
-				AC8E20EE0A0944B6000ABA6D /* VisualTiming.cpp */,
-			);
-			name = Timing;
-			sourceTree = "<group>";
-		};
-		AC7955DE06DBD4D60026F7BA /* Action */ = {
-			isa = PBXGroup;
-			children = (
-				AC7955E006DBD4D60026F7BA /* Beatlight.h */,
-				AC7955DF06DBD4D60026F7BA /* Beatlight.cpp */,
-				AC7955E206DBD4D60026F7BA /* CoverArt.h */,
-				AC7955E106DBD4D60026F7BA /* CoverArt.cpp */,
-				AC7955E406DBD4D60026F7BA /* ProcessMonitor.h */,
-				AC7955E306DBD4D60026F7BA /* ProcessMonitor.cpp */,
-				AC7955E606DBD4D60026F7BA /* TemplateAction.h */,
-				AC7955E506DBD4D60026F7BA /* TemplateAction.cpp */,
-				AC7955E806DBD4D60026F7BA /* TrackTitle.h */,
-				AC7955E706DBD4D60026F7BA /* TrackTitle.cpp */,
-				E428E9F50A4EBB170018F704 /* TrackLyrics.h */,
-				E428E9F40A4EBB170018F704 /* TrackLyrics.cpp */,
-			);
-			name = Action;
-			path = ../Actions;
-			sourceTree = "<group>";
-		};
-		ACE0DF1406DBCE730018E8C0 /* Sources */ = {
-			isa = PBXGroup;
-			children = (
-				ACE0DF3006DBCE730018E8C0 /* iTunes Visualizer API */,
-				AC1F9C7708A167E700F92F64 /* Main */,
-				AC1F9C7B08A1688200F92F64 /* Ensemble */,
-				ACE0DF2006DBCE730018E8C0 /* Actor */,
-				AC1F9C6808A1653A00F92F64 /* Messaging */,
-				AC1F9C6708A1652E00F92F64 /* Graphics */,
-				ACE0DF2B06DBCE730018E8C0 /* AudioLab */,
-				ACE0DF3A06DBCE730018E8C0 /* Tools */,
-				ACE0DF3406DBCE730018E8C0 /* mac */,
-				ACE0DF9606DBCFB70018E8C0 /* Precompiled Header */,
-			);
-			name = Sources;
-			path = ../source;
-			sourceTree = SOURCE_ROOT;
-		};
-		ACE0DF2006DBCE730018E8C0 /* Actor */ = {
-			isa = PBXGroup;
-			children = (
-				AC1F9C7808A1684600F92F64 /* Interface */,
-				AC7955DE06DBD4D60026F7BA /* Action */,
-				ACE0DF2206DBCE730018E8C0 /* BeatlightActor.h */,
-				ACE0DF2106DBCE730018E8C0 /* BeatlightActor.cpp */,
-				ACE0DF2406DBCE730018E8C0 /* CoverArtActor.h */,
-				ACE0DF2306DBCE730018E8C0 /* CoverArtActor.cpp */,
-				ACE0DF2606DBCE730018E8C0 /* ProcessMonitorActor.h */,
-				ACE0DF2506DBCE730018E8C0 /* ProcessMonitorActor.cpp */,
-				ACE0DF2806DBCE730018E8C0 /* TemplateActor.h */,
-				ACE0DF2706DBCE730018E8C0 /* TemplateActor.cpp */,
-				ACE0DF2A06DBCE730018E8C0 /* TrackTitleActor.h */,
-				ACE0DF2906DBCE730018E8C0 /* TrackTitleActor.cpp */,
-				E428E9F10A4EBB010018F704 /* TrackLyricsActor.h */,
-				E428E9F00A4EBB010018F704 /* TrackLyricsActor.cpp */,
-			);
-			name = Actor;
-			path = Actors;
-			sourceTree = "<group>";
-		};
-		ACE0DF2B06DBCE730018E8C0 /* AudioLab */ = {
-			isa = PBXGroup;
-			children = (
-				AC2E84960A6CEB9F005DFF74 /* VisualAudioMetaData.h */,
-				AC2E84970A6CEB9F005DFF74 /* VisualAudioMetaData.cpp */,
-				ACE0DF2D06DBCE730018E8C0 /* VisualAudioLab.h */,
-				ACE0DF2C06DBCE730018E8C0 /* VisualAudioLab.cpp */,
-			);
-			path = AudioLab;
-			sourceTree = "<group>";
-		};
-		ACE0DF3006DBCE730018E8C0 /* iTunes Visualizer API */ = {
-			isa = PBXGroup;
-			children = (
-				ACE0DF3306DBCE730018E8C0 /* iTunesVisualAPI.h */,
-				ACE0DF3206DBCE730018E8C0 /* iTunesAPI.h */,
-				ACE0DF3106DBCE730018E8C0 /* iTunesAPI.c */,
-			);
-			name = "iTunes Visualizer API";
-			path = iTunesVisualAPI;
-			sourceTree = "<group>";
-		};
-		ACE0DF3406DBCE730018E8C0 /* mac */ = {
-			isa = PBXGroup;
-			children = (
-				ACF08A570B52326E0031A029 /* getLyrics.applescript */,
-				AC21508B09FD705000B24379 /* CocoaStringTexture.h */,
-				AC21508A09FD705000B24379 /* CocoaStringTexture.m */,
-				AC7F531B07255239004BE280 /* OptionsDialog.h */,
-				AC7F531C07255239004BE280 /* OptionsDialog.cpp */,
-				ACF08A540B5232490031A029 /* VisualAppleScript.h */,
-				ACF08A530B5232490031A029 /* VisualAppleScript.cpp */,
-			);
-			path = mac;
-			sourceTree = "<group>";
-		};
-		ACE0DF3A06DBCE730018E8C0 /* Tools */ = {
-			isa = PBXGroup;
-			children = (
-				AC214F6709FD64E200B24379 /* Timing */,
-				ACE0DF3C06DBCE730018E8C0 /* VisualColorTools.h */,
-				ACE0DF3B06DBCE730018E8C0 /* VisualColorTools.cpp */,
-				ACE0DF3E06DBCE730018E8C0 /* VisualErrorHandling.h */,
-				AC92E7740A9EDAC200507DCF /* VisualErrorHandling.cpp */,
-				AC214F8009FD653700B24379 /* VisualInterpolation.h */,
-				AC214F7F09FD653700B24379 /* VisualInterpolation.cpp */,
-				AC9CA85C0A11C78C006299D4 /* VisualItemIdentifier.h */,
-				AC9CA85D0A11C78C006299D4 /* VisualItemIdentifier.cpp */,
-				AC38BF630BAE70B4002FD4A4 /* VisualStringStyle.h */,
-				ACE8D72E0BB27A8500BEBD44 /* VisualStringStyle.cpp */,
-				E41E1F2C0A6BCBD1004565CB /* VisualString.h */,
-				E41E1F2D0A6BCBD1004565CB /* VisualString.cpp */,
-				ACE8243E0B88AE9400E9028B /* VisualFile.h */,
-				ACE8243F0B88AE9400E9028B /* VisualFile.cpp */,
-				AC0D4EEF0A3BF91F00C3101B /* VisualThreading.h */,
-				AC0D4EF00A3BF91F00C3101B /* VisualThreading.cpp */,
-				ACF08A4E0B5232130031A029 /* VisualQuickTime.h */,
-				ACF08A4D0B5232130031A029 /* VisualQuickTime.cpp */,
-			);
-			path = Tools;
-			sourceTree = "<group>";
-		};
-		ACE0DF9606DBCFB70018E8C0 /* Precompiled Header */ = {
-			isa = PBXGroup;
-			children = (
-			);
-			name = "Precompiled Header";
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
-		8D01CCC70486CAD60068D4B7 /* Headers */ = {
-			isa = PBXHeadersBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				ACE0DF6006DBCE730018E8C0 /* BeatlightActor.h in Headers */,
-				ACE0DF6206DBCE730018E8C0 /* CoverArtActor.h in Headers */,
-				ACE0DF6406DBCE730018E8C0 /* ProcessMonitorActor.h in Headers */,
-				ACE0DF6606DBCE730018E8C0 /* TemplateActor.h in Headers */,
-				ACE0DF6806DBCE730018E8C0 /* TrackTitleActor.h in Headers */,
-				ACE0DF6A06DBCE730018E8C0 /* VisualAudioLab.h in Headers */,
-				ACE0DF6E06DBCE730018E8C0 /* iTunesAPI.h in Headers */,
-				ACE0DF6F06DBCE730018E8C0 /* iTunesVisualAPI.h in Headers */,
-				ACE0DF7606DBCE730018E8C0 /* VisualColorTools.h in Headers */,
-				ACE0DF7806DBCE730018E8C0 /* VisualErrorHandling.h in Headers */,
-				ACE0DF7C06DBCE730018E8C0 /* VisualActor.h in Headers */,
-				ACE0DF8006DBCE730018E8C0 /* VisualDataStore.h in Headers */,
-				ACE0DF8206DBCE730018E8C0 /* VisualDispatch.h in Headers */,
-				ACE0DF8406DBCE730018E8C0 /* VisualEnsemble.h in Headers */,
-				ACE0DF8606DBCE730018E8C0 /* VisualGraphics.h in Headers */,
-				ACE0DF8806DBCE730018E8C0 /* VisualMain.h in Headers */,
-				ACE0DF8A06DBCE730018E8C0 /* VisualStageControl.h in Headers */,
-				AC7955EA06DBD4D60026F7BA /* Beatlight.h in Headers */,
-				AC7955EC06DBD4D60026F7BA /* CoverArt.h in Headers */,
-				AC7955EE06DBD4D60026F7BA /* ProcessMonitor.h in Headers */,
-				AC7955F006DBD4D60026F7BA /* TemplateAction.h in Headers */,
-				AC7955F206DBD4D60026F7BA /* TrackTitle.h in Headers */,
-				AC7F531D07255239004BE280 /* OptionsDialog.h in Headers */,
-				AC04E6B607ED8FD000F4479D /* VisualNotification.h in Headers */,
-				42986574080806B20045411A /* VisualConfiguration.h in Headers */,
-				AC503DCC089C1384008CD23F /* VisualActorGraphics.h in Headers */,
-				AC503EBF089C2176008CD23F /* VisualGraphicTypes.h in Headers */,
-				AC0D105008A0117500EE4F2C /* VisualGraphicsCore.h in Headers */,
-				AC5B29FD0941E73B0040AE4E /* VisualActorState.h in Headers */,
-				ACD043230942FEDA00A0CB1D /* VisualPlayerState.h in Headers */,
-				AC214F8209FD653700B24379 /* VisualInterpolation.h in Headers */,
-				AC214FFE09FD694000B24379 /* VisualAsset.h in Headers */,
-				AC21500009FD694000B24379 /* VisualNurbs.h in Headers */,
-				AC21500209FD694000B24379 /* VisualStageBox.h in Headers */,
-				AC21500409FD694000B24379 /* VisualStagePosition.h in Headers */,
-				AC21500609FD694000B24379 /* VisualTextureContainer.h in Headers */,
-				AC21508D09FD705100B24379 /* CocoaStringTexture.h in Headers */,
-				AC8E20F30A0944B6000ABA6D /* VisualTimeline.h in Headers */,
-				AC8E20F50A0944B6000ABA6D /* VisualTiming.h in Headers */,
-				AC9CA85E0A11C78C006299D4 /* VisualItemIdentifier.h in Headers */,
-				AC0D4EF10A3BF91F00C3101B /* VisualThreading.h in Headers */,
-				E428E9F30A4EBB010018F704 /* TrackLyricsActor.h in Headers */,
-				E428E9F70A4EBB170018F704 /* TrackLyrics.h in Headers */,
-				E41E1F2E0A6BCBD1004565CB /* VisualString.h in Headers */,
-				AC2E84980A6CEB9F005DFF74 /* VisualAudioMetaData.h in Headers */,
-				ACE30FAA0ACE686800EC56B7 /* VisualAnimation.h in Headers */,
-				ACF08A4A0B5231CA0031A029 /* VisualConvolutionFilter.h in Headers */,
-				ACF08A500B5232130031A029 /* VisualQuickTime.h in Headers */,
-				ACF08A560B5232490031A029 /* VisualAppleScript.h in Headers */,
-				AC3920620B59705600FEC228 /* VisualImage.h in Headers */,
-				AC48DDB30B87123A0003AF42 /* VisualNotificationQueue.h in Headers */,
-				ACE824400B88AE9400E9028B /* VisualFile.h in Headers */,
-				AC29E5E50BAC6FB000206180 /* VisualNotificationKey.h in Headers */,
-				AC38BF640BAE70B4002FD4A4 /* VisualStringStyle.h in Headers */,
-				ACE80D2D0BB84B960004DC20 /* VisualSignature.h in Headers */,
-				AC1FB8820BB8F29D001C1810 /* VisualHostCommunication.h in Headers */,
-				E4CF4CC80BDBC199007147F6 /* VisualConfigurationDialog.h in Headers */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
-		8D01CCC60486CAD60068D4B7 /* VizKit */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = AC51A928087DBF37009E663F /* Build configuration list for PBXNativeTarget "VizKit" */;
-			buildPhases = (
-				8D01CCC70486CAD60068D4B7 /* Headers */,
-				8D01CCC90486CAD60068D4B7 /* Resources */,
-				8D01CCCB0486CAD60068D4B7 /* Sources */,
-				8D01CCCD0486CAD60068D4B7 /* Frameworks */,
-				8D01CCCF0486CAD60068D4B7 /* Rez */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = VizKit;
-			productInstallPath = "$(HOME)/Library/Bundles";
-			productName = VizKit;
-			productReference = 8D01CCD20486CAD60068D4B7 /* VizKit.bundle */;
-			productType = "com.apple.product-type.bundle";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		089C1669FE841209C02AAC07 /* Project object */ = {
-			isa = PBXProject;
-			buildConfigurationList = AC51A92C087DBF37009E663F /* Build configuration list for PBXProject "VizKit" */;
-			hasScannedForEncodings = 1;
-			mainGroup = 089C166AFE841209C02AAC07 /* VizKit */;
-			projectDirPath = "";
-			targets = (
-				8D01CCC60486CAD60068D4B7 /* VizKit */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-		8D01CCC90486CAD60068D4B7 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				ACF08A620B5232D50031A029 /* getLyrics.applescript in Resources */,
-				ACE0DFA006DBD0A00018E8C0 /* DEVROYE_.otf in Resources */,
-				4288C457075A22CF003C29C8 /* VisualOptions.nib in Resources */,
-				E4D6CC610B9F3A530004750D /* spot.png in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXRezBuildPhase section */
-		8D01CCCF0486CAD60068D4B7 /* Rez */ = {
-			isa = PBXRezBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXRezBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		8D01CCCB0486CAD60068D4B7 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				ACE0DF5F06DBCE730018E8C0 /* BeatlightActor.cpp in Sources */,
-				ACE0DF6106DBCE730018E8C0 /* CoverArtActor.cpp in Sources */,
-				ACE0DF6306DBCE730018E8C0 /* ProcessMonitorActor.cpp in Sources */,
-				ACE0DF6506DBCE730018E8C0 /* TemplateActor.cpp in Sources */,
-				ACE0DF6706DBCE730018E8C0 /* TrackTitleActor.cpp in Sources */,
-				ACE0DF6906DBCE730018E8C0 /* VisualAudioLab.cpp in Sources */,
-				ACE0DF6D06DBCE730018E8C0 /* iTunesAPI.c in Sources */,
-				ACE0DF7506DBCE730018E8C0 /* VisualColorTools.cpp in Sources */,
-				ACE0DF7B06DBCE730018E8C0 /* VisualActor.cpp in Sources */,
-				ACE0DF7F06DBCE730018E8C0 /* VisualDataStore.cpp in Sources */,
-				ACE0DF8106DBCE730018E8C0 /* VisualDispatch.cpp in Sources */,
-				ACE0DF8306DBCE730018E8C0 /* VisualEnsemble.cpp in Sources */,
-				ACE0DF8506DBCE730018E8C0 /* VisualGraphics.cpp in Sources */,
-				ACE0DF8706DBCE730018E8C0 /* VisualMain.cpp in Sources */,
-				ACE0DF8906DBCE730018E8C0 /* VisualStageControl.cpp in Sources */,
-				AC7955E906DBD4D60026F7BA /* Beatlight.cpp in Sources */,
-				AC7955EB06DBD4D60026F7BA /* CoverArt.cpp in Sources */,
-				AC7955ED06DBD4D60026F7BA /* ProcessMonitor.cpp in Sources */,
-				AC7955EF06DBD4D60026F7BA /* TemplateAction.cpp in Sources */,
-				AC7955F106DBD4D60026F7BA /* TrackTitle.cpp in Sources */,
-				AC7F531E07255239004BE280 /* OptionsDialog.cpp in Sources */,
-				AC04E6B707ED8FD000F4479D /* VisualNotification.cpp in Sources */,
-				42986573080806B20045411A /* VisualConfiguration.cpp in Sources */,
-				AC503DCD089C1384008CD23F /* VisualActorGraphics.cpp in Sources */,
-				AC16F683089EBDDD00C8BC79 /* VisualGraphicTypes.cpp in Sources */,
-				AC0D105108A0117500EE4F2C /* VisualGraphicsCore.cpp in Sources */,
-				ACD043240942FEDA00A0CB1D /* VisualPlayerState.cpp in Sources */,
-				ACDAA940098FFD900067AA4A /* VisualActorState.cpp in Sources */,
-				AC214F8109FD653700B24379 /* VisualInterpolation.cpp in Sources */,
-				AC214FFD09FD694000B24379 /* VisualAsset.cpp in Sources */,
-				AC214FFF09FD694000B24379 /* VisualNurbs.cpp in Sources */,
-				AC21500109FD694000B24379 /* VisualStageBox.cpp in Sources */,
-				AC21500309FD694000B24379 /* VisualStagePosition.cpp in Sources */,
-				AC21500509FD694000B24379 /* VisualTextureContainer.cpp in Sources */,
-				AC21508C09FD705100B24379 /* CocoaStringTexture.m in Sources */,
-				AC8E20F20A0944B6000ABA6D /* VisualTimeline.cpp in Sources */,
-				AC8E20F40A0944B6000ABA6D /* VisualTiming.cpp in Sources */,
-				AC9CA85F0A11C78C006299D4 /* VisualItemIdentifier.cpp in Sources */,
-				AC0D4EF20A3BF91F00C3101B /* VisualThreading.cpp in Sources */,
-				E428E9F20A4EBB010018F704 /* TrackLyricsActor.cpp in Sources */,
-				E428E9F60A4EBB170018F704 /* TrackLyrics.cpp in Sources */,
-				E41E1F2F0A6BCBD1004565CB /* VisualString.cpp in Sources */,
-				AC2E84990A6CEB9F005DFF74 /* VisualAudioMetaData.cpp in Sources */,
-				AC92E7750A9EDAC200507DCF /* VisualErrorHandling.cpp in Sources */,
-				ACE30FA90ACE686800EC56B7 /* VisualAnimation.cpp in Sources */,
-				ACF08A490B5231CA0031A029 /* VisualConvolutionFilter.cpp in Sources */,
-				ACF08A4F0B5232130031A029 /* VisualQuickTime.cpp in Sources */,
-				ACF08A550B5232490031A029 /* VisualAppleScript.cpp in Sources */,
-				AC3920610B59705600FEC228 /* VisualImage.cpp in Sources */,
-				AC48DDB40B87123A0003AF42 /* VisualNotificationQueue.cpp in Sources */,
-				ACE824410B88AE9400E9028B /* VisualFile.cpp in Sources */,
-				ACE8D72F0BB27A8500BEBD44 /* VisualStringStyle.cpp in Sources */,
-				ACE80D2E0BB84B960004DC20 /* VisualSignature.cpp in Sources */,
-				AC1FB8830BB8F29D001C1810 /* VisualHostCommunication.cpp in Sources */,
-				E4CF4CC70BDBC199007147F6 /* VisualConfigurationDialog.cpp in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
-		AC51A929087DBF37009E663F /* Development */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = NO;
-				DEBUGGING_SYMBOLS = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_ENABLE_FIX_AND_CONTINUE = YES;
-				GCC_ENABLE_TRIGRAPHS = NO;
-				GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PRECOMPILE_PREFIX_HEADER = NO;
-				GCC_PREFIX_HEADER = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "TARGET_OS_MAC=1";
-				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
-				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
-				GCC_WARN_ABOUT_MISSING_PROTOTYPES = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES;
-				GCC_WARN_CHECK_SWITCH_STATEMENTS = YES;
-				GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
-				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
-				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
-				GCC_WARN_MISSING_PARENTHESES = YES;
-				GCC_WARN_NON_VIRTUAL_DESTRUCTOR = YES;
-				GCC_WARN_PEDANTIC = NO;
-				GCC_WARN_SHADOW = YES;
-				GCC_WARN_SIGN_COMPARE = YES;
-				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = NO;
-				GCC_WARN_UNKNOWN_PRAGMAS = YES;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_LABEL = YES;
-				GCC_WARN_UNUSED_PARAMETER = NO;
-				GCC_WARN_UNUSED_VALUE = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				GENERATE_PKGINFO_FILE = YES;
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = Info.plist;
-				INSTALL_PATH = "$(HOME)/Library/Bundles";
-				LIBRARY_SEARCH_PATHS = "";
-				LIBRARY_STYLE = Bundle;
-				OPTIMIZATION_CFLAGS = "-O0";
-				OTHER_CFLAGS = "";
-				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
-				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
-				PRODUCT_NAME = VizKit;
-				SECTORDER_FLAGS = "";
-				WARNING_CFLAGS = (
-					"-Wmost",
-					"-Wshorten-64-to-32",
-					"-Wno-four-char-constants",
-					"-Wno-unknown-pragmas",
-				);
-				WRAPPER_EXTENSION = bundle;
-				ZERO_LINK = YES;
-			};
-			name = Development;
-		};
-		AC51A92A087DBF37009E663F /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				COPY_PHASE_STRIP = YES;
-				FRAMEWORK_SEARCH_PATHS = "";
-				GCC_ENABLE_FIX_AND_CONTINUE = NO;
-				GCC_ENABLE_TRIGRAPHS = NO;
-				GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
-				GCC_PRECOMPILE_PREFIX_HEADER = NO;
-				GCC_PREFIX_HEADER = "";
-				GCC_PREPROCESSOR_DEFINITIONS = "TARGET_OS_MAC=1";
-				GCC_SYMBOLS_PRIVATE_EXTERN = YES;
-				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
-				GCC_WARN_ABOUT_MISSING_PROTOTYPES = NO;
-				GCC_WARN_FOUR_CHARACTER_CONSTANTS = NO;
-				GCC_WARN_UNKNOWN_PRAGMAS = NO;
-				GENERATE_PKGINFO_FILE = YES;
-				HEADER_SEARCH_PATHS = "";
-				INFOPLIST_FILE = Info.plist;
-				INSTALL_PATH = "$(HOME)/Library/Bundles";
-				LIBRARY_SEARCH_PATHS = "";
-				LIBRARY_STYLE = Bundle;
-				OTHER_CFLAGS = "";
-				OTHER_LDFLAGS = "";
-				OTHER_REZFLAGS = "";
-				PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR = NO;
-				PRODUCT_NAME = VizKit;
-				SECTORDER_FLAGS = "";
-				WARNING_CFLAGS = (
-					"-Wmost",
-					"-Wshorten-64-to-32",
-					"-Wno-four-char-constants",
-					"-Wno-unknown-pragmas",
-				);
-				WRAPPER_EXTENSION = bundle;
-				ZERO_LINK = NO;
-			};
-			name = Release;
-		};
-		AC51A92D087DBF37009E663F /* Development */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ARCHS = (
-					ppc,
-					i386,
-				);
-				GCC_CHAR_IS_UNSIGNED_CHAR = YES;
-				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
-				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
-				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
-				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
-				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
-				GCC_WARN_MISSING_PARENTHESES = YES;
-				GCC_WARN_PEDANTIC = NO;
-				GCC_WARN_SHADOW = YES;
-				GCC_WARN_SIGN_COMPARE = YES;
-				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.4;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
-				WARNING_CFLAGS = "";
-			};
-			name = Development;
-		};
-		AC51A92E087DBF37009E663F /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ARCHS = (
-					ppc,
-					i386,
-				);
-				GCC_CHAR_IS_UNSIGNED_CHAR = YES;
-				GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = NO;
-				GCC_WARN_ABOUT_MISSING_NEWLINE = YES;
-				GCC_WARN_EFFECTIVE_CPLUSPLUS_VIOLATIONS = NO;
-				GCC_WARN_HIDDEN_VIRTUAL_FUNCTIONS = YES;
-				GCC_WARN_INITIALIZER_NOT_FULLY_BRACKETED = YES;
-				GCC_WARN_MISSING_PARENTHESES = YES;
-				GCC_WARN_PEDANTIC = NO;
-				GCC_WARN_SHADOW = YES;
-				GCC_WARN_SIGN_COMPARE = YES;
-				GCC_WARN_TYPECHECK_CALLS_TO_PRINTF = YES;
-				MACOSX_DEPLOYMENT_TARGET = 10.4;
-				SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
-				WARNING_CFLAGS = "";
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		AC51A928087DBF37009E663F /* Build configuration list for PBXNativeTarget "VizKit" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				AC51A929087DBF37009E663F /* Development */,
-				AC51A92A087DBF37009E663F /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Development;
-		};
-		AC51A92C087DBF37009E663F /* Build configuration list for PBXProject "VizKit" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				AC51A92D087DBF37009E663F /* Development */,
-				AC51A92E087DBF37009E663F /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Development;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 089C1669FE841209C02AAC07 /* Project object */;
-}
diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf
deleted file mode 100644
index 5226f28..0000000
Binary files a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/DEVROYE_.otf and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg
deleted file mode 100644
index f3e8109..0000000
Binary files a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Character Set.jpg and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt
deleted file mode 100644
index 72791e3..0000000
--- a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Open Type details.txt	
+++ /dev/null
@@ -1,22 +0,0 @@
-Here are the details of the support given in the Devroye Open Type font:
-
--Scripts supported: Cyrillic, Greek, and Latin.
-
--Languages supported: Cyrillic, Greek, English, Bulgarian, Baltic, Czech, Danish, German, Spanish, Finnish, French, Croatian, Hungarian, Icelandic, Italian, Dutch, Norwegian, Polish, Romanian, Slovenian, Swedish, Turkish, and Vietnamese.
-
-- Extended Latin A and B glyphs are also included with this version for even wider linguistic support than mentioned above.   
-
-- The following OpenType features are supported within this version, for all the laguages and scripts listed above:
-1) Small Caps
-2) Caps to Small Caps
-3) Oldstyle Figures
-4) Standard Ligatures
-5) Discretionary Ligatures
-6) Historical Forms
-7) Stylistic Alternates
-8) Kerning
-9) Tabular Figures
-
-- DEVROYE_.OTF contains 711 glyphs, including the Euro in both the Euro and the Currency cells. A Euro symbol substitution for OsF combinations is also included in the Small Caps feature.
-
-- This font was designed and generated by Apostrophe. It is free for everyone to use personally or commercially, as long as it is not resold. If you have any questions about this, you should email apostrophe at apostrophiclab.com and ask.
\ No newline at end of file
diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf
deleted file mode 100644
index 2e02b54..0000000
Binary files a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye Open Type/Devroye Sample.pdf and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt b/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt
deleted file mode 100644
index 3fb71d6..0000000
--- a/src/projectM-iTunes-VizKit/resources/Devroye/Devroye readme.txt	
+++ /dev/null
@@ -1,10 +0,0 @@
-The fonts included in this package were made in celebration of the honorary doctorate Dr. Luc Devroye recently received in Belgium. Luc was born in Tienen, Belgium. He obtained a Ph.D. degree from the University of Texas in 1976, and since then has been a professor of Computer Science at McGill University in Montreal, Canada. He is also an associate member of the Department of Mathematics and Statistics there. Dr. Devroye is married and has 2 daughters.
-
-Luc's favourite pastime is the reason we are celebrating with him. Luc is a typography fan, if not THE typography fan. I emphasize this because Luc shares his passion with everyone who is interested, via his site, hosted on McGill University's servers. Luc's site, appropriately named 'On Snot and Fonts' is the proverbial starting point for anything type-related. It gets 12,000 hits a day, has not a single advertisement on it, and accommodates all levels of typographical curiosities. You can visit for yourself at:
-http://cgm.cs.mcgill.ca/~luc/fonts.html
-
-I have known Luc for several years now. I can without hesitation say that the man is my favourite Canadian. 
-
-If you like the fonts included here, pour yourself a glass of wine, lift it up in the air and say: "Here's to you, Luc!"
-
-'
diff --git a/src/projectM-iTunes-VizKit/resources/spot.png b/src/projectM-iTunes-VizKit/resources/spot.png
deleted file mode 100644
index c8eecdc..0000000
Binary files a/src/projectM-iTunes-VizKit/resources/spot.png and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp
deleted file mode 100644
index 35d125a..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.cpp
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: Beatlight.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "Beatlight.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-#include "VisualTiming.h"
-#include "VisualAudioLab.h"
-#include "VisualFile.h"
-#include "VisualString.h"
-#include "VisualImage.h"
-#include "VisualStageBox.h"
-#include "VisualConfiguration.h"
-
-
-
-using namespace VizKit;
-
-
-Beatlight::Beatlight() {
-	addSpotlightImage();
-}
-
-
-void Beatlight::prepareBeatlightShow() {
-}
-
-
-void Beatlight::showBeatlight() {
-
-	this->beatlightAsset.draw(kFrontVertexChain);
-	
-	/*
-    if (theVisualAudioLab->getBeatImpulse() == 1) {
-        ageLimit = maxLifetimeMilliSec;
-        //pTiming->clearMyTimeStore(timeStoreIndex);
-        VisualTiming::resetTimestamp("Beatlight");
-        timeToLive = ageLimit;
-    } else {
-        if ((ageLimit-elapsedMilliseconds) > 0) {
-            ageLimit -= elapsedMilliseconds;
-            timeToLive = ageLimit;
-        } else {
-            timeToLive = 0;
-        }
-    }
-	*/
-	
-}
-
-
-void Beatlight::finishBeatlightShow() {
-}
-
- 
-void Beatlight::addSpotlightImage() {
-
-	VisualImage spotlightImage;
-	spotlightImage.initWithResource(SPOTPNG);
-
-/*
-	VisualFile* inputFile = VisualFile::createWithUserDesktopDirectory();
-	VisualString inputFileName = VisualString("spot.png");
-	inputFile->appendFileName(inputFileName);
-	//spotlightImage.initWithFile(*inputFile);
-	spotlightImage.initWithContentsOfFile(*inputFile);
-	delete(inputFile);
-*/
-
-	//VisualString url("http://www.imagomat.de/images/coverversion/screen_mac.png");
-	//VisualImage* spotlightImage = VisualImage::createWithURL(url);
-	
-	if (!spotlightImage.isEmpty()) {
-		
-		this->beatlightAsset.setImage(spotlightImage);
-
-		VisualStageBox* beatlightAssetBox = this->beatlightAsset.getBox();
-		beatlightAssetBox->setContentPixelWidth(spotlightImage.getWidth());
-		beatlightAssetBox->setContentPixelHeight(spotlightImage.getHeight());
-
-/*
-		VisualFile outputFile;
-		outputFile.initWithUserDesktopDirectory();
-		VisualString aFileName = VisualString("vizKitBeatlightImage.png");
-		outputFile.appendFileName(aFileName);
-
-		OSStatus status = spotlightImage.writeToFile(outputFile);
-		if (status != noErr) {
-			printf("err %ld in Beatlight::addSpotlightImage()\n", status);
-		}
-*/
-
-		this->calcPositionOnScreen();
-
-		VisualAnimation pulsateAnimation(kAnimatedOpacity);
-		UInt32 durationInMilliseconds = 550;
-		pulsateAnimation.setDurationInMilliseconds(durationInMilliseconds);
-		pulsateAnimation.setLoopMode(kMirroredLoop, kInfiniteRepetition);
-		this->beatlightAsset.addAnimation(pulsateAnimation);
-
-	}
-	
-}
-
-
-void Beatlight::calcPositionOnScreen() {
-
-	VisualStagePosition beatlightAssetPosition = this->beatlightAsset.getPosition();
-
-	beatlightAssetPosition.reset();
-	
-	beatlightAssetPosition.horizontalAlignment = kRightAligned;
-	beatlightAssetPosition.verticalAlignment = kTopAligned;
-
-	beatlightAssetPosition.minMarginBottom = 5;
-	beatlightAssetPosition.minMarginBottomUnit = kPixel;
-
-	beatlightAssetPosition.minMarginTop = 20;
-	beatlightAssetPosition.minMarginTopUnit = kPixel;
-
-	beatlightAssetPosition.minMarginLeft = 5;
-	beatlightAssetPosition.minMarginLeftUnit = kPixel;
-
-	beatlightAssetPosition.minMarginRight = 20;
-	beatlightAssetPosition.minMarginRightUnit = kPixel;
-	
-	this->beatlightAsset.setPosition(beatlightAssetPosition);
-	
-	VisualStageBox* beatlightAssetBox = this->beatlightAsset.getBox();
-	beatlightAssetBox->update(); // VisualStageBox only updates automatically on value changed, after canvas reshape event we have to update manually (before calculating scaleFactor) 
-	beatlightAssetBox->setScalingBehaviour(kPreserveAspectRatio);
-	
-	this->beatlightAsset.generateVertexChain(kFrontVertexChain);
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h b/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h
deleted file mode 100644
index 8f57bd1..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/Beatlight.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: Beatlight.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef Beatlight_h
-#define Beatlight_h
-
-#include "VisualAsset.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Performs the action of the BeatlightActor.
-	 * The Beatlight shows a moving point indicating beat impulses.
-	 * Beat detection not implemented yet.
-	 */
-	class Beatlight {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		Beatlight();
-
-		/**
-		 * Prepares the Beatlight for the show.
-		 */
-		void prepareBeatlightShow(void);
-
-		/**
-		 * Shows the Beatlight.
-		 */
-		void showBeatlight(void);
-
-		/**
-		 * Finishes the Beatlight show.
-		 */
-		void finishBeatlightShow(void);
-
-		/**
-		 * Calculates the screen position of the beatlight.
-		 */
-		void calcPositionOnScreen(void);
-		
-	private:
-
-		/**
-		 * Adds the resource spotlight image to Beatlight's private asset.
-		 */	
-		void addSpotlightImage(void);
-
-		/**
-		 * Beatlight's private asset.
-		 */	
-		VisualAsset beatlightAsset;
-
-	};
-
-}
-
-#endif /* Beatlight_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp
deleted file mode 100644
index cff5700..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CoverArt.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "CoverArt.h"
-#include "VisualConfiguration.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-#include "VisualImage.h"
-#include "VisualStageBox.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualAnimation.h"
-#include "VisualTimeline.h"
-#include "VisualConvolutionFilter.h"
-#include "VisualFile.h"
-#include "VisualString.h"
-
-
-
-using namespace VizKit;
-
-
-CoverArt::CoverArt() {
-	coverArtAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
-
-
-CoverArt::~CoverArt() {
-	// null
-}
-
-
-void CoverArt::prepareCoverAction() {
-	VisualActorGraphics::prepareCoverArtAction();
-}
-
-
-void CoverArt::showCover() {
-	this->coverArtAsset.draw(kFrontVertexChain);
-}
-
-
-void CoverArt::finishCoverAction() {
-	VisualActorGraphics::finishCoverArtAction();
-}
-
-
-void CoverArt::makeImageOfCover() {
-	if (VisualDataStore::getNumberOfCoverArtworksOfCurrentTrack() > 0) {
-
-		VisualImage* coverArtImage = VisualActorGraphics::createCoverArtImage();
-
-/*
-		VisualImage* coverArtImage = new VisualImage;
-		VisualFile* inputFile = VisualFile::createWithUserDesktopDirectory();
-		VisualString inputFileName = VisualString("spot.png");
-		inputFile->appendFileName(inputFileName);
-		coverArtImage->initWithFile(*inputFile);
-		delete(inputFile);
-*/
-		
-		//VisualString url("http://www.imagomat.de/images/coverversion/screen_mac.png");
-		//VisualImage* coverArtImage = VisualImage::createWithURL(url);
-		
-		if (coverArtImage != NULL) {
-
-			//VisualConvolutionFilter aConvolutionFilter(VisualConvolutionFilter::kEmboss);
-			//coverArtImage->applyConvolutionFilter(aConvolutionFilter);
-
-/*
-			VisualFile outputFile;
-			outputFile.initWithUserDesktopDirectory();
-			VisualString aFileName = VisualString("vizKitCoverArtImage.png");
-			outputFile.appendFileName(aFileName);
-
-			OSStatus status = coverArtImage->writeToFile(outputFile);
-			if (status != noErr) {
-				printf("err %ld in CoverArt::makeImageOfCover()\n", status);
-			}
-*/
-
-			this->coverArtAsset.setImage(*coverArtImage);
-
-			VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox();
-			coverArtAssetBox->setContentPixelWidth(coverArtImage->getWidth());
-			coverArtAssetBox->setContentPixelHeight(coverArtImage->getHeight());
-			VisualActorGraphics::releaseCoverArtImage(&coverArtImage);
-		}
-	}
-}
-
-
-void CoverArt::calcPositionOnScreen() {
-
-	VisualActorGraphics::prepareCoverArtAction();
-
-	VisualStagePosition coverArtAssetPosition = this->coverArtAsset.getPosition();
-
-	coverArtAssetPosition.reset();
-	
-	coverArtAssetPosition.horizontalAlignment = kCenterAligned;
-	coverArtAssetPosition.verticalAlignment = kMiddleAligned;
-
-	coverArtAssetPosition.minMarginBottom = (double)VisualDataStore::getValueInt(VisualConfiguration::kTrackInfoTextureHeight) + 5.0;
-	coverArtAssetPosition.minMarginBottomUnit = kPixel;
-
-	coverArtAssetPosition.minMarginTop = 5;
-	coverArtAssetPosition.minMarginTopUnit = kPixel;
-
-	coverArtAssetPosition.minMarginLeft = 5;
-	coverArtAssetPosition.minMarginLeftUnit = kPixel;
-
-	coverArtAssetPosition.minMarginRight = 5;
-	coverArtAssetPosition.minMarginRightUnit = kPixel;
-	
-	this->coverArtAsset.setPosition(coverArtAssetPosition);
-	
-	VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox();
-	coverArtAssetBox->update(); // VisualStageBox only updates automatically on value changed, after canvas reshape event we have to update manually (before calculating scaleFactor) 
-	coverArtAssetBox->setScalingBehaviour(kPreserveAspectRatio);
-	
-	this->coverArtAsset.generateVertexChain(kFrontVertexChain);
-	
-	VisualActorGraphics::finishCoverArtAction();
-
-}
-
-
-void CoverArt::fadeIn(UInt32 durationInMilliseconds) {
-	VisualAnimation fadeInAnimation(kAnimatedOpacity);
-	fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	this->coverArtAsset.addAnimation(fadeInAnimation);
-}
-
-
-void CoverArt::fadeOut(UInt32 durationInMilliseconds, double clampValue) {
-	VisualAnimation fadeOutAnimation(kAnimatedOpacity);
-	fadeOutAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	fadeOutAnimation.setStartValue(1.0);
-	fadeOutAnimation.setEndValue(0.0);
-	if (clampValue > 0.0f) {
-		fadeOutAnimation.setMinClampValue(clampValue);
-	}
-	this->coverArtAsset.addAnimation(fadeOutAnimation, kContinueWithCurrentValueWithPossibleDelay);
-}
-
-
-void CoverArt::pulsate() {
-	VisualAnimation pulsateAnimation(kAnimatedOpacity);
-	UInt32 durationInMilliseconds = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnPauseInMS);
-	pulsateAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	pulsateAnimation.setLoopMode(kMirroredLoop, kInfiniteRepetition);
-	this->coverArtAsset.addAnimation(pulsateAnimation);
-}
-
-
-void CoverArt::rotate() {
-	VisualAnimation rotateAnimation(kAnimatedRotation);
-	UInt32 durationInMilliseconds = 9000;
-	rotateAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	rotateAnimation.setLoopMode(kLoop, kInfiniteRepetition);
-	this->coverArtAsset.addAnimation(rotateAnimation);
-}
-
-
-void CoverArt::scaleSize(UInt32 durationInMilliseconds, double from, double to) {
-	VisualAnimation sizeAnimation(kAnimatedSize);
-	sizeAnimation.setStartValue(from);
-	sizeAnimation.setEndValue(to);
-	sizeAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	this->coverArtAsset.addAnimation(sizeAnimation);
-}
-
-
-void CoverArt::clear() {
-
-	VisualStageBox* coverArtAssetBox = this->coverArtAsset.getBox();
-	
-	coverArtAssetBox->setContentPixelWidth(0);
-	coverArtAssetBox->setContentPixelHeight(0);
-
-	VisualStagePosition coverArtAssetPosition = this->coverArtAsset.getPosition();
-	coverArtAssetPosition.reset();
-	this->coverArtAsset.setPosition(coverArtAssetPosition);
-	
-	this->coverArtAsset.removeAnimations();
-	
-	this->coverArtAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h b/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h
deleted file mode 100644
index 132edd5..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/CoverArt.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CoverArt.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef CoverArt_h
-#define CoverArt_h
-
-#include "VisualAsset.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * The cover artwork image is displayed.
-	 * CoverArt performs the action of the CoverArtActor.
-	 */
-	class CoverArt {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		CoverArt();
-
-		/**
-		 * The destructor.
-		 */
-		~CoverArt();
-
-		/**
-		 * Prepares the action of the cover art.
-		 */	
-		void prepareCoverAction(void);
-
-		/**
-		 * Shows the cover art.
-		 */
-		void showCover();
-
-		/**
-		 * Finishes the action of the cover art.
-		 */	
-		void finishCoverAction(void);
-
-		/**
-		 * Creates an image of the cover art image data.
-		 */
-		void makeImageOfCover(void);
-
-		/**
-		 * Calculates the screen position of the cover art.
-		 */
-		void calcPositionOnScreen(void);
-
-		/**
-		 * Starts fading in the texture of the album cover artwork.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 */
-		void fadeIn(UInt32 durationInMilliseconds);
-
-		/**
-		 * Starts fading out the texture of the album cover artwork.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 * @param clampValue The clamp value of the fade out process (default = 0.0).
-		 */
-		void fadeOut(UInt32 durationInMilliseconds, double clampValue = 0.0);
-
-		/**
-		 * Starts pulsating the texture (fade in / fade out) of the album cover artwork.
-		 */
-		void pulsate(void);
-
-		/**
-		 * Starts rotating the texture of the album cover artwork.
-		 */
-		void rotate(void);
-
-		/**
-		 * Scales the cover art by multiplying with the provided scaleFactor.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 * @param from The start scale factor of the animation.
-		 * @param to The end scale factor of the animation.
-		 */
-		void scaleSize(UInt32 durationInMilliseconds, double from, double to);
-
-		/**
-		 * Clears the memory allocated for the album cover artwork.
-		 */
-		void clear(void);
-
-	private:
-
-		/** The asset of the cover art (contains texture and position, too). */
-		VisualAsset coverArtAsset;
-		
-		/** 
-		 * Returns the scale factor of the box.
-		 * @return The scale factor of the box.
-		 * @remarks The dimension of the stage box has to take into account the rotation and screen constraints.\ 
-		 * On front view the rotating bitmap should have the same dimensions on screen as in 2-D world but available canvas space must not be exceeded.
-		 */
-		//double getBoxScaleFactor(void);
-		
-	};
-
-}
-
-#endif /* CoverArt_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp
deleted file mode 100644
index 660aa00..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.cpp
+++ /dev/null
@@ -1,451 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: ProcessMonitor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "ProcessMonitor.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-#include "VisualAudioLab.h"
-
-
-
-using namespace VizKit;
-
-
-ProcessMonitor::ProcessMonitor() {
-	setupProgressMeterVertices();
-}
-
-
-ProcessMonitor::~ProcessMonitor() {
-    cleanupProgressMeterVertices();
-}
-
-
-void ProcessMonitor::prepareProcessMonitorShow() {
-	RGBAColor theColor;
-	theColor.r = 0.0f;
-	theColor.g = 1.0f;
-	theColor.b = 0.0f;
-	theColor.a = 1.0f;
-	VisualActorGraphics::prepareProcessMonitorShow(theColor);
-}
-
-
-void ProcessMonitor::showInfoStrings() {
-
-	ProcessInfoMapIterator it;
-
-    char finalTextString[255];
-    double yNum;
-    double xNum;
-	UInt8 charCountMax = 0; // in one line per column
-	double rowHeight, characterWidth;
-
-	rowHeight = VisualActorGraphics::getCanvasCoordHeight() * (15.0f / VisualActorGraphics::getCanvasPixelHeight());
-	characterWidth = VisualActorGraphics::getCanvasCoordWidth() * (9.0f / VisualActorGraphics::getCanvasPixelWidth());
-
-	xNum = VisualActorGraphics::getMaxLeftCoordOfCanvas() + characterWidth;
-	yNum = VisualActorGraphics::getMaxTopCoordOfCanvas();
-
-	for (it = this->processInfoMap.begin(); it != this->processInfoMap.end(); it++) {
-	
-		yNum = yNum - rowHeight;
-		if ((yNum - rowHeight) < VisualActorGraphics::getMaxBottomCoordOfCanvas()) {
-			// we reached the bottom -> go to next column to the right
-			yNum = VisualActorGraphics::getMaxTopCoordOfCanvas() - rowHeight;
-			xNum = xNum + characterWidth + (charCountMax * characterWidth);
-			charCountMax = 0;
-		}
-		strcpy (finalTextString, (*it).first.c_str());
-		strcat (finalTextString, ": ");
-		strcat (finalTextString, (*it).second.c_str());
-		if (strlen(finalTextString) > charCountMax) {
-			charCountMax = strlen(finalTextString);
-		}
-		VisualActorGraphics::showProcessInfoRow(xNum, yNum, finalTextString); // constant height of font
-		
-    }
-	
-	VisualActorGraphics::showProcessInfoNote();
-    
-}
-
-
-void ProcessMonitor::showAudioInfo(const UInt32 elapsedAudioTime, const UInt32 remainingAudioTime) {
-
-	VisualAudioLab* theVisualAudioLab;
-
-	UInt16 numberOfAudioDataChannels;
-	UInt32 numberOfSpectrumEntries;
-	UInt16 maxNumberOfMusicDataHistories;
-	const SInt8* waveformShapeArray;
-	UInt16 maxNumberOfWaveformShapeHistory;
-
-	const SInt16** waveformDataMonoArray;
-	SInt16 currMusicDataHistory;
-	UInt8 prevMusicDataHistory;
-	UInt32 numberOfWaveformEntries;
-
-	const UInt8*** spectrumDataArray;
-	const UInt32* beatHistogram;
-
-	theVisualAudioLab = VisualAudioLab::getInstance();
-
-	currMusicDataHistory = theVisualAudioLab->getCurrMusicDataHistory();
-	prevMusicDataHistory = theVisualAudioLab->getPrevMusicDataHistory();
-	numberOfWaveformEntries = theVisualAudioLab->getNumberOfWaveformEntries();
-	maxNumberOfMusicDataHistories = theVisualAudioLab->getMaxNumberOfMusicDataHistories();
-	waveformDataMonoArray = theVisualAudioLab->getWaveformDataMonoArray();
-
-	maxNumberOfWaveformShapeHistory = theVisualAudioLab->getMaxNumberOfWaveformShapeHistory();
-	waveformShapeArray = theVisualAudioLab->getWaveformShapeArray();
-	
-	numberOfAudioDataChannels = theVisualAudioLab->getNumberOfDataChannels();
-	numberOfSpectrumEntries = theVisualAudioLab->getNumberOfSpectrumEntries();
-	spectrumDataArray = theVisualAudioLab->getSpectrumDataArray();
-
-    VisualActorGraphics::drawWaveform(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfWaveformEntries, waveformDataMonoArray);
-	VisualActorGraphics::resetModelViewMatrix();
-
-	//theVisualGraphics->drawWaveform(currMusicDataHistory, 1, numberOfWaveformEntries, waveformDataMonoArray);
-	VisualActorGraphics::drawSpectrumAnalyzer(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfSpectrumEntries, numberOfAudioDataChannels, spectrumDataArray);
-	VisualActorGraphics::resetModelViewMatrix();
-	VisualActorGraphics::drawSpectrogram(currMusicDataHistory, maxNumberOfMusicDataHistories, numberOfSpectrumEntries, numberOfAudioDataChannels, spectrumDataArray);
-    VisualActorGraphics::resetModelViewMatrix();
-
-	//theVisualGraphics->drawWaveformShape(waveformShapeArray, maxNumberOfWaveformShapeHistory);
-	//theVisualGraphics->drawWaveformSpiral(currMusicDataHistory, numberOfWaveformEntries, waveformDataMonoArray);
-	beatHistogram = theVisualAudioLab->getBeatHistogram();
-	VisualActorGraphics::drawBeatHistogram(beatHistogram);
-	//VisualActorGraphics::drawTrackProgressMeter(elapsedAudioTime, remainingAudioTime);
-	
-	//this->updateProgressMeterVertices();
-	//printf("elapsedAudioTime: %ld, remainingAudioTime: %ld\n", elapsedAudioTime, remainingAudioTime);
-	this->calcTrackProgressMeterVertices(elapsedAudioTime, remainingAudioTime);
-	VisualActorGraphics::drawTrackProgressMeter(&this->progressMeterBackgroundVertices, &this->progressMeterVertices, &this->progressMeterOutlineVertices);
-    
-}
-
-
-void ProcessMonitor::registerProcessMonitorInfoMap(const std::map<std::string, std::string>* const processMonitorInfoMap) {
-	this->processInfoMap = *processMonitorInfoMap;
-}
-
-
-void ProcessMonitor::finishProcessMonitorShow() {
-	// null
-}
-
-
-void ProcessMonitor::updateProgressMeterVertices() {
-
-	double topPos, leftPos, bottomPos, rightPos, rightProgressPos;
-	
-	topPos = VisualActorGraphics::getMaxBottomCoordOfCanvas() + VisualActorGraphics::yPixelToCoord(10);
-	leftPos = VisualActorGraphics::getMaxLeftCoordOfCanvas();
-	bottomPos = VisualActorGraphics::getMaxBottomCoordOfCanvas();
-	rightPos = VisualActorGraphics::getMaxRightCoordOfCanvas();
-	rightProgressPos = VisualActorGraphics::getMaxLeftCoordOfCanvas();
-	RGBAColor backgroundColor = VisualActorGraphics::getBackgroundColor();
-	
-	progressMeterBackgroundVertices[0]->vertexPosition.xPos = leftPos;
-	progressMeterBackgroundVertices[0]->vertexPosition.yPos = bottomPos;
-	progressMeterBackgroundVertices[0]->vertexPosition.zPos = 0.0f;
-	progressMeterBackgroundVertices[0]->vertexColor.r = backgroundColor.r;
-	progressMeterBackgroundVertices[0]->vertexColor.g = backgroundColor.g;
-	progressMeterBackgroundVertices[0]->vertexColor.b = backgroundColor.b;
-	progressMeterBackgroundVertices[0]->vertexColor.a = backgroundColor.a;
-
-	progressMeterBackgroundVertices[1]->vertexPosition.xPos = rightPos;
-	progressMeterBackgroundVertices[1]->vertexPosition.yPos = bottomPos;
-	progressMeterBackgroundVertices[1]->vertexPosition.zPos = 0.0f;
-	progressMeterBackgroundVertices[1]->vertexColor.r = backgroundColor.r;
-	progressMeterBackgroundVertices[1]->vertexColor.g = backgroundColor.g;
-	progressMeterBackgroundVertices[1]->vertexColor.b = backgroundColor.b;
-	progressMeterBackgroundVertices[1]->vertexColor.a = backgroundColor.a;
-
-	progressMeterBackgroundVertices[2]->vertexPosition.xPos = rightPos;
-	progressMeterBackgroundVertices[2]->vertexPosition.yPos = topPos;
-	progressMeterBackgroundVertices[2]->vertexPosition.zPos = 0.0f;
-	progressMeterBackgroundVertices[2]->vertexColor.r = backgroundColor.r;
-	progressMeterBackgroundVertices[2]->vertexColor.g = backgroundColor.g;
-	progressMeterBackgroundVertices[2]->vertexColor.b = backgroundColor.b;
-	progressMeterBackgroundVertices[2]->vertexColor.a = backgroundColor.a;
-
-	progressMeterBackgroundVertices[3]->vertexPosition.xPos = leftPos;
-	progressMeterBackgroundVertices[3]->vertexPosition.yPos = topPos;
-	progressMeterBackgroundVertices[3]->vertexPosition.zPos = 0.0f;
-	progressMeterBackgroundVertices[3]->vertexColor.r = backgroundColor.r;
-	progressMeterBackgroundVertices[3]->vertexColor.g = backgroundColor.g;
-	progressMeterBackgroundVertices[3]->vertexColor.b = backgroundColor.b;
-	progressMeterBackgroundVertices[3]->vertexColor.a = backgroundColor.a;
-	
-	progressMeterVertices[0]->vertexPosition.xPos = leftPos;
-	progressMeterVertices[0]->vertexPosition.yPos = bottomPos;
-	progressMeterVertices[0]->vertexPosition.zPos = 0.0f;
-	progressMeterVertices[0]->vertexColor.r = 1.0f;
-	progressMeterVertices[0]->vertexColor.g = 1.0f;
-	progressMeterVertices[0]->vertexColor.b = 1.0f;
-	progressMeterVertices[0]->vertexColor.a = 1.0f;
-
-	progressMeterVertices[1]->vertexPosition.xPos = rightProgressPos;
-	progressMeterVertices[1]->vertexPosition.yPos = bottomPos;
-	progressMeterVertices[1]->vertexPosition.zPos = 0.0f;
-	progressMeterVertices[1]->vertexColor.r = 1.0f;
-	progressMeterVertices[1]->vertexColor.g = 1.0f;
-	progressMeterVertices[1]->vertexColor.b = 1.0f;
-	progressMeterVertices[1]->vertexColor.a = 1.0f;
-
-	progressMeterVertices[2]->vertexPosition.xPos = rightProgressPos;
-	progressMeterVertices[2]->vertexPosition.yPos = topPos;
-	progressMeterVertices[2]->vertexPosition.zPos = 0.0f;
-	progressMeterVertices[2]->vertexColor.r = 1.0f;
-	progressMeterVertices[2]->vertexColor.g = 1.0f;
-	progressMeterVertices[2]->vertexColor.b = 1.0f;
-	progressMeterVertices[2]->vertexColor.a = 1.0f;
-
-	progressMeterVertices[3]->vertexPosition.xPos = leftPos;
-	progressMeterVertices[3]->vertexPosition.yPos = topPos;
-	progressMeterVertices[3]->vertexPosition.zPos = 0.0f;
-	progressMeterVertices[3]->vertexColor.r = 1.0f;
-	progressMeterVertices[3]->vertexColor.g = 1.0f;
-	progressMeterVertices[3]->vertexColor.b = 1.0f;
-	progressMeterVertices[3]->vertexColor.a = 1.0f;
-
-	progressMeterOutlineVertices[0]->vertexPosition.xPos = leftPos;
-	progressMeterOutlineVertices[0]->vertexPosition.yPos = bottomPos;
-	progressMeterOutlineVertices[0]->vertexPosition.zPos = 0.0f;
-	progressMeterOutlineVertices[0]->vertexColor.r = 0.0f;
-	progressMeterOutlineVertices[0]->vertexColor.g = 0.0f;
-	progressMeterOutlineVertices[0]->vertexColor.b = 0.0f;
-	progressMeterOutlineVertices[0]->vertexColor.a = 1.0f;
-
-	progressMeterOutlineVertices[1]->vertexPosition.xPos = rightPos;
-	progressMeterOutlineVertices[1]->vertexPosition.yPos = bottomPos;
-	progressMeterOutlineVertices[1]->vertexPosition.zPos = 0.0f;
-	progressMeterOutlineVertices[1]->vertexColor.r = 0.0f;
-	progressMeterOutlineVertices[1]->vertexColor.g = 0.0f;
-	progressMeterOutlineVertices[1]->vertexColor.b = 0.0f;
-	progressMeterOutlineVertices[1]->vertexColor.a = 1.0f;
-
-	progressMeterOutlineVertices[2]->vertexPosition.xPos = rightPos;
-	progressMeterOutlineVertices[2]->vertexPosition.yPos = topPos;
-	progressMeterOutlineVertices[2]->vertexPosition.zPos = 0.0f;
-	progressMeterOutlineVertices[2]->vertexColor.r = 0.0f;
-	progressMeterOutlineVertices[2]->vertexColor.g = 0.0f;
-	progressMeterOutlineVertices[2]->vertexColor.b = 0.0f;
-	progressMeterOutlineVertices[2]->vertexColor.a = 1.0f;
-
-	progressMeterOutlineVertices[3]->vertexPosition.xPos = leftPos;
-	progressMeterOutlineVertices[3]->vertexPosition.yPos = topPos;
-	progressMeterOutlineVertices[3]->vertexPosition.zPos = 0.0f;
-	progressMeterOutlineVertices[3]->vertexColor.r = 0.0f;
-	progressMeterOutlineVertices[3]->vertexColor.g = 0.0f;
-	progressMeterOutlineVertices[3]->vertexColor.b = 0.0f;
-	progressMeterOutlineVertices[3]->vertexColor.a = 1.0f;
-}
-
-
-void ProcessMonitor::setupProgressMeterVertices() {
-
-	Vertex* aVertex;
-	double topPos;
-	double leftPos;
-	double bottomPos;
-	double rightPos;
-	double rightProgressPos;
-	RGBAColor backgroundColor;
-	
-	topPos = VisualActorGraphics::getMaxBottomCoordOfCanvas() + VisualActorGraphics::yPixelToCoord(10);
-	leftPos = VisualActorGraphics::getMaxLeftCoordOfCanvas();
-	bottomPos = VisualActorGraphics::getMaxBottomCoordOfCanvas();
-	rightPos = VisualActorGraphics::getMaxRightCoordOfCanvas();
-	rightProgressPos = VisualActorGraphics::getMaxLeftCoordOfCanvas();
-	backgroundColor = VisualActorGraphics::getBackgroundColor();
-	
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = backgroundColor.r;
-	aVertex->vertexColor.g = backgroundColor.g;
-	aVertex->vertexColor.b = backgroundColor.b;
-	aVertex->vertexColor.a = backgroundColor.a;
-	progressMeterBackgroundVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = backgroundColor.r;
-	aVertex->vertexColor.g = backgroundColor.g;
-	aVertex->vertexColor.b = backgroundColor.b;
-	aVertex->vertexColor.a = backgroundColor.a;
-	progressMeterBackgroundVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = backgroundColor.r;
-	aVertex->vertexColor.g = backgroundColor.g;
-	aVertex->vertexColor.b = backgroundColor.b;
-	aVertex->vertexColor.a = backgroundColor.a;
-	progressMeterBackgroundVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = backgroundColor.r;
-	aVertex->vertexColor.g = backgroundColor.g;
-	aVertex->vertexColor.b = backgroundColor.b;
-	aVertex->vertexColor.a = backgroundColor.a;
-	progressMeterBackgroundVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 1.0f;
-	aVertex->vertexColor.g = 1.0f;
-	aVertex->vertexColor.b = 1.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightProgressPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 1.0f;
-	aVertex->vertexColor.g = 1.0f;
-	aVertex->vertexColor.b = 1.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightProgressPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 1.0f;
-	aVertex->vertexColor.g = 1.0f;
-	aVertex->vertexColor.b = 1.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 1.0f;
-	aVertex->vertexColor.g = 1.0f;
-	aVertex->vertexColor.b = 1.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 0.0f;
-	aVertex->vertexColor.g = 0.0f;
-	aVertex->vertexColor.b = 0.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterOutlineVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightPos;
-	aVertex->vertexPosition.yPos = bottomPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 0.0f;
-	aVertex->vertexColor.g = 0.0f;
-	aVertex->vertexColor.b = 0.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterOutlineVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = rightPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 0.0f;
-	aVertex->vertexColor.g = 0.0f;
-	aVertex->vertexColor.b = 0.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterOutlineVertices.push_back(aVertex);
-
-	aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = leftPos;
-	aVertex->vertexPosition.yPos = topPos;
-	aVertex->vertexPosition.zPos = 0.0f;
-	aVertex->vertexColor.r = 0.0f;
-	aVertex->vertexColor.g = 0.0f;
-	aVertex->vertexColor.b = 0.0f;
-	aVertex->vertexColor.a = 1.0f;
-	progressMeterOutlineVertices.push_back(aVertex);
-
-}
-
-
-void ProcessMonitor::calcTrackProgressMeterVertices(const UInt32 elapsedAudioTime, const UInt32 remainingAudioTime) {
-	double rightProgressPos;
-	
-	rightProgressPos = VisualActorGraphics::getMaxLeftCoordOfCanvas() + ((VisualActorGraphics::getMaxRightCoordOfCanvas() - VisualActorGraphics::getMaxLeftCoordOfCanvas()) * ((float)elapsedAudioTime / (float)(remainingAudioTime + elapsedAudioTime)));
-
-	this->progressMeterVertices[1]->vertexPosition.xPos = rightProgressPos;
-	this->progressMeterVertices[2]->vertexPosition.xPos = rightProgressPos;
-
-}
-
-
-void ProcessMonitor::cleanupProgressMeterVertices() {
-	VertexChainIterator it;
-	for (it = progressMeterBackgroundVertices.begin(); it != progressMeterBackgroundVertices.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	progressMeterBackgroundVertices.clear();
-	
-	for (it = progressMeterVertices.begin(); it != progressMeterVertices.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	progressMeterVertices.clear();
-
-	for (it = progressMeterOutlineVertices.begin(); it != progressMeterOutlineVertices.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	progressMeterOutlineVertices.clear();
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h b/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h
deleted file mode 100644
index 2c354df..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/ProcessMonitor.h
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: ProcessMonitor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef ProcessMonitor_h
-#define ProcessMonitor_h
-
-#include "VisualGraphicTypes.h"
-
-#include <string>
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Shows some information on screen for diagnostical and monitoring purposes.
-	 * ProcessMonitor performs the action of the ProcessMonitorActor.
-	 */
-
-	class ProcessMonitor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */	
-		ProcessMonitor();
-		
-		/**
-		 * The destructor.
-		 */
-		~ProcessMonitor();
-
-		/**
-		 * Prepares the show of the ProcessMonitor.
-		 */
-		void prepareProcessMonitorShow(void);
-		
-		/**
-		 * Shows the info strings of the process monitor.
-		 */
-		void showInfoStrings(void);
-
-		/**
-		 * Shows diagnostic info about audio data (waveform and spectrum).
-		 * @param elapsedAudioTime The elapsed time of the current track in milliseconds. 0 if no time value is available.
-		 * @param remainingAudioTime The remaining time of the current track in milliseconds. 0 if no time value is available.
-		 */
-		void showAudioInfo(const UInt32 elapsedAudioTime, const UInt32 remainingAudioTime);
-
-		/**
-		 * The processMonitorInfoMap is registered.
-		 * @param processMonitorInfoMap All associative key-value-pairs of the process monitor info map.
-		 */
-		void registerProcessMonitorInfoMap(const std::map<std::string, std::string>* const processMonitorInfoMap);
-
-		/**
-		 * Finishes the ProcessMonitor.
-		 */
-		void finishProcessMonitorShow(void);
-
-		/**
-		 * Updates the vertices of the components of the trackProgressMeter (e.g.\ after a reshape of the canvas).
-		 */	
-		void updateProgressMeterVertices(void);
-		
-	private:
-
-		/**
-		 * Sets up the vertices of the components of the trackProgressMeter.
-		 */	
-		void setupProgressMeterVertices(void);
-		
-		/**
-		 * Calculates the vertices of the components of the trackProgressMeter.
-		 */
-		void calcTrackProgressMeterVertices(const UInt32 elapsedAudioTime, const UInt32 remainingAudioTime);
-		
-		/**
-		 * Cleans up the memory allocated for the vertices of the components of the trackProgressMeter.
-		 */
-		void cleanupProgressMeterVertices(void);
-		
-		/** The ProcessInfoMap is a map of the process monitor info key-value-pairs. */
-		typedef std::map<std::string, std::string> ProcessInfoMap;
-		
-		/** The map of the process monitor info key-value-pairs. */
-		ProcessInfoMap processInfoMap;
-		
-		/** The ProcessInfoMapIterator is an iterator of the ProcessInfoMap. */
-		typedef ProcessInfoMap::iterator ProcessInfoMapIterator;
-		
-		/** Vertices of background of progress meter. */
-		VertexChain progressMeterBackgroundVertices;
-		
-		/** Vertices of progress meter. */
-		VertexChain progressMeterVertices;
-		
-		/** Vertices of outline of progress meter. */
-		VertexChain progressMeterOutlineVertices;
-
-	};
-
-}
-
-
-#endif /* ProcessMonitor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp
deleted file mode 100644
index 112e5b1..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TemplateAction.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TemplateAction.h"
-#include "VisualActorGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-TemplateAction::TemplateAction() {
-	VisualActorGraphics::createCheckTexture(textureNumber, textureWidth, textureHeight, imageWidth, imageHeight);
-}
-
-
-TemplateAction::~TemplateAction() {
-	if (textureNumber) {
-		VisualActorGraphics::deleteTextures(1, &textureNumber);		
-	}
-}
-
-
-void TemplateAction::prepareTemplateAction() {
-	VisualActorGraphics::setPerspectiveProjection(3.0f);
-}
-
-
-void TemplateAction::show() {
-	VisualActorGraphics::drawPerspectiveSquare(textureNumber);
-}
-
-
-void TemplateAction::finishTemplateAction() {
-	VisualActorGraphics::setOrthographicProjection();
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h b/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h
deleted file mode 100644
index c972ed4..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TemplateAction.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TemplateAction.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TemplateAction_h
-#define TemplateAction_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Performs the action of the TemplateActor.
-	 * A copy of header and implementation file can be made
-	 * to add to a new concrete subclass of VisualActor.
-	 * The example implementation of the TemplateAction can be used
-	 * to get a feeling for working with the perspective projection of OpenGL.
-	 */
-	class TemplateAction {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TemplateAction();
-
-		/**
-		 * The destructor.
-		 */
-		~TemplateAction();
-
-		/**
-		 * Prepares the action of the template.
-		 */	
-		void prepareTemplateAction(void);
-
-		/**
-		 * Shows the TemplateAction.
-		 */
-		void show(void);
-		
-		/**
-		 * Finishes the action of the template.
-		 */	
-		void finishTemplateAction(void);
-
-	private:
-
-		/** The texture number (name/id). */	
-		UInt32 textureNumber;
-		
-		/** The texture width (in pixels). */
-		UInt32 textureWidth;
-		
-		/** The texture height (in pixels). */
-		UInt32 textureHeight;
-		
-		/** The image width (in pixels). */
-		UInt32 imageWidth;
-		
-		/** The image height (in pixels). */
-		UInt32 imageHeight;
-
-	};
-
-}
-
-#endif /* TemplateAction_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp
deleted file mode 100644
index 1e97070..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackLyrics.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TrackLyrics.h"
-#include "VisualConfiguration.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-#include "VisualImage.h"
-#include "VisualStageBox.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualString.h"
-#include "VisualStringStyle.h"
-#include "VisualAnimation.h"
-#include "VisualTimeline.h"
-
-
-
-using namespace VizKit;
-
-
-TrackLyrics::TrackLyrics() {
-	trackLyricsAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
-
-
-TrackLyrics::~TrackLyrics() {
-	// NULL
-}
-
-
-void TrackLyrics::show() {
-	this->trackLyricsAsset.draw(kFrontVertexChain);
-}
-
-
-OSStatus TrackLyrics::makeTextureOfTrackLyrics(const VisualString& trackLyrics) {
-
-	VisualStringStyle stringStyle;
-	
-	VisualDataStore::getPreferenceValueChar(VisualConfiguration::kTrackLyricsFont, stringStyle.fontNameStr);
-	
-	stringStyle.fontSize = (float)(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kTrackLyricsFontSize));
-
-	stringStyle.fontColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorRedFloat);
-	stringStyle.fontColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorGreenFloat);
-	stringStyle.fontColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorBlueFloat);
-	
-	stringStyle.horizontalAlignment = kLeftAligned;
-
-	this->clear();
-
-	VisualImage lyricsImage;
-	OSStatus status = lyricsImage.initWithString(trackLyrics, stringStyle);
-	
-	if (status == noErr) {
-	
-		this->trackLyricsAsset.setImage(lyricsImage);
-		
-		VisualStageBox* trackLyricsAssetBox = this->trackLyricsAsset.getBox();
-		trackLyricsAssetBox->setContentPixelWidth(lyricsImage.getWidth());
-		trackLyricsAssetBox->setContentPixelHeight(lyricsImage.getHeight());
-		
-	}
-	
-	return status;
-
-}
-
-
-void TrackLyrics::calcPositionOnScreen() {
-
-	VisualStageBox* trackLyricsAssetBox = this->trackLyricsAsset.getBox();
-	trackLyricsAssetBox->setScalingBehaviour(kPreserveAspectRatio);
-
-	VisualStagePosition trackLyricsAssetPosition = this->trackLyricsAsset.getPosition();
-	
-	trackLyricsAssetPosition.reset();
-	
-	trackLyricsAssetPosition.horizontalAlignment = kCenterAligned;
-	trackLyricsAssetPosition.verticalAlignment = kTopAligned;
-
-	trackLyricsAssetPosition.minMarginTop = 5;
-	trackLyricsAssetPosition.minMarginTopUnit = kPixel;
-
-	trackLyricsAssetPosition.minMarginRight = 5;
-	trackLyricsAssetPosition.minMarginRightUnit = kPixel;
-
-	trackLyricsAssetPosition.minMarginLeft = 5;
-	trackLyricsAssetPosition.minMarginLeftUnit = kPixel;
-	
-	trackLyricsAssetPosition.minMarginBottom = (double)VisualDataStore::getValueInt(VisualConfiguration::kTrackInfoTextureHeight) + 5.0;
-	trackLyricsAssetPosition.minMarginBottomUnit = kPixel;
-
-	this->trackLyricsAsset.setPosition(trackLyricsAssetPosition);
-	
-	VertexColor aVertexColor;
-	for (UInt8 i = 0; i < 4; i++) {
-		switch (i) {
-			case 0:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftAlpha);
-				this->trackLyricsAsset.setTopLeftFrontVertexColor(aVertexColor);
-				break;
-			case 1:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftAlpha);
-				this->trackLyricsAsset.setBottomLeftFrontVertexColor(aVertexColor);
-				break;
-			case 2:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightAlpha);
-				this->trackLyricsAsset.setBottomRightFrontVertexColor(aVertexColor);
-				break;
-			case 3:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightAlpha);
-				this->trackLyricsAsset.setTopRightFrontVertexColor(aVertexColor);
-				break;
-			default:
-				writeLog("ERR: switch case unknown");
-		}
-	}
-
-	this->trackLyricsAsset.generateVertexChain(kFrontVertexChain);
-
-	char trackLyricsLayoutPos[128];
-	sprintf(trackLyricsLayoutPos, "top: %f, left: %f, bottom: %f, right: %f", trackLyricsAssetBox->getTopCoord(), trackLyricsAssetBox->getLeftCoord(), trackLyricsAssetBox->getBottomCoord(), trackLyricsAssetBox->getRightCoord());
-	setProcessInfo("TrackLyricsLayout", trackLyricsLayoutPos);
-
-}
-
-
-void TrackLyrics::fadeIn(UInt32 durationInMilliseconds) {
-	VisualAnimation fadeInAnimation(kAnimatedOpacity);
-	fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	this->trackLyricsAsset.addAnimation(fadeInAnimation);
-}
-
-
-void TrackLyrics::fadeOut(UInt32 durationInMilliseconds, float clampValue) {
-	VisualAnimation fadeOutAnimation(kAnimatedOpacity);
-	fadeOutAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	fadeOutAnimation.setStartValue(1.0);
-	fadeOutAnimation.setEndValue(0.0);
-	VisualTimeline* fadeOutTimeline = fadeOutAnimation.getTimeline();
-	fadeOutTimeline->setInterpolationType(kSinusoidalInterpolation);
-	if (clampValue > 0.0) {
-		fadeOutAnimation.setMinClampValue(clampValue);
-	}
-	this->trackLyricsAsset.addAnimation(fadeOutAnimation);
-}
-
-
-void TrackLyrics::clear() {
-
-	//this->trackLyricsAsset.disposeTextureData();
-
-	VisualStageBox* trackLyricsAssetBox = this->trackLyricsAsset.getBox();
-	
-	trackLyricsAssetBox->setContentPixelWidth(0);
-	trackLyricsAssetBox->setContentPixelHeight(0);
-
-	VisualStagePosition trackLyricsAssetPosition = this->trackLyricsAsset.getPosition();
-	trackLyricsAssetPosition.reset();
-	this->trackLyricsAsset.setPosition(trackLyricsAssetPosition);
-	
-	this->trackLyricsAsset.removeAnimations();
-	
-	this->trackLyricsAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h b/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h
deleted file mode 100644
index 42c59a3..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TrackLyrics.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackLyrics.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TrackLyrics_h
-#define TrackLyrics_h
-
-#include "VisualAsset.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualString; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Shows the lyrics of the current audio track.
-	 * TrackLyrics performs the action of the TrackLyricsActor.
-	 */
-	class TrackLyrics {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TrackLyrics();
-
-		/**
-		 * The destructor.
-		 */
-		~TrackLyrics();
-
-		/**
-		 * Shows the track lyrics action.
-		 */
-		void show(void);
-
-		/**
-		 * Creates the texture of the track lyrics.
-		 * @param trackLyrics The track lyrics string.
-		 * @return Success or failure.
-		*/
-		OSStatus makeTextureOfTrackLyrics(const VisualString& trackLyrics);
-
-		/**
-		 * Calculates the screen position of the track lyrics texture.
-		 */
-		void calcPositionOnScreen(void);
-
-		/**
-		 * Starts fading in the texture of the track lyrics.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 */
-		void fadeIn(UInt32 durationInMilliseconds);
-
-		/**
-		 * Starts fading out the texture of the track lyrics.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 * @param clampValue The clamp value of the fade out process (default = 0.0f).
-		 */
-		void fadeOut(UInt32 durationInMilliseconds, float clampValue = 0.0f);
-
-		/**
-		 * Clears the memory allocated for the track lyrics action.
-		 */
-		void clear(void);
-
-	private:
-
-		/** The asset of the track lyrics action (contains texture and position too). */
-		VisualAsset trackLyricsAsset;
-		
-	};
-
-}
-
-#endif /* TrackLyrics_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp
deleted file mode 100644
index 666e79c..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.cpp
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackTitle.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TrackTitle.h"
-#include "VisualConfiguration.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-#include "VisualImage.h"
-#include "VisualStageBox.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualString.h"
-#include "VisualStringStyle.h"
-#include "VisualFile.h"
-#include "VisualTimeline.h"
-#include "VisualAnimation.h"
-#include "VisualConvolutionFilter.h"
-
-
-
-using namespace VizKit;
-
-
-TrackTitle::TrackTitle() {
-	trackInfoAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
-
-
-TrackTitle::~TrackTitle() {
-}
-
-
-void TrackTitle::show() {
-	this->trackInfoAsset.draw(kFrontVertexChain);
-}
-
-
-OSStatus TrackTitle::makeTextureOfTrackTitle(const VisualString& trackName) {
-
-	OSStatus status = noErr;
-	VisualStringStyle stringStyle;
-	
-	VisualDataStore::getPreferenceValueChar(VisualConfiguration::kTrackInfoFont, stringStyle.fontNameStr);
-	
-	stringStyle.fontSize = (float)(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kTrackInfoFontSize));
-	
-	stringStyle.fontColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorRedFloat);
-	stringStyle.fontColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorGreenFloat);
-	stringStyle.fontColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorBlueFloat);
-	
-	stringStyle.horizontalAlignment = kLeftAligned;
-	
-	this->clear();
-	
-	VisualImage trackInfoImage;
-	status = trackInfoImage.initWithString(trackName, stringStyle);
-
-	if (status == noErr) {
-
-		VisualConvolutionFilter aConvolutionFilter(VisualConvolutionFilter::kBlur);
-		trackInfoImage.applyConvolutionFilter(aConvolutionFilter);
-
-/*
-		VisualFile outputFile;
-		outputFile.initWithUserDesktopDirectory();
-		VisualString aFileName = VisualString("vizKitTrackTitleImage.png");
-		outputFile.appendFileName(aFileName);
-
-		status = trackInfoImage.writeToFile(outputFile);
-		if (status != noErr) {
-			printf("err %ld in TrackTitle::makeTextureOfTrackTitle()\n", status);
-		}
-*/
-
-		this->trackInfoAsset.setImage(trackInfoImage);
-
-		VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox();
-		trackInfoAssetBox->setContentPixelWidth(trackInfoImage.getWidth());
-		trackInfoAssetBox->setContentPixelHeight(trackInfoImage.getHeight());
-
-	}
-
-	return status;
-}
-
-
-UInt16 TrackTitle::getTrackInfoTextureHeightInPixels() {
-	UInt16 heightOfTrackInfoTextureInPixels = 0;
-	VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox();
-	heightOfTrackInfoTextureInPixels = VisualActorGraphics::yCoordToPixel(trackInfoAssetBox->getTopCoord()) - VisualActorGraphics::yCoordToPixel(trackInfoAssetBox->getBottomCoord());
-	return heightOfTrackInfoTextureInPixels;
-}
-
-
-void TrackTitle::calcPositionOnScreen() {
-
-	VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox();
-	trackInfoAssetBox->setScalingBehaviour(kPreserveAspectRatio);
-
-	VisualStagePosition trackInfoAssetPosition = this->trackInfoAsset.getPosition();
-	
-	trackInfoAssetPosition.reset();
-	
-	trackInfoAssetPosition.horizontalAlignment = kCenterAligned;
-	trackInfoAssetPosition.verticalAlignment = kBottomAligned;
-
-	trackInfoAssetPosition.minMarginBottom = 10;
-	trackInfoAssetPosition.minMarginBottomUnit = kPixel;	
-
-	this->trackInfoAsset.setPosition(trackInfoAssetPosition);
-	
-	VertexColor aVertexColor;
-	for (UInt8 i = 0; i < 4; i++) {
-		switch (i) {
-			case 0:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftAlpha);
-				this->trackInfoAsset.setTopLeftFrontVertexColor(aVertexColor);
-				break;
-			case 1:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftAlpha);
-				this->trackInfoAsset.setBottomLeftFrontVertexColor(aVertexColor);
-				break;
-			case 2:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightAlpha);
-				this->trackInfoAsset.setBottomRightFrontVertexColor(aVertexColor);
-				break;
-			case 3:
-				aVertexColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightRed);
-				aVertexColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightGreen);
-				aVertexColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightBlue);
-				aVertexColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightAlpha);
-				this->trackInfoAsset.setTopRightFrontVertexColor(aVertexColor);
-				break;
-			default:
-				writeLog("ERR: switch case unknown");
-		}
-	}
-	
-	this->trackInfoAsset.generateVertexChain(kFrontVertexChain);
-
-	char trackLayoutPos[128];
-	sprintf(trackLayoutPos, "top: %f, left: %f, bottom: %f, right: %f", trackInfoAssetBox->getTopCoord(), trackInfoAssetBox->getLeftCoord(), trackInfoAssetBox->getBottomCoord(), trackInfoAssetBox->getRightCoord());
-	setProcessInfo("TrackLayout", trackLayoutPos);
-
-}
-
-
-void TrackTitle::fadeIn(UInt32 durationInMilliseconds) {
-	VisualAnimation fadeInAnimation(kAnimatedOpacity);
-	fadeInAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	this->trackInfoAsset.addAnimation(fadeInAnimation);
-}
-
-
-void TrackTitle::fadeOut(UInt32 durationInMilliseconds) {
-	VisualAnimation fadeOutAnimation(kAnimatedOpacity);
-	fadeOutAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	fadeOutAnimation.setStartValue(1.0);
-	fadeOutAnimation.setEndValue(0.0);
-	VisualTimeline* fadeOutTimeline = fadeOutAnimation.getTimeline();
-	fadeOutTimeline->setInterpolationType(kSinusoidalInterpolation);
-	this->trackInfoAsset.addAnimation(fadeOutAnimation);
-}
-
-
-void TrackTitle::pulsate() {
-	VisualAnimation pulsateAnimation(kAnimatedOpacity);
-	UInt32 durationInMilliseconds = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnPauseInMS);
-	pulsateAnimation.setDurationInMilliseconds(durationInMilliseconds);
-	pulsateAnimation.setLoopMode(kMirroredLoop, kInfiniteRepetition);
-	this->trackInfoAsset.addAnimation(pulsateAnimation);
-}
-
-
-void TrackTitle::clear() {
-
-	VisualStageBox* trackInfoAssetBox = this->trackInfoAsset.getBox();
-	
-	trackInfoAssetBox->setContentPixelWidth(0);
-	trackInfoAssetBox->setContentPixelHeight(0);
-
-	VisualStagePosition trackInfoAssetPosition = this->trackInfoAsset.getPosition();
-	trackInfoAssetPosition.reset();
-	this->trackInfoAsset.setPosition(trackInfoAssetPosition);
-	
-	this->trackInfoAsset.removeAnimations();
-	
-	this->trackInfoAsset.setOpacityValue(kFrontVertexChain, 0.0f);
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h b/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h
deleted file mode 100644
index fcdb41f..0000000
--- a/src/projectM-iTunes-VizKit/source/Actions/TrackTitle.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackTitle.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TrackTitle_h
-#define TrackTitle_h
-
-#include "VisualAsset.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualString; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Shows the title of the current audio track.
-	 * TrackTitle performs the action of the TrackTitleActor.
-	 */
-	class TrackTitle {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TrackTitle();
-
-		/**
-		 * The destructor.
-		 */
-		~TrackTitle();
-
-		/**
-		 * Shows the track title action.
-		 */
-		void show(void);
-
-		/**
-		 * Creates the texture of the track title.
-		 * @param trackName The track title string.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus makeTextureOfTrackTitle(const VisualString& trackName);
-
-		/**
-		 * Returns the height of the track title texture in pixels.
-		 * @return The height of the track title texture in pixels.
-		 */
-		UInt16 getTrackInfoTextureHeightInPixels(void);
-
-		/**
-		 * Calculates the screen position of the track title texture.
-		 */
-		void calcPositionOnScreen(void);
-
-		/**
-		 * Starts fading in the texture of the track title.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 */
-		void fadeIn(UInt32 durationInMilliseconds);
-
-		/**
-		 * Starts fading out the texture of the track title.
-		 * @param durationInMilliseconds The duration of the animation measured in milliseconds.
-		 */
-		void fadeOut(UInt32 durationInMilliseconds);
-
-		/**
-		 * Starts pulsating the texture (fade in / fade out) of the track title.
-		 */
-		void pulsate(void);	
-
-		/**
-		 * Clears the memory allocated for the track title action.
-		 */
-		void clear(void);
-
-	private:
-
-		/** The asset of the track info action (contains texture and position too). */
-		VisualAsset trackInfoAsset;
-		
-	};
-
-}
-
-#endif /* TrackTitle_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp
deleted file mode 100644
index 24cd31f..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: BeatlightActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "BeatlightActor.h"
-#include "Beatlight.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-BeatlightActor::BeatlightActor() {
-	strcpy(actorName, "BEATLIGHT");
-	state = kVisActOn;
-    beatlight = new Beatlight;
-}
-
-
-BeatlightActor::~BeatlightActor() {
-    delete beatlight;
-	beatlight = NULL;
-}
-
-
-void BeatlightActor::prepareShow(const VisualPlayerState& visualPlayerState) {
-    this->beatlight->prepareBeatlightShow();
-}
-
-
-void BeatlightActor::show() {
-    this->beatlight->showBeatlight();
-}
-
-
-void BeatlightActor::finishShow() {
-    this->beatlight->finishBeatlightShow();
-}
-
-
-void BeatlightActor::handleNotification(const VisualNotification& aNotification) {
-
-	//VisualActor::handleNotification(aNotification); // debug
-
-	VisualNotificationKey notificationKey = aNotification.getKey();
-	
-	switch (notificationKey) {
-		case kCanvasReshapeEvt:
-			this->beatlight->calcPositionOnScreen();
-			break;
-		default:
-			char errLog[256];
-			sprintf(errLog, "unhandled Notification in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-			break;
-	}
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h b/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h
deleted file mode 100644
index 70647e2..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/BeatlightActor.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: BeatlightActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef BeatlightActor_h
-#define BeatlightActor_h
-
-#include "VisualActor.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class Beatlight;
-
-	/**
-	 * A moving point indicating beat impulses of the music.
-	 * Subclass of VisualActor.
-	 * Still fake. Beat detection not yet implemented.
-	 */
-	class BeatlightActor : public VisualActor {
-
-	public:
-
-		/** The constructor. */
-		BeatlightActor();
-
-		/** The destructor. */
-		~BeatlightActor();		
-
-		/**
-		 * Prepares the show of the beatlight.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		virtual void prepareShow(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Performs the show of the beatlight.
-		 */
-		virtual void show();
-
-		/**
-		 * Finishes the show of the beatlight.
-		 */
-		virtual void finishShow();
-
-		/**
-		 * The actor receives a notification about an event that occured.
-		 * @param aNotification The notification passed in.
-		 */
-		virtual void handleNotification(const VisualNotification& aNotification);
-
-	private:
-	
-		/** A pointer to the beatlight action. */
-		Beatlight* beatlight;
-		
-	};
-
-}
-
-#endif /* BeatlightActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp
deleted file mode 100644
index 55e0b71..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CoverArtActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "CoverArtActor.h"
-#include "CoverArt.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualTiming.h"
-#include "VisualConfiguration.h"
-
-
-
-using namespace VizKit;
-
-
-CoverArtActor::CoverArtActor() {
-	strcpy(actorName, "COVERART");
-	state = kVisActOn;
-    coverArt = new CoverArt;
-	currentAudioTrackHasCoverArt = false;
-}
-
-
-CoverArtActor::~CoverArtActor() {
-    delete coverArt;
-}
-
-
-void CoverArtActor::prepareShow(const VisualPlayerState& visualPlayerState) {
-	if ((this->currentAudioTrackHasCoverArt == true) && (this->state != kVisActOff)) {
-		this->coverArt->prepareCoverAction();
-	}
-}
-
-
-void CoverArtActor::show() {
-	if ((this->currentAudioTrackHasCoverArt == true) && (this->state != kVisActOff)) {
-		this->coverArt->showCover();
-	}
-}
-
-
-void CoverArtActor::finishShow() {
-	if ((this->currentAudioTrackHasCoverArt == true) && (this->state != kVisActOff)) {
-		this->coverArt->finishCoverAction();
-	}
-}
-
-
-void CoverArtActor::handleNotification(const VisualNotification& aNotification) {
-
-	//VisualActor::handleNotification(aNotification); // debug
-
-	VisualNotificationKey notificationKey = aNotification.getKey();
-	
-	switch (notificationKey) {
-		case kAudioMetadataIsAvailableMsg:
-			if (VisualDataStore::getNumberOfCoverArtworksOfCurrentTrack() > 0) {
-				this->coverArt->makeImageOfCover();
-				this->coverArt->calcPositionOnScreen();
-				this->currentAudioTrackHasCoverArt = true;
-			} else {
-				this->currentAudioTrackHasCoverArt = false;
-			}
-			if (this->currentAudioTrackHasCoverArt == true) {
-				VisualNotification::post(kCoverTextureIsAvailableMsg);
-			}
-			break;
-		case kCoverTextureIsAvailableMsg:
-			this->coverArt->rotate();
-			this->coverArt->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnPlayInMS));
-			break;
-		case kAudioPlayStartedEvt:
-			this->coverArt->clear();
-			this->currentAudioTrackHasCoverArt = false;
-			break;
-		case kAudioPlayStoppedEvt:
-			this->coverArt->clear();
-			this->currentAudioTrackHasCoverArt = false;
-			break;
-		case kAudioPlayPausedEvt:
-			this->coverArt->fadeOut(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnPauseInMS), 0.15f);
-			break;
-		case kAudioPlayResumedEvt:
-			this->coverArt->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnResumeInMS));
-			break;
-		case kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt:
-			this->coverArt->fadeOut(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeBeforeEndOfTrackInMS));
-			break;
-		case kCanvasReshapeEvt:
-			if (this->currentAudioTrackHasCoverArt == true) {
-				this->coverArt->calcPositionOnScreen();
-			}
-			break;
-		case kTrackInfoTextureChangedMsg:
-			if (this->currentAudioTrackHasCoverArt == true) {
-				this->coverArt->calcPositionOnScreen();
-			}
-			break;
-		default:
-			writeLog("unhandled Notification in ProcessMonitorActor");
-			break;
-	}
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h b/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h
deleted file mode 100644
index e74fc1b..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/CoverArtActor.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CoverArtActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef CoverArtActor_h
-#define CoverArtActor_h
-
-#include "VisualActor.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class CoverArt;
-
-	/**
-	 * A visual representation of the cover art data included with the audio track. The cover rotates slowly around the y-axis.
-	 * iTunes can handle embedded cover art data. 
-	 * The CoverArtActor is responsible for displaying cover art data if there exists any with the current track. 
-	 * The visual representation of the cover art data is created as a texture. 
-	 * The texture of the cover art can be manipulated in various ways.
-	 * The rotation is a basic example for simplicity's sake.
-	 */
-	class CoverArtActor : public VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		CoverArtActor();
-
-		/**
-		 * The destructor.
-		 */
-		~CoverArtActor();
-
-		/**
-		 * Prepares the show of the cover art.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		virtual void prepareShow(const VisualPlayerState& visualPlayerState);
-				
-		/**
-		 * Performs the show of the cover art.
-		 */
-		virtual void show();
-
-		/**
-		 * Finishes the show of the cover art.
-		 */	
-		virtual void finishShow();
-
-		/**
-		 * The actor receives a notification about an event that occured.
-		 * @param aNotification The notification passed in.
-		 */
-		virtual void handleNotification(const VisualNotification& aNotification);
-
-	private:
-	
-		/** A pointer to the cover art action. */
-		CoverArt* coverArt;
-		
-		/** True if current audio track has cover art data. */
-		bool currentAudioTrackHasCoverArt;
-		
-	};
-
-}
-
-#endif /* CoverArtActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp
deleted file mode 100644
index d51662c..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: ProcessMonitorActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "ProcessMonitorActor.h"
-#include "ProcessMonitor.h"
-#include "VisualPlayerState.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-ProcessMonitorActor::ProcessMonitorActor() {
-	strcpy(actorName, "PROCESSMONITOR");
-    state = kVisActOn;
-	showAudioInfoBool = true;
-	elapsedAudioTime = 0;
-	remainingAudioTime = 0;
-	processMonitor = new ProcessMonitor;
-}
-
-
-ProcessMonitorActor::~ProcessMonitorActor() {
-	delete processMonitor;
-}
-
-
-void ProcessMonitorActor::prepareShow(const VisualPlayerState& visualPlayerState) {
-	this->elapsedAudioTime = visualPlayerState.getElapsedAudioTime();
-	this->remainingAudioTime = visualPlayerState.getRemainingAudioTime();
-    processMonitor->prepareProcessMonitorShow();
-}
-
-
-void ProcessMonitorActor::show() {
-    processMonitor->showInfoStrings();
-	if (this->showAudioInfoBool == true) {
-		processMonitor->showAudioInfo(elapsedAudioTime, remainingAudioTime);
-	}
-}
-
-
-void ProcessMonitorActor::finishShow() {
-    processMonitor->finishProcessMonitorShow();
-}
-
-
-void ProcessMonitorActor::handleNotification(const VisualNotification& aNotification) {
-	//VisualActor::handleNotification(aNotification); // debug
-
-	VisualNotificationKey notificationKey = aNotification.getKey();
-	
-	switch (notificationKey) {
-		case kCanvasReshapeEvt:
-			processMonitor->updateProgressMeterVertices();
-			break;
-		default:
-			writeLog("unhandled Notification in ProcessMonitorActor");
-			break;
-	}
-
-}
-
-
-void ProcessMonitorActor::setState(const VisualActorState aVisualActorState) {
-    this->state = aVisualActorState;
-}
-
-
-void ProcessMonitorActor::registerProcessMonitorInfoMap(const std::map<std::string, std::string>* const processMonitorInfoMap) {
-	processMonitor->registerProcessMonitorInfoMap(processMonitorInfoMap);
-}
-
-
-bool ProcessMonitorActor::isAudioInfoShown() {
-	return this->showAudioInfoBool;
-}
-
-
-void ProcessMonitorActor::setShowAudioInfo(bool requestedAudioInfoState) {
-	this->showAudioInfoBool = requestedAudioInfoState;
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h b/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h
deleted file mode 100644
index b204ce0..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/ProcessMonitorActor.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: ProcessMonitorActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef ProcessMonitorActor_h
-#define ProcessMonitorActor_h
-
-#include "VisualActor.h"
-
-#include <string>
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class ProcessMonitor;
-
-	/**
-	 * This actor displays textual and graphical information useful for debugging, diagnostics and monitoring purposes.
-	 * Visual plug-ins can be debugged by writing output to stdout.
-	 * If it is neccessary to monitor reoccuring and changing data in realtime the data can be registered with the 
-	 * ProcessMonitorActor and refreshed with each render call. The registered output is displayed on screen.
-	 */
-	class ProcessMonitorActor : public VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		ProcessMonitorActor();
-
-		/**
-		 * The destructor.
-		 */
-		~ProcessMonitorActor(void);
-
-		/**
-		 * Prepares the show of the process monitor.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		virtual void prepareShow(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Performs the show of the process monitor.
-		 */
-		virtual void show();
-
-		/**
-		 * Finishes the show of the process monitor.
-		 */
-		virtual void finishShow();
-
-		/**
-		 * The actor receives a notification about an event that occured.
-		 * @param aNotification The notification passed in.
-		 */	
-		void handleNotification(const VisualNotification& aNotification);
-
-		/**
-		 * Sets the state of the process monitor actor.
-		 * @param aVisualActorState The state of the process monitor actor.
-		 */
-		void setState(const VisualActorState aVisualActorState);
-		
-		/**
-		 * The processMonitorInfoMap is registered.
-		 * @param processMonitorInfoMap All associative key-value-pairs of the process monitor info map.
-		 */	
-		void registerProcessMonitorInfoMap(const std::map<std::string, std::string>* const processMonitorInfoMap);
-
-		/**
-		 * Answers the question whether the audio info is shown or not.
-		 * @return True if audio info is shown, false if not.
-		 */
-		bool isAudioInfoShown(void);
-
-		/**
-		 * Sets the state of the audio info.
-		 * @param requestedAudioInfoState True if audio info show be shown, false if it should be hidden.
-		 */	
-		void setShowAudioInfo(bool requestedAudioInfoState);
-
-	private:
-
-		/** A pointer to the process monitor action. */
-		ProcessMonitor* processMonitor;
-		
-		/** Should the audio info be shown? */
-		bool showAudioInfoBool;
-		
-		/** The elapsed time of the current audio track in milliseconds. */
-		UInt32 elapsedAudioTime;
-		
-		/** The remaining time of the current audio track in milliseconds. */
-		UInt32 remainingAudioTime;
-		
-	};
-
-}
-
-#endif /* ProcessMonitorActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp
deleted file mode 100644
index 7987610..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TemplateActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TemplateActor.h"
-#include "TemplateAction.h"
-#include "VisualErrorHandling.h"
-
-#include <string>
-
-
-
-using namespace VizKit;
-
-
-TemplateActor::TemplateActor() {
-	strcpy(actorName, "TEMPLATE");
-	state = kVisActNoShow; // state must be kVisActOn to show the action of the actor as part of the VisualEnsemble (kVisActNoShow means not being called at all)
-	theTemplateAction = new TemplateAction;
-}
-
-
-TemplateActor::~TemplateActor() {
-    delete theTemplateAction;
-}
-
-
-void TemplateActor::prepareShow(const VisualPlayerState& visualPlayerState) {
-    theTemplateAction->prepareTemplateAction();
-}
-
-
-void TemplateActor::show() {
-    theTemplateAction->show();
-}
-
-
-void TemplateActor::finishShow() {
-	theTemplateAction->finishTemplateAction();
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h b/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h
deleted file mode 100644
index fc99842..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TemplateActor.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TemplateActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TemplateActor_h
-#define TemplateActor_h
-
-#include "VisualActor.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class TemplateAction;
-
-	/**
-	 * A template of a VisualActor.
-	 * A copy of header and implementation file can be made 
-	 * to create a new concrete subclass of VisualActor.
-	 * TemplateActor registers itself already in VisualStageControl::initVisualStageControl().
-	 */
-	class TemplateActor : public VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TemplateActor();
-
-		/**
-		 * The destructor.
-		 */
-		~TemplateActor();
-
-		/**
-		 * Prepares the show of the template.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		virtual void prepareShow(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Performs the show of the template.
-		 */
-		virtual void show();
-
-		/**
-		 * Finishes the show of the template.
-		 */	
-		virtual void finishShow();
-
-	private:
-
-		/** A pointer to the template action. */
-		TemplateAction* theTemplateAction;
-		
-	};
-
-}
-
-#endif /* TemplateActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp
deleted file mode 100644
index 62a404d..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.cpp
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackLyricsActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TrackLyricsActor.h"
-#include "TrackLyrics.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-#include "VisualConfiguration.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualString.h"
-
-
-
-using namespace VizKit;
-
-
-TrackLyricsActor::TrackLyricsActor() {
-	strcpy(actorName, "TRACKLYRICS");
-	state = kVisActOn;
-    trackLyrics = new TrackLyrics;
-	textureOfCurrentTrackLyricsIsAvailable = false;
-}
-
-
-TrackLyricsActor::~TrackLyricsActor() {
-    trackLyrics->clear();
-	delete trackLyrics;
-}
-
-
-void TrackLyricsActor::show() {
-	if ((this->textureOfCurrentTrackLyricsIsAvailable == true) && (this->state != kVisActOff)) {
-		this->trackLyrics->show();
-	}
-}
-
-
-void TrackLyricsActor::handleNotification(const VisualNotification& aNotification) {
-
-	//VisualActor::handleNotification(aNotification); // debug
-	
-	VisualString trackLyricsStr;
-	const VisualString missingValueString("missing value"); // "missing value" is literally sent with streams that do not convey any lyrics
-
-	VisualNotificationKey notificationKey = aNotification.getKey();
-	
-	switch (notificationKey) {
-		case kAudioMetadataIsAvailableMsg:
-			VisualDataStore::createLyricsOfCurrentTrack();
-			break;
-		case kLyricsAreAvailableMsg:
-			trackLyricsStr = VisualDataStore::getLyricsOfCurrentTrack();
-			if (trackLyricsStr.getNumberOfNonWhitespaceCharacters() > 0 && trackLyricsStr != missingValueString) {
-				OSStatus status = this->trackLyrics->makeTextureOfTrackLyrics(trackLyricsStr);
-				if (status == noErr) {
-					this->trackLyrics->calcPositionOnScreen();
-					VisualNotification::post(kLyricsTextureIsAvailableMsg);
-				}
-			}
-			break;
-		case kLyricsTextureIsAvailableMsg:
-			this->textureOfCurrentTrackLyricsIsAvailable = true;
-			this->trackLyrics->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnPlayInMS));
-			break;
-		case kAudioPlayStartedEvt:
-			this->trackLyrics->clear();
-			this->textureOfCurrentTrackLyricsIsAvailable = false;
-			break;
-		case kAudioPlayStoppedEvt:
-			this->trackLyrics->clear();
-			this->textureOfCurrentTrackLyricsIsAvailable = false;
-			break;
-		case kAudioPlayPausedEvt:
-			this->trackLyrics->fadeOut(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnPauseInMS), 0.15f);
-			break;
-		case kAudioPlayResumedEvt:
-			this->trackLyrics->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnResumeInMS));
-			break;
-		case kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt:
-			this->trackLyrics->fadeOut(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeBeforeEndOfTrackInMS));
-			break;
-		case kCanvasReshapeEvt:
-			if (textureOfCurrentTrackLyricsIsAvailable == true) {
-				this->trackLyrics->calcPositionOnScreen();
-			}
-			break;
-		case kTrackInfoTextureChangedMsg:
-			if (textureOfCurrentTrackLyricsIsAvailable == true) {
-				this->trackLyrics->calcPositionOnScreen();
-			}
-			break;
-		default:
-			writeLog("unhandled Notification in TrackLyricsActor");
-			break;
-	}
-
-}
-
-
-void TrackLyricsActor::clear() {
-	this->trackLyrics->clear();
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h b/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h
deleted file mode 100644
index 03dc669..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TrackLyricsActor.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackLyricsActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TrackLyricsActor_h
-#define TrackLyricsActor_h
-
-#include "VisualActor.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class TrackLyrics;
-
-	/**
-	 * The lyrics of the audio track are displayed as texture with blended colors.
-	 * The lyrics of the track can be manipulated in various ways.
-	 */
-	class TrackLyricsActor : public VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TrackLyricsActor();
-
-		/**
-		 * The destructor.
-		 */
-		~TrackLyricsActor();
-
-		/**
-		 * Performs the show of the track lyrics.
-		 */
-		virtual void show();
-
-		/**
-		 * The actor receives a notification about an event that occured.
-		 * @param aNotification The notification passed in.
-		 */
-		virtual void handleNotification(const VisualNotification& aNotification);
-
-		/**
-		 * Clears any memory allocated by the actor or action.
-		 */
-		void clear(void);
-		
-	private:
-
-		/** A pointer to the track lyrics action. */
-		TrackLyrics* trackLyrics;
-		
-		/** True if texture of current audio track's lyrics has been created. */
-		bool textureOfCurrentTrackLyricsIsAvailable;
-
-	};
-
-}
-
-
-
-#endif /* TrackLyricsActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp
deleted file mode 100644
index 3e5bc54..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackTitleActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "TrackTitleActor.h"
-#include "TrackTitle.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-#include "VisualConfiguration.h"
-#include "VisualDispatch.h"
-#include "VisualDataStore.h"
-#include "VisualString.h"
-
-
-
-using namespace VizKit;
-
-
-TrackTitleActor::TrackTitleActor() {
-	strcpy(actorName, "TRACKTITLE");
-	state = kVisActOn;
-    trackTitle = new TrackTitle;
-	textureOfCurrentTrackTitleIsAvailable = false;
-}
-
-
-TrackTitleActor::~TrackTitleActor() {
-    trackTitle->clear();
-	delete trackTitle;
-}
-
-
-void TrackTitleActor::show() {
-	if ((this->textureOfCurrentTrackTitleIsAvailable == true) && (this->state != kVisActOff)) {
-		this->trackTitle->show();
-	}
-}
-
-
-void TrackTitleActor::clear() {
-	this->trackTitle->clear();
-}
-
-
-void TrackTitleActor::handleNotification(const VisualNotification& aNotification) {
-
-	//VisualActor::handleNotification(aNotification); // debug
-	
-	VisualNotificationKey notificationKey = aNotification.getKey();
-	
-	switch (notificationKey) {
-		case kAudioMetadataIsAvailableMsg:
-			{
-				const VisualString trackName = VisualDataStore::getNameOfCurrentTrack();
-				if (trackName.getNumberOfNonWhitespaceCharacters() > 0) {
-					OSStatus status = this->trackTitle->makeTextureOfTrackTitle(trackName);
-					if (status == noErr) {
-						this->trackTitle->calcPositionOnScreen();
-						VisualDataStore::setValueInt(VisualConfiguration::kTrackInfoTextureHeight, this->trackTitle->getTrackInfoTextureHeightInPixels());
-						VisualNotification::post(kTrackInfoTextureIsAvailableMsg);
-					} else {
-						VisualDataStore::setValueInt(VisualConfiguration::kTrackInfoTextureHeight, 0);
-					}
-					VisualNotification::post(kTrackInfoTextureChangedMsg);
-				}
-			}
-			break;
-		case kTrackInfoTextureIsAvailableMsg:
-			this->textureOfCurrentTrackTitleIsAvailable = true;
-			this->trackTitle->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnPlayInMS));
-			break;
-		case kAudioPlayStartedEvt:
-			this->trackTitle->clear();
-			this->textureOfCurrentTrackTitleIsAvailable = false;
-			break;
-		case kAudioPlayStoppedEvt:
-			this->trackTitle->clear();
-			this->textureOfCurrentTrackTitleIsAvailable = false;
-			break;
-		case kAudioPlayPausedEvt:
-			this->trackTitle->pulsate();
-			break;
-		case kAudioPlayResumedEvt:
-			this->trackTitle->fadeIn(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnResumeInMS));
-			break;
-		case kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt:
-			this->trackTitle->fadeOut(VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeBeforeEndOfTrackInMS));
-			break;
-		case kCanvasReshapeEvt:
-			this->trackTitle->calcPositionOnScreen();
-			VisualDataStore::setValueInt(VisualConfiguration::kTrackInfoTextureHeight, this->trackTitle->getTrackInfoTextureHeightInPixels());
-			break;
-		default:
-			writeLog("unhandled Notification in TrackTitleActor");
-			break;
-	}
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h b/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h
deleted file mode 100644
index 8901ac0..0000000
--- a/src/projectM-iTunes-VizKit/source/Actors/TrackTitleActor.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: TrackTitleActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef TrackTitleActor_h
-#define TrackTitleActor_h
-
-#include "VisualActor.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class TrackTitle;
-
-	/**
-	 * The title of the audio track is displayed as texture with blended colors.
-	 * The texture of the track name can be manipulated in various ways.
-	 * The smooth shading (Gouraud shading) from red to yellow is a simple example.
-	 */
-	class TrackTitleActor : public VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		TrackTitleActor();
-		
-		/**
-		 * The destructor.
-		 */
-		~TrackTitleActor();
-
-		/**
-		 * Performs the show of the track title.
-		 */
-		virtual void show();
-		
-		/**
-		 * Clears any memory allocated by the actor or action.
-		 */
-		void clear(void);
-
-		/**
-		 * The actor receives a notification about an event that occured.
-		 * @param aNotification The notification passed in.
-		 */
-		virtual void handleNotification(const VisualNotification& aNotification);
-		
-	private:
-
-		/** A pointer to the track title action. */
-		TrackTitle* trackTitle;
-
-		/** True if texture of current audio track's title has been created. */
-		bool textureOfCurrentTrackTitleIsAvailable;
-		
-	};
-
-}
-
-
-#endif /* TrackTitleActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp
deleted file mode 100644
index da65077..0000000
--- a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.cpp
+++ /dev/null
@@ -1,1046 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAudioLab.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualAudioLab.h"
-#include "VisualPlayerState.h"
-#include "VisualErrorHandling.h"
-#include "VisualDispatch.h"
-#include "VisualTiming.h"
-
-#include <stdio.h>
-#include <iostream>
-#include <string>
-#include <math.h>
-
-
-
-using namespace VizKit;
-
-
-VisualAudioLab* VisualAudioLab::theVisualAudioLab = NULL; // singleton
-
-UInt16 VisualAudioLab::maxNumberOfAudioDataChannels = 0;
-UInt32 VisualAudioLab::numberOfAudioWaveformDataEntries = 0;
-UInt32 VisualAudioLab::numberOfAudioSpectrumDataEntries = 0;
-
-const UInt8 VisualAudioLab::beatTimeTolerance = 25;
-const UInt16 VisualAudioLab::beatThreshold = 300;
-const UInt16 VisualAudioLab::beatAnalyseTimeFrame = 10000;
-const UInt16 VisualAudioLab::maximumBeatInterval = 2000;
-const UInt16 VisualAudioLab::numberOfMillisecondsOfRMSBuffer = 3000;
-const UInt16 VisualAudioLab::numberOfRMSBufferEntries = 2000;
-
-// to-do: rework VisualAudioLab functionality (incl. beat detection)
-
-VisualAudioLab::VisualAudioLab() {
-
-    currMusicDataHistory = -1;
-    rmsMonoAvg = 0.0;
-    rmsMonoMax = 0.0;
-
-	totalTimeOfTrack = 0;
-	startTimeOfTrack = 0;
-	stopTimeOfTrack = 0;
-	elapsedTimeOfTrack = 0;
-	currTimestampIDOfRenderData = 0;
-
-	MAXNUMBEROFMUSICDATAHISTORY = 40;
-	
-}
-
-
-VisualAudioLab::~VisualAudioLab() {
-	UInt32 i, k;
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-			free(waveformData[i][k]);
-        }
-		free(waveformData[i]);
-    }
-	free(waveformData);
-
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		free(waveformDataMono[i]);
-    }
-	free(waveformDataMono);
-
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-			free(spectrumData[i][k]);
-        }
-		free(spectrumData[i]);
-    }
-	free(spectrumData);
-
-    for (i = 0; i < MAXNUMBEROFWAVEFORMSHAPEHISTORY; i++) {
-		free(waveformShape[i]);
-    }
-	free(waveformShape);
-	
-	free(amplitudeEnvelope);
-
-	free(mean);
-	
-	free(tappingBuffer);
-
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		free(rms[i]);
-    }
-	free(rms);
-	
-	free(rmsMono);
-	
-	free(beatGapHistogram);
-	
-	free(minSpectrumLevel);
-	
-	free(maxSpectrumLevel);
-	
-	free(minWaveformVal);
-	
-	free(maxWaveformVal);
-	
-	free(waveformValSum);
-	
-	free(peakWaveformValSum);
-	
-	free(prevWaveformValSum);
-	
-	free(avgWaveformValSum);
-	
-	free(avgWaveformValSumCounter);
-
-}
-
-
-VisualAudioLab* VisualAudioLab::getInstance() {
-    if (theVisualAudioLab == NULL) {
-		theVisualAudioLab = new VisualAudioLab;
-		if (theVisualAudioLab != NULL) {
-			theVisualAudioLab->init();
-		}
-    }
-	if (theVisualAudioLab == NULL) {
-		writeLog("ERR init VisualAudioLab failed");
-	}
-	return theVisualAudioLab;
-}
-
-
-void VisualAudioLab::dispose() {
-    if (theVisualAudioLab != 0) {
-        delete theVisualAudioLab;
-        theVisualAudioLab = 0;
-    }
-}
-
-
-void VisualAudioLab::init() {
-	UInt32 i;
-    UInt32 k;
-
-	// waveformData
-	waveformData = (SInt8***)malloc(MAXNUMBEROFMUSICDATAHISTORY * sizeof(SInt8**));
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		waveformData[i] = (SInt8**)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(SInt8*));
-    }
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-			waveformData[i][k] = (SInt8*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(SInt8));
-			for (UInt32 m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) {
-				waveformData[i][k][m] = 0;
-			}
-		}
-    }
-	
-	// waveformDataMono
-	waveformDataMono = (SInt16**)malloc(MAXNUMBEROFMUSICDATAHISTORY * sizeof(SInt16*));
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		waveformDataMono[i] = (SInt16*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(SInt16));
-		for (k = 0; k < VisualAudioLab::numberOfAudioWaveformDataEntries; k++) {
-			waveformDataMono[i][k] = 0;
-		}
-	}
-
-	// spectrumData
-	spectrumData = (UInt8***)malloc(MAXNUMBEROFMUSICDATAHISTORY * sizeof(UInt8**));
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		spectrumData[i] = (UInt8**)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt8*));
-    }
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-			spectrumData[i][k] = (UInt8*)malloc(VisualAudioLab::numberOfAudioSpectrumDataEntries * sizeof(UInt8));
-			for (UInt32 m = 0; m < VisualAudioLab::numberOfAudioSpectrumDataEntries; m++) {
-				spectrumData[i][k][m] = 0;
-			}
-		}
-    }
-
-	// waveformShape
-	waveformShape = (SInt8**)malloc(MAXNUMBEROFWAVEFORMSHAPEHISTORY * 2 * sizeof(SInt8*));
-    for (i = 0; i < MAXNUMBEROFWAVEFORMSHAPEHISTORY; i++) {
-		waveformShape[i] = (SInt8*)malloc(2 * sizeof(SInt8));
-    }
-
-	// amplitudeEnvelope
-	amplitudeEnvelope = (double*)malloc(VisualAudioLab::numberOfAudioWaveformDataEntries * sizeof(double));
-	
-	// mean
-	mean = (SInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(SInt32));
-	
-	// tappingBuffer
-	tappingBuffer = (double*)malloc(tappingBufferLength * sizeof(double));
-	
-	// rms
-	rms = (double**)malloc(MAXNUMBEROFMUSICDATAHISTORY * sizeof(double*));
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		rms[i] = (double*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(double));
-    }
-	
-	// rmsMono
-	rmsMono = (double*)malloc(MAXNUMBEROFMUSICDATAHISTORY * sizeof(double));
-	
-	// beatGapHistogram
-	beatGapHistogram = (UInt32*)malloc(MAXNUMBEROFBEATHISTOGRAMBINS * sizeof(UInt32));
-
-	// minSpectrumLevel
-	minSpectrumLevel = (UInt8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt8));
-	
-	// maxSpectrumLevel
-	maxSpectrumLevel = (UInt8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt8));
-	
-	// minWaveformVal
-	minWaveformVal = (SInt8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(SInt8));
-
-	// maxWaveformVal
-	maxWaveformVal = (SInt8*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(SInt8));
-	
-	// waveformValSum
-	waveformValSum = (UInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt32));
-	
-	// peakWaveformValSum
-	peakWaveformValSum = (UInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt32));
-
-	// prevWaveformValSum
-	prevWaveformValSum = (UInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt32));
-
-	// avgWaveformValSum
-	avgWaveformValSum = (UInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt32));
-
-	// avgWaveformValSumCounter
-	avgWaveformValSumCounter = (UInt32*)malloc(VisualAudioLab::maxNumberOfAudioDataChannels * sizeof(UInt32));
-
-    for (i = 0; i < VisualAudioLab::maxNumberOfAudioDataChannels; i++) {
-        avgWaveformValSumCounter[i] = 0;
-        minWaveformVal[i] = 0;
-        maxWaveformVal[i] = 0;
-        waveformValSum[i] = 0;
-    }
-    for (i = 0; i < (UInt32)MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-            rms[i][k] = 0;
-        }
-    }
-}
-
-
-void VisualAudioLab::resetVisualAudioLabData(void) {
-	
-	UInt16 i,k,m;
-
-	theVisualAudioLab->totalTimeOfTrack = 0;
-	theVisualAudioLab->startTimeOfTrack = 0;
-	theVisualAudioLab->stopTimeOfTrack = 0;
-	theVisualAudioLab->currTimestampIDOfRenderData = 0;
-
-    for (i = 0; i < MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-            for (m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) {
-                theVisualAudioLab->waveformData[i][k][m] = 0;
-            }
-        }
-    }
-
-    for (i = 0; i < MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		for (m = 0; m < VisualAudioLab::numberOfAudioWaveformDataEntries; m++) {
-			theVisualAudioLab->waveformDataMono[i][m] = 0;
-		}
-    }
-
-    for (i = 0; i < MAXNUMBEROFMUSICDATAHISTORY; i++) {
-        for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-            for (m = 0; m < VisualAudioLab::numberOfAudioSpectrumDataEntries; m++) {
-                theVisualAudioLab->spectrumData[i][k][m] = 0;
-            }
-        }
-    }
-    
-    // zero waveformShape
-    for (i = 0; i < MAXNUMBEROFWAVEFORMSHAPEHISTORY; i++) {
-        theVisualAudioLab->waveformShape[i][0] = 0;
-        theVisualAudioLab->waveformShape[i][1] = 0;
-    }
-
-    // other statistics
-    for (i = 0; i < MAXNUMBEROFMUSICDATAHISTORY; i++) {
-		for (k = 0; k < VisualAudioLab::maxNumberOfAudioDataChannels; k++) {
-			theVisualAudioLab->rms[i][k] = 0;
-		}
-		theVisualAudioLab->rmsMono[i] = 0;
-    }
-	
-	for (i = 0; i < 100; i++) {
-		theVisualAudioLab->beatGapHistogram[i] = 0;
-	}
-
-	for (i = 0; i < 100; i++) {
-		theVisualAudioLab->beatGapHistogram[i] = 0;
-	}
-
-	for (i = 0; i < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; i++) {
-		theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[i].timeInMillisecondsSinceStartOfTrack = 0;
-		theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[i].confidence = 0;
-	}
-	for (i = 0; i < numberOfRMSBufferEntries; i++) {
-		theVisualAudioLab->rmsBuffer[i].rmsValue = 0.0f;
-		theVisualAudioLab->rmsBuffer[i].timeInMillisecondsSinceStartOfTrack = 0;
-	}
-	theVisualAudioLab->currRMSValue = 0;
-
-	VisualTiming::resetTimestamp("timeSinceStartOfTrack");
-	
-	theVisualAudioLab->currRecordedBeat = 0;
-
-	theVisualAudioLab->currMusicDataHistory = -1;
-	theVisualAudioLab->maxWaveformValMono = 0;
-	theVisualAudioLab->minWaveformValMono = 0;
-	theVisualAudioLab->rmsMonoMax = 0;
-    
-    // zero tappingBuffer
-    for(i=0; i<tappingBufferLength;i++) {
-        theVisualAudioLab->tappingBuffer[i] = 0;
-    }
-
-}
-
-
-void VisualAudioLab::setTotalTimeOfCurrentTrack(const UInt32 totalTimeInMS) {
-	theVisualAudioLab->totalTimeOfTrack = totalTimeInMS;
-}
-
-
-void VisualAudioLab::setStartTimeOfCurrentTrack(const UInt32 startTimeInMS) {
-	theVisualAudioLab->startTimeOfTrack = startTimeInMS;
-}
-
-
-void VisualAudioLab::setStopTimeOfCurrentTrack(const UInt32 stopTimeInMS) {
-	theVisualAudioLab->stopTimeOfTrack = stopTimeInMS;
-}
-
-
-UInt32 VisualAudioLab::getCurrTimestampIDOfRenderData() {
-	return theVisualAudioLab->currTimestampIDOfRenderData;
-}
-
-
-void VisualAudioLab::setCurrTimestampIDOfRenderData(const UInt32 timestampID) {
-	char timestampHitStr[64];
-	if (timestampID > theVisualAudioLab->currTimestampIDOfRenderData) {
-		if (timestampID - theVisualAudioLab->currTimestampIDOfRenderData > 1) {
-			sprintf(timestampHitStr, "%ld", timestampID - theVisualAudioLab->currTimestampIDOfRenderData);
-			setProcessInfo("AudioDataHit", timestampHitStr);
-		} else {
-			setProcessInfo("AudioDataHit", "1");
-		}
-	}
-	theVisualAudioLab->currTimestampIDOfRenderData = timestampID;
-}
-
-
-bool VisualAudioLab::remainingTimeOfCurrentTrackIsKnown() {
-	if (theVisualAudioLab->totalTimeOfTrack == 0) {
-		return false;
-	} else {
-		return true;
-	}
-}
-
-
-UInt32 VisualAudioLab::getRemainingTimeOfCurrentTrack(bool audioIsPlaying) {
-	if (theVisualAudioLab->totalTimeOfTrack == 0) {
-		return 0;
-	}
-
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	UInt32 elapsedTime = theVisualPlayerState->getElapsedAudioTime();
-	if (theVisualAudioLab->totalTimeOfTrack < elapsedTime) {
-		return 0;
-	}
-	return theVisualAudioLab->totalTimeOfTrack - elapsedTime;
-}
-
-
-UInt32 VisualAudioLab::getTotalTimeOfCurrentTrack() {
-	return theVisualAudioLab->totalTimeOfTrack;
-}
-
-
-SInt16 VisualAudioLab::getCurrMusicDataHistory() {
-    return theVisualAudioLab->currMusicDataHistory;
-}
-
-
-UInt8 VisualAudioLab::getPrevMusicDataHistory() {
-	if ((theVisualAudioLab->currMusicDataHistory - 1) < 0) {
-		return MAXNUMBEROFMUSICDATAHISTORY - 1;
-	} else {
-		return theVisualAudioLab->currMusicDataHistory - 1;
-	};
-}
-
-
-UInt32 VisualAudioLab::getNumberOfWaveformEntries() {
-	return VisualAudioLab::numberOfAudioWaveformDataEntries;
-}
-
-
-UInt32 VisualAudioLab::getNumberOfSpectrumEntries() {
-	return VisualAudioLab::numberOfAudioSpectrumDataEntries;
-}
-
-
-UInt16 VisualAudioLab::getNumberOfDataChannels() {
-	return VisualAudioLab::maxNumberOfAudioDataChannels;
-}
-
-
-UInt16 VisualAudioLab::getMaxNumberOfMusicDataHistories() {
-	return (UInt16)MAXNUMBEROFMUSICDATAHISTORY;
-}
-
-
-void VisualAudioLab::incrementMusicDataHistory() {
-    theVisualAudioLab->currMusicDataHistory++;
-    if (theVisualAudioLab->currMusicDataHistory == MAXNUMBEROFMUSICDATAHISTORY) {
-		// cycled
-        theVisualAudioLab->currMusicDataHistory = 0;
-    }
-}
-
-
-void VisualAudioLab::processAudioData(const UInt8 numWaveformChannels, 
-										const UInt16 numWaveformEntries, 
-										const UInt8* const currWaveformData, 
-										const UInt8 numSpectrumChannels, 
-										const UInt16 numSpectrumEntries, 
-										const UInt8* const currSpectrumData) {
-
-	theVisualAudioLab->incrementMusicDataHistory();
-    theVisualAudioLab->processWaveformData(numWaveformChannels, numWaveformEntries, currWaveformData);
-    theVisualAudioLab->processSpectrumData(numSpectrumChannels, numSpectrumEntries, currSpectrumData);
-	
-}
-
-
-void VisualAudioLab::processWaveformData(const UInt8 numWaveformChannels, const UInt16 numWaveformEntries, const UInt8* const currWaveformData) {
-
-    UInt16 index;
-    UInt8 channel;
-    UInt16 tappingIdx;
-	UInt32 elapsedMillisecondsSinceStartOfTrack;
-    UInt32 elapsedMilliseconds;
-    UInt32 sampleRate;
-    UInt16 numberOfSamplesToAnalyse;
-    char infoStr[32];
-    //char labelStr[32];
-    UInt8 hasBeatImpulse = 0;
-    SInt8 waveformVal; // -128 ..0.. 127
-    static UInt16 tappingBufferHighWatermarkIdx = 0;
-    UInt16 numberOfTappingSamplesProcessed = 0;
-    UInt16 tappingStartSampleNum;
-    UInt16 numberOfSamplesToInterpolate;
-    double lastWaveVal;
-    double interpolStepVal;
-	UInt32 milliSecsForBeat;
-	static double deviance = 2.1;
-	double aRMSMonoValSum;
-	UInt16 aRMSCount;
-	
-	elapsedMillisecondsSinceStartOfTrack = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack");
-
-    elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceLastCall("processWaveformData");
-
-    sampleRate = static_cast<UInt32>(static_cast<float>(VisualAudioLab::numberOfAudioWaveformDataEntries) * (1000.0 / static_cast<float>(elapsedMilliseconds)));
-    sprintf(infoStr, "%ld",sampleRate);
-    setProcessInfo ("Audio sampleRate", infoStr);
-    
-
-    // mean
-
-    for (channel = 0; channel < numWaveformChannels; channel++) {
-        for (index = 0; index < numWaveformEntries; index++) {
-			theVisualAudioLab->mean[channel] += (abs)(currWaveformData[channel * numWaveformChannels + index] - 128);
-        }
-        theVisualAudioLab->mean[channel] = theVisualAudioLab->mean[channel] / numWaveformEntries;
-    }
-
-    
-    theVisualAudioLab->minWaveformValMono = 0;
-    theVisualAudioLab->maxWaveformValMono = 0;
-
-    
-    for (channel = 0; channel < numWaveformChannels; channel++) {
-
-        tappingIdx = 0;
-
-        theVisualAudioLab->minWaveformVal[channel] = 0;
-        theVisualAudioLab->maxWaveformVal[channel] = 0;
-        theVisualAudioLab->waveformValSum[channel] = 0;
-        theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] = 0.0;
-
-        theVisualAudioLab->avgWaveformValSumCounter[channel] ++;
-        
-        // data
-        for (index = 0; index < numWaveformEntries; index++) {
-        
-			waveformVal = currWaveformData[channel * numWaveformChannels + index] - 128;
-
-            theVisualAudioLab->waveformData[theVisualAudioLab->currMusicDataHistory][channel][index] = waveformVal;
-            
-            if (channel == 0) {
-                theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] = waveformVal;
-            } else {
-                theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] += waveformVal;
-            }
-            
-            theVisualAudioLab->waveformValSum[channel] += abs(waveformVal);
-            theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] += (double)pow(static_cast<float>(abs(waveformVal)) - theVisualAudioLab->mean[channel], 2);
-
-            if (waveformVal < theVisualAudioLab->minWaveformVal[channel]) {
-                theVisualAudioLab->minWaveformVal[channel] = waveformVal;
-            }
-            if (waveformVal > theVisualAudioLab->maxWaveformVal[channel]) {
-                theVisualAudioLab->maxWaveformVal[channel] = waveformVal;
-            }
-
-        }
-        
-        theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] /= numWaveformEntries;
-        theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel] = sqrt(theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel]);
-
-        //sprintf(infoStr, "%10.3lf", theVisualAudioLab->rms[theVisualAudioLab->currMusicDataHistory][channel]);
-        //sprintf(labelStr, "rms_channel%u", channel);
-        //setProcessInfo (labelStr, infoStr);
-                
-        theVisualAudioLab->avgWaveformValSum[channel] = \
-            ((theVisualAudioLab->avgWaveformValSum[channel] * ((theVisualAudioLab->avgWaveformValSumCounter[channel])-1) + \
-              theVisualAudioLab->waveformValSum[channel]) / theVisualAudioLab->avgWaveformValSumCounter[channel]);
-    }
-
-    
-    if (theVisualAudioLab->waveformValSum[0] > theVisualAudioLab->peakWaveformValSum[0]) {
-        theVisualAudioLab->peakWaveformValSum[0] = theVisualAudioLab->waveformValSum[0];
-    }
-
-    theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] = 0;
-
-    for (index = 0; index < numWaveformEntries; index++) {
-    
-        theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] /= numWaveformChannels;
-        theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] += (double)pow(static_cast<float>(abs(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index])), 2);
-        if (theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] < theVisualAudioLab->minWaveformValMono) {
-            theVisualAudioLab->minWaveformValMono = (SInt8)theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index];
-        }
-        if (theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] > theVisualAudioLab->maxWaveformValMono) {
-            theVisualAudioLab->maxWaveformValMono = (SInt8)theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index];
-        }
-    }
-
-    theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] /= numWaveformEntries;
-    theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] = sqrt(theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]);
-    //sprintf(infoStr, "%4.4f",theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]);
-    //setProcessInfo ("rms_mono", infoStr);
-
-	/*
-    if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > theVisualAudioLab->rmsMonoMax) {
-        theVisualAudioLab->rmsMonoMax = theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory];
-    }
-	*/
-
-
-	theVisualAudioLab->rmsBuffer[theVisualAudioLab->currRMSValue].rmsValue = (float)theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory];
-	theVisualAudioLab->rmsBuffer[theVisualAudioLab->currRMSValue].timeInMillisecondsSinceStartOfTrack = elapsedMillisecondsSinceStartOfTrack;
-	theVisualAudioLab->currRMSValue++;
-	if (theVisualAudioLab->currRMSValue == numberOfRMSBufferEntries) {
-		theVisualAudioLab->currRMSValue = 0;
-	}
-	theVisualAudioLab->rmsMonoMax = 0.0;
-	aRMSMonoValSum = 0.0;
-	aRMSCount = 0;
-	for (index = 0; index < numberOfRMSBufferEntries; index++) {
-		if ((theVisualAudioLab->rmsBuffer[index].timeInMillisecondsSinceStartOfTrack > 0.0) && (theVisualAudioLab->rmsBuffer[index].timeInMillisecondsSinceStartOfTrack > (elapsedMillisecondsSinceStartOfTrack - numberOfMillisecondsOfRMSBuffer))) {
-			if (theVisualAudioLab->rmsBuffer[index].rmsValue > theVisualAudioLab->rmsMonoMax) {
-				theVisualAudioLab->rmsMonoMax = theVisualAudioLab->rmsBuffer[index].rmsValue;
-			}
-			aRMSMonoValSum += theVisualAudioLab->rmsBuffer[index].rmsValue;
-			aRMSCount++;
-		}
-	}
-	theVisualAudioLab->rmsMonoAvg = (aRMSMonoValSum / aRMSCount);
-	
-    //theVisualAudioLab->rmsMonoAvg = (theVisualAudioLab->rmsMonoAvgSum + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory]) / theVisualAudioLab->rmsMonoAvgCount;
-	//sprintf(infoStr, "%10.3lf", theVisualAudioLab->rmsMonoAvg);
-	//setProcessInfo ("rmsMono avg", infoStr);	
-    //theVisualAudioLab->rmsMonoAvgSum = theVisualAudioLab->rmsMonoAvgSum + theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory];
-    //sprintf(infoStr, "%f",theVisualAudioLab->rmsMonoAvg);
-    //setProcessInfo ("rms_mono_avg", infoStr);
-
-    theVisualAudioLab->addToWaveformShape(theVisualAudioLab->minWaveformValMono, theVisualAudioLab->maxWaveformValMono);
-    
-    //theVisualAudioLab->amplitudeEnvelope[tappingIdx] += double(waveformVal);
-
-    // tapping
-    tappingStartSampleNum = tappingBufferHighWatermarkIdx;
-    for (index = 0; index < numWaveformEntries; index++) {
-        theVisualAudioLab->tappingBuffer[tappingBufferHighWatermarkIdx] = static_cast<double>(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index]);
-        tappingBufferHighWatermarkIdx ++;
-        numberOfTappingSamplesProcessed ++;
-        if (tappingBufferHighWatermarkIdx == tappingBufferLength) {
-            tappingBufferHighWatermarkIdx = 0;
-        }
-    }
-    
-
-    // sampleRate = ((float)VisualAudioLab::numberOfAudioWaveformDataEntries/(float)elapsedMilliseconds * 1000.0);
-    //sampleRate = (float)VisualAudioLab::numberOfAudioWaveformDataEntries * (1000.0 / (float)elapsedMilliseconds);
-
-    // try constant sampleRate 4000 (unsure)
-    if (sampleRate > 4000) {
-        numberOfSamplesToAnalyse = (UInt16)((float)numWaveformEntries/((float)sampleRate/4000.0));
-    } else {
-        if (elapsedMilliseconds > 1000) {
-            elapsedMilliseconds = 1000; // Maximum an Interpolation
-        }
-        numberOfSamplesToInterpolate =  (UInt16)((4000.0 * ((float)elapsedMilliseconds) / 1000.0) - numWaveformEntries);
-        
-        //cout << "elapsedMilliseconds: " << elapsedMilliseconds << endl;
-        //cout << numberOfSamplesToInterpolate << " samples fehlen zur konstanten sample rate 6000" << endl;
-
-        // add lost samples
-
-        // linear interpoliert (?)
-        lastWaveVal = static_cast<double>(theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][numWaveformEntries-1]);
-        interpolStepVal = (abs)((int)(lastWaveVal / numberOfSamplesToInterpolate));
-        if (lastWaveVal > 0) {
-            interpolStepVal = interpolStepVal*-1;
-        }
-        
-        for (index = 0; index < numberOfSamplesToInterpolate; index++) {
-            theVisualAudioLab->tappingBuffer[tappingBufferHighWatermarkIdx] = lastWaveVal + (interpolStepVal*(index+1));
-            tappingBufferHighWatermarkIdx ++;
-            numberOfTappingSamplesProcessed ++;
-            if (tappingBufferHighWatermarkIdx == tappingBufferLength) {
-                tappingBufferHighWatermarkIdx = 0;
-            }
-            
-        }
-        
-        numberOfSamplesToAnalyse = numberOfTappingSamplesProcessed;
-        
-        //cout << "elapsed: " << elapsedMilliseconds << " nulls: " << numberOfSamplesToInterpolate << " count: " << numberOfSamplesToAnalyse << endl;
-    }
-    
-    
-    //numberOfSamplesToAnalyse = numberOfSamplesToAnalyse / 2; // pauschale Reduzierung der Datenmenge (?)
-    
-	double devianceNow;
-	devianceNow = theVisualAudioLab->rmsMonoMax - theVisualAudioLab->rmsMonoAvg;
-	//deviance /= 1.6;
-	devianceNow = devianceNow / deviance;
-	//sprintf(infoStr, "%lf", theVisualAudioLab->rmsMonoMax);
-	//setProcessInfo ("rmsMonoMax", infoStr);
-	//sprintf(infoStr, "%lf", theVisualAudioLab->rmsMonoAvg);
-	//setProcessInfo ("rmsMonoAvg", infoStr);
-	//if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > theVisualAudioLab->rmsMonoAvg) {
-	milliSecsForBeat = VisualTiming::getElapsedMilliSecsSinceReset("BeatPulse");
-	if (theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] > (theVisualAudioLab->rmsMonoAvg + deviance)) {
-		if (milliSecsForBeat > beatThreshold) {
-			// maximum bpm: 1000 / beatThreshold * 60
-			// so we wait beatThreshold milliseconds until we are free to detect a new beat
-			hasBeatImpulse = 1;
-			deviance += 0.05;
-			VisualTiming::resetTimestamp("BeatPulse");
-			theVisualAudioLab->addToBeatRecords();
-		}
-	} else {
-		if (milliSecsForBeat > 800) {
-			// we must have missed a beat, so lower deviance
-			deviance -= 0.05;
-		}
-	}
-	
-    storeBeatImpulse(hasBeatImpulse);
-	
-	theVisualAudioLab->calcBeatConfidence();
-	
-	
-	sprintf(infoStr, "%ld", theVisualAudioLab->getBestBeatMSInterval());
-    setProcessInfo ("BestBeatGuess", infoStr);
-
-}
-
-
-void VisualAudioLab::addToBeatRecords() {
-	UInt32 elapsedMilliseconds;
-    
-    elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack");
-	theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[theVisualAudioLab->currRecordedBeat].timeInMillisecondsSinceStartOfTrack = elapsedMilliseconds;
-	theVisualAudioLab->beatsRecordedInBeatAnalyseTimeFrame[theVisualAudioLab->currRecordedBeat].confidence = 0;
-	theVisualAudioLab->currRecordedBeat++;
-	if (theVisualAudioLab->currRecordedBeat == MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME) {
-		theVisualAudioLab->currRecordedBeat = 0;
-	}
-
-}
-
-
-void VisualAudioLab::resetBeatGapHistogram() {
-	UInt16 i;
-	for (i = 0; i < MAXNUMBEROFBEATHISTOGRAMBINS; i++) {
-		theVisualAudioLab->beatGapHistogram[i] = 0;
-	}
-}
-
-
-void VisualAudioLab::addToBeatGapHistogram(UInt16 gapInMilliseconds) {
-	UInt8 beatGapHistogramIdx;
-	
-	beatGapHistogramIdx = (gapInMilliseconds / theVisualAudioLab->beatTimeTolerance);
-	if (beatGapHistogramIdx > (MAXNUMBEROFBEATHISTOGRAMBINS - 1)) return;
-	theVisualAudioLab->beatGapHistogram[beatGapHistogramIdx]++;
-}
-
-
-void VisualAudioLab::calcBeatConfidence() {
-
-	UInt16 j;
-	UInt32 currBeatMSInterval, checkedBeatMSInterval;
-	SInt16 i, prevBeatIndex;
-
-	for (i = 0; i < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; i++) {
-		beatsRecordedInBeatAnalyseTimeFrame[i].confidence = 0;
-	}
-
-	for (i = 0; i < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; i++) {
-		prevBeatIndex = i - 1;
-		if (prevBeatIndex < 0) {
-			prevBeatIndex = MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME;
-		}
-		currBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[i].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[prevBeatIndex].timeInMillisecondsSinceStartOfTrack;
-		if ((currBeatMSInterval < maximumBeatInterval) && (currBeatMSInterval > beatTimeTolerance)) {
-			for (j = 0; j < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; j++) {
-				prevBeatIndex = j  - 1;
-				if (prevBeatIndex < 0) {
-					prevBeatIndex = MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME;
-				}
-				checkedBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[j].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[prevBeatIndex].timeInMillisecondsSinceStartOfTrack;
-				if ((checkedBeatMSInterval < (currBeatMSInterval + beatTimeTolerance)) && (checkedBeatMSInterval > (currBeatMSInterval - beatTimeTolerance))) {
-
-					beatsRecordedInBeatAnalyseTimeFrame[i].confidence++;
-
-				}
-			}
-		}
-	}
-
-}
-
-
-UInt32 VisualAudioLab::getBestBeatMSInterval() {
-	UInt16 maxConfidence = 0;
-	UInt16 beatIndex = 0;
-	UInt32 bestBeatMSInterval;
-	UInt16 i;
-	for (i = 0; i < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; i++) {
-		if (beatsRecordedInBeatAnalyseTimeFrame[i].confidence > maxConfidence) {
-			maxConfidence = beatsRecordedInBeatAnalyseTimeFrame[i].confidence;
-			beatIndex = i;
-		}
-	}
-	if (beatIndex == 0) {
-		bestBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[beatIndex].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME].timeInMillisecondsSinceStartOfTrack;
-	} else {
-		bestBeatMSInterval = beatsRecordedInBeatAnalyseTimeFrame[beatIndex].timeInMillisecondsSinceStartOfTrack - beatsRecordedInBeatAnalyseTimeFrame[beatIndex - 1].timeInMillisecondsSinceStartOfTrack;
-	}
-	return bestBeatMSInterval;
-}
-
-
-UInt8 VisualAudioLab::isBeatMeter(UInt32 elapsedMSSinceStartOfTrack) {
-	UInt16 confidenceVal = 0;
-	UInt16 maxConfidence = 0;
-	UInt16 minConfidence = 65000;
-	for (UInt8 index = 0; index < MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME; index++) {
-		if (beatsRecordedInBeatAnalyseTimeFrame[index].timeInMillisecondsSinceStartOfTrack < (elapsedMSSinceStartOfTrack + 100)) {
-			if (beatsRecordedInBeatAnalyseTimeFrame[index].timeInMillisecondsSinceStartOfTrack > (elapsedMSSinceStartOfTrack - 100)) {
-				confidenceVal = beatsRecordedInBeatAnalyseTimeFrame[index].confidence;
-			}
-		}
-		if (beatsRecordedInBeatAnalyseTimeFrame[index].confidence > maxConfidence) {
-			maxConfidence = beatsRecordedInBeatAnalyseTimeFrame[index].confidence;
-		}
-		if (beatsRecordedInBeatAnalyseTimeFrame[index].confidence < minConfidence) {
-			minConfidence = beatsRecordedInBeatAnalyseTimeFrame[index].confidence;
-		}
-	}
-	//printf("confidenceVal: %u\n", confidenceVal);
-	//printf("b: %f\n", ((float)(maxConfidence - minConfidence) / 2.0f));
-	if (confidenceVal > (minConfidence + ((float)(maxConfidence - minConfidence) / 2.0f))) {
-		return 1;
-	} else {
-		return 0;
-	}
-}
-
-
-const UInt32* const VisualAudioLab::getBeatHistogram() {
-	return theVisualAudioLab->beatGapHistogram;
-}
-
-
-void VisualAudioLab::addToWaveformShape(SInt8 minWaveformPoint, SInt8 maxWaveformPoint) {
-    static SInt16 currWaveformShapePoint = -1;
-
-	currWaveformShapePoint++;
-	if (currWaveformShapePoint == MAXNUMBEROFWAVEFORMSHAPEHISTORY) {
-		currWaveformShapePoint = 0;
-	}
-	theVisualAudioLab->waveformShape[currWaveformShapePoint][0] = minWaveformPoint; // minWaveformPoint
-	theVisualAudioLab->waveformShape[currWaveformShapePoint][1] = maxWaveformPoint; // maxWaveformPoint
-
-}
-
-
-UInt16 VisualAudioLab::getMaxNumberOfWaveformShapeHistory() {
-	return MAXNUMBEROFWAVEFORMSHAPEHISTORY;
-}
-
-
-const SInt8* const VisualAudioLab::getWaveformShapeArray() {
-	return *theVisualAudioLab->waveformShape;
-}
-
-
-void VisualAudioLab::setMaxNumberOfAudioDataChannels(UInt16 aNumberOfMaxAudioDataChannels) {
-	VisualAudioLab::maxNumberOfAudioDataChannels = aNumberOfMaxAudioDataChannels;
-}
-
-
-void VisualAudioLab::setNumberOfAudioWaveformDataEntries(UInt32 aNumberOfAudioWaveformDataEntries) {
-	VisualAudioLab::numberOfAudioWaveformDataEntries = aNumberOfAudioWaveformDataEntries;
-}
-
-
-void VisualAudioLab::setNumberOfAudioSpectrumDataEntries(UInt32 aNumberOfAudioSpectrumDataEntries) {
-	VisualAudioLab::numberOfAudioSpectrumDataEntries = aNumberOfAudioSpectrumDataEntries;
-}
-
-
-const SInt16** const VisualAudioLab::getWaveformDataMonoArray() {
-	return const_cast<const SInt16** const>(theVisualAudioLab->waveformDataMono);
-}
-
-
-const UInt8*** const VisualAudioLab::getSpectrumDataArray() {
-	return const_cast<const UInt8*** const>(theVisualAudioLab->spectrumData);
-}
-
-
-void VisualAudioLab::processSpectrumData(const UInt8 numSpectrumChannels, const UInt16 numSpectrumEntries, const UInt8* const currSpectrumData) {
-    UInt16 index;
-    SInt32 channel;
-    UInt8 spectrumVal;
-
-    for (channel = 0; channel < numSpectrumChannels; channel++) {
-
-        for (index = 0; index < numSpectrumEntries; index++) {
-                    
-			spectrumVal = currSpectrumData[channel * numSpectrumChannels + index];
-
-            theVisualAudioLab->spectrumData[theVisualAudioLab->currMusicDataHistory][channel][index] = spectrumVal;
-
-            if (spectrumVal < theVisualAudioLab->minSpectrumLevel[channel]) {
-                theVisualAudioLab->minSpectrumLevel[channel] = spectrumVal;
-            } else if (spectrumVal > theVisualAudioLab->maxSpectrumLevel[channel]) {
-                theVisualAudioLab->maxSpectrumLevel[channel] = spectrumVal;
-            }
-        }
-    }
-
-}
-
-
-UInt8 VisualAudioLab::getMinSpectrumLevel(const int channel) {
-	return theVisualAudioLab->minSpectrumLevel[channel];
-}
-
-
-UInt8 VisualAudioLab::getMaxSpectrumLevel(const int channel) {
-	return theVisualAudioLab->maxSpectrumLevel[channel];
-}
-
-
-UInt32 VisualAudioLab::getWaveformAvgValSum() {
-    return theVisualAudioLab->avgWaveformValSum[0];
-}
-
-
-UInt32 VisualAudioLab::getWaveformValSum() {
-    return theVisualAudioLab->waveformValSum[0];
-}
-
-
-UInt8 VisualAudioLab::getDCIntensity() {
-    UInt8 intensity;
-    intensity = (UInt8)(((float)theVisualAudioLab->spectrumDCLevel/255.0)*100.0);
-    return intensity;
-}
-
-
-UInt8 VisualAudioLab::getRMSIntensity() {
-    UInt8 intensity;
-    intensity = (UInt8)((theVisualAudioLab->rmsMono[theVisualAudioLab->currMusicDataHistory] / theVisualAudioLab->rmsMonoMax) * 100.0);
-    return intensity;
-}
-
-
-UInt8 VisualAudioLab::getWaveformDataOfChannelAtIndex(const UInt16 channel, const UInt16 index) {
-    return theVisualAudioLab->waveformData[theVisualAudioLab->currMusicDataHistory][channel][index] + 128;
-}
-
-
-UInt8 VisualAudioLab::getMonoWaveformDataAtIndex(const UInt16 index) {
-    return theVisualAudioLab->waveformDataMono[theVisualAudioLab->currMusicDataHistory][index] + 128;
-}
-
-/*
-void VisualAudioLab::getMonoWaveformData(const UInt8* const waveformArr, const UInt8 numberOfHistories) {
-    UInt8 historyIndex;
-    UInt16 waveDataIndex;
-    SInt8 aHistory;
-	if (numberOfHistories > MAXNUMBEROFMUSICDATAHISTORY) return;
-    aHistory = theVisualAudioLab->currMusicDataHistory;
-    for (historyIndex = 0; historyIndex < numberOfHistories; historyIndex++) {
-        aHistory++;
-        if (aHistory == MAXNUMBEROFMUSICDATAHISTORY) {
-            aHistory = 0;
-        }
-        for (waveDataIndex = 0; waveDataIndex < VisualAudioLab::numberOfAudioWaveformDataEntries; waveDataIndex++) {
-			waveformArr[aHistory * numberOfHistories + waveDataIndex] = theVisualAudioLab->waveformDataMono[aHistory][waveDataIndex];
-			waveformArr[aHistory * numberOfHistories + waveDataIndex] += 128;
-            // + 128 (?)
-        }
-    }
-}
-*/
-
-UInt8 VisualAudioLab::getWaveformDataOfChannelAtIndexWithHistoryNum(const UInt16 channel, const UInt16 index, const UInt16 historyNum) {
-    return theVisualAudioLab->waveformData[historyNum][channel][index]+128;
-}
-
-
-UInt8 VisualAudioLab::getMonoWaveformDataAtIndexWithHistoryNum(const UInt16 index, const UInt16 historyNum) {
-    return theVisualAudioLab->waveformDataMono[historyNum][index]+128;
-}
-
-
-void VisualAudioLab::getAmplitudeEnvelope(double* waveformEnvelope) {
-    UInt16 index;
-
-    for (index = 0; index < VisualAudioLab::numberOfAudioWaveformDataEntries; index++) {
-        waveformEnvelope[index] = theVisualAudioLab->amplitudeEnvelope[index];
-    }
-    
-    //waveformEnvelope = theVisualAudioLab->amplitudeEnvelope;
-
-}
-
-
-void VisualAudioLab::HannWindow(const int pNumberOfWaveformEntries, double TimeSamples[]) {
-    int i;
-    //double PI = 4 * arctan(1);
-    for (i = 0; i< pNumberOfWaveformEntries; i++) {
-        TimeSamples[i] = TimeSamples[i] * 0.5 *(1 - cos((2*3.1415926535*i) / (pNumberOfWaveformEntries-1)));
-    }
-}
-
-
-void VisualAudioLab::storeBeatImpulse(const UInt8 beatImpulse) {
-    theVisualAudioLab->isBeatImpulse = beatImpulse;
-	if (beatImpulse != 0) {
-		theVisualAudioLab->beatTimeDeltaInMS = VisualTiming::getElapsedMilliSecsSinceReset("beatTimestamp");
-		VisualTiming::resetTimestamp("beatTimestamp");
-	}
-}
-
-
-UInt8 VisualAudioLab::getBeatImpulse() {
-    return theVisualAudioLab->isBeatImpulse;
-}
-
-
-UInt8 VisualAudioLab::getBeatMeter() {
-	UInt32 elapsedMilliseconds;
-	UInt32 elapsedMillisecondsSinceLastBeatConfirmed;
-	UInt32 bestGuess;
-	//char infoStr[32];
-	elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("timeSinceStartOfTrack");
-	elapsedMillisecondsSinceLastBeatConfirmed = VisualTiming::getElapsedMilliSecsSinceReset("prevPositiveMeter");
-	if (theVisualAudioLab->isBeatMeter(elapsedMilliseconds) != 0) {
-		if (elapsedMillisecondsSinceLastBeatConfirmed > beatThreshold) {
-			VisualTiming::resetTimestamp("prevPositiveMeter");
-			return 1;
-		}
-	} else {
-		bestGuess = theVisualAudioLab->getBestBeatMSInterval();
-		if (elapsedMillisecondsSinceLastBeatConfirmed > bestGuess) {
-			VisualTiming::resetTimestamp("prevPositiveMeter");
-			return 1;
-		}
-	}
-	return 0;
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h
deleted file mode 100644
index 84423cf..0000000
--- a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioLab.h
+++ /dev/null
@@ -1,642 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAudioLab.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualAudioLab_h
-#define VisualAudioLab_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-#define MAXNUMBEROFWAVEFORMSHAPEHISTORY 1400
-#define tappingBufferLength 4096
-#define MAXNUMBEROFBEATHISTOGRAMBINS 100
-#define MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME 200
-
-
-namespace VizKit {
-
-	/**
-	 * A collection of routines 
-	 * dealing with processing, analyzing and interpreting audio data.
-	 */
-	class VisualAudioLab {
-
-	public:
-
-		/**
-		 * Returns the VisualAudioLab. The VisualAudiolab is initialized if required. 
-		 * The VisualAudioLab is a singleton.
-		 */
-		static VisualAudioLab* getInstance(void);
-
-		/**
-		 * Disposes the VisualAudiolab.
-		 */	
-		static void dispose(void);
-		
-		/**
-		 * Processes the audio data chunk.
-		 * With each RenderMessage iTunes delivers waveform data and spectrum data. 
-		 * The spectrum data is a fft (Fast Fourier Transform) of the waveform data.
-		 * @param numWaveformChannels The number of waveform data channels.
-		 * @param numWaveformEntries The number of waveform data entries per channel.
-		 * @param currWaveformData A pointer to the waveform data.
-		 * @param numSpectrumChannels The number of spectrum data channels.
-		 * @param numSpectrumEntries The number of spectrum data entries per channel.
-		 * @param currSpectrumData A pointer to the spectrum data.
-		 */
-		void processAudioData(const UInt8 numWaveformChannels, 
-							const UInt16 numWaveformEntries, 
-							const UInt8* const currWaveformData, 
-							const UInt8 numSpectrumChannels, 
-							const UInt16 numSpectrumEntries, 
-							const UInt8* const currSpectrumData);
-
-		/**
-		 * Processes the waveform data.
-		 * @param numWaveformChannels The number of waveform data channels (e.g.\ two for stereo sound).
-		 * @param numWaveformEntries The number of data points per channel.
-		 * @param currWaveformData A pointer to the current waveform data.
-		 */
-		void processWaveformData(const UInt8 numWaveformChannels, const UInt16 numWaveformEntries, const UInt8* const currWaveformData);
-
-		/**
-		 * Processes the spectrum data.
-		 * @param numSpectrumChannels The number of spectrum data channels (e.g.\ two for stereo sound)..
-		 * @param numSpectrumEntries The number of data points per channel.
-		 * @param currSpectrumData A pointer to the current spectrum data.
-		 */
-		void processSpectrumData(const UInt8 numSpectrumChannels, const UInt16 numSpectrumEntries, const UInt8* const currSpectrumData);
-
-		/**
-		 * Resets the stored values of the VisualAudioLab.
-		 * The VisualAudioLab stores analyzed values of an audio track.
-		 * Typically the values are resetted when a new track starts playing.
-		 */	
-		void resetVisualAudioLabData(void);
-
-		/**
-		 * Returns the last processed timestampID of the kVisualPluginRenderMessage.
-		 * @return The last processed timestampID of the kVisualPluginRenderMessage.
-		 */
-		UInt32 getCurrTimestampIDOfRenderData(void);
-		
-		/**
-		 * Sets the last processed timestampID of the kVisualPluginRenderMessage.
-		 * @param timestampID The last processed timestampID of the kVisualPluginRenderMessage.
-		 */	
-		void setCurrTimestampIDOfRenderData(const UInt32 timestampID);
-		
-		/**
-		 * Stores the total time of the current track.
-		 * @param totalTimeInMS The total time of the currently playing audio track measured in milliseconds.
-		 */
-		void setTotalTimeOfCurrentTrack(const UInt32 totalTimeInMS);
-
-		/**
-		 * Stores the start time of the current track.
-		 * @param startTimeInMS The start time of the currently playing audio track measured in milliseconds.
-		 */
-		void setStartTimeOfCurrentTrack(const UInt32 startTimeInMS);
-
-		/**
-		 * Stores the stop time of the current track.
-		 * @param stopTimeInMS The stop time of the currently playing audio track measured in milliseconds.
-		 */
-		void setStopTimeOfCurrentTrack(const UInt32 stopTimeInMS);
-
-		/**
-		 * Answers the question whether the remaining time of the current track is known.
-		 * Streamed audio has no info about remaining time of current track.
-		 * @return True if the remaining time of the current track is known, false if not.
-		 */
-		bool remainingTimeOfCurrentTrackIsKnown(void);
-		
-		/**
-		 * Returns the remaining time of the currently playing audio track measured in milliseconds.
-		 * @param audioIsPlaying True if audio is playing, false if not.
-		 * @return The remaining time of the currently playing audio track measured in milliseconds.
-		 */
-		UInt32 getRemainingTimeOfCurrentTrack(bool audioIsPlaying);
-
-		/**
-		 * Returns the total time of the currently playing audio track measured in milliseconds.
-		 * @return The total time of the currently playing audio track measured in milliseconds.
-		 */	
-		UInt32 getTotalTimeOfCurrentTrack(void);
-
-		/**
-		 * Increments the current history number of music data.
-		 * Music data is stored for a number of histories.
-		 */		
-		void incrementMusicDataHistory(void);
-
-		/**
-		 * Returns the current music data history.
-		 * @return The current music data history.
-		 */	
-		SInt16 getCurrMusicDataHistory(void);
-
-		/**
-		 * Returns the previous music data history. 
-		 * The previous music data history is the one that was current 
-		 * before the one that is now current.
-		 * @return The previous music data history.
-		 */	
-		UInt8 getPrevMusicDataHistory(void);
-
-		/**
-		 * Returns the minimum spectrum level.
-		 * @return The minum sprectrum level.
-		 */	
-		UInt8 getMinSpectrumLevel(const int channel);
-
-		/**
-		 * Returns the maximum spectrum level.
-		 * @return The maximum sprectrum level.
-		 */	
-		UInt8 getMaxSpectrumLevel(const int channel);
-
-		/**
-		 * Returns the sum of all waveform data values.
-		 * @return The sum of all waveform data values.
-		 */	
-		UInt32 getWaveformValSum(void);
-
-		/**
-		 * Returns the RMS (root-mean-square) intensity.
-		 * The RMS intensity is the computed root-mean-square value.
-		 * @return The RMS intensity.
-		 */	
-		UInt8 getRMSIntensity(void);
-
-		/**
-		 * Returns the single waveform data of a specific channel at a specific index position.
-		 * @param channel The channel.
-		 * @param index The index of the waveform data.
-		 * @return The single waveform data of a specific channel at a specific index position.
-		 */	
-		UInt8 getWaveformDataOfChannelAtIndex(const UInt16 channel, const UInt16 index);
-
-		/**
-		 * Returns a pointer to the spectrum data array.
-		 * @return A pointer to the spectrum data array.
-		 */
-		const UInt8*** const getSpectrumDataArray(void);
-
-		/**
-		 * Returns a pointer to the mono waveform data array.
-		 * The mono waveform data consists of the averaged values of the 
-		 * waveform data of all available channels.
-		 * @return A pointer to the mono waveform data array.
-		 */
-		const SInt16** const getWaveformDataMonoArray(void);
-
-		/**
-		 * Returns the waveform data value of a specific index position.
-		 * @param index The index of the requested waveform data.
-		 * @return The mono waveform data at a specific index.
-		 */
-		UInt8 getMonoWaveformDataAtIndex(const UInt16 index);
-
-		/**
-		 * Returns the waveform data of a specific channel of a specific history at a specific index.
-		 * @param channel The cannel of the requested waveform data.
-		 * @param index The index of the requested waveform data.
-		 * @param historyNum The history of the requested waveform data.
-		 * @return The waveform data of a specific channel of a specific history at a specific index.
-		 */
-		UInt8 getWaveformDataOfChannelAtIndexWithHistoryNum(const UInt16 channel, const UInt16 index, const UInt16 historyNum);
-
-		/**
-		 * Returns the mono waveform data of a specific history at a specific index.
-		 * @param index The index of the requested waveform data.
-		 * @param historyNum The history of the requested waveform data.
-		 * @return The mono waveform data of a specific history at a specific index.
-		*/
-		UInt8 getMonoWaveformDataAtIndexWithHistoryNum(const UInt16 index, const UInt16 historyNum);
-
-		/**
-		 * Returns a pointer to the waveform envelope.
-		 * @param[out] waveformEnvelope A pointer to the waveform envelope.
-		 */
-		void getAmplitudeEnvelope(double* waveformEnvelope);
-
-		/**
-		 * Returns the sum of the average values of the waveform data.
-		 * @return The sum of the average values of the waveform data.
-		 */
-		UInt32 getWaveformAvgValSum(void);
-
-		/**
-		 * Returns the DC intensity.
-		 * The DC intensity is the intensity of the direct current.
-		 * @return The DC intensity.
-		 */
-		UInt8 getDCIntensity(void);
-
-		/**
-		 * Stores the beat impulse.
-		 * @param beatImpulse 1 if the current waveform data indicates a beat impulse, 0 if not.
-		 */
-		void storeBeatImpulse(const UInt8 beatImpulse);
-
-		/**
-		 * Answers the question whether the current waveform data indicates a beat impulse.
-		 * @return 1 if the current waveform data indicates a beat impulse, 0 if not.
-		 */
-		UInt8 getBeatImpulse(void);
-
-		/**
-		 * Answers the question whether the current timestamp suggests a beat impulse.
-		 * @return 1 if the current timestamp suggests a beat impulse, 0 if not.
-		 */
-		UInt8 getBeatMeter(void);
-
-		/**
-		 * Processes the sample data with a Hann window.
-		 * @param N The number of samples.
-		 * @param TimeSamples The sample data.
-		 */
-		void HannWindow(const int N, double TimeSamples[]);
-
-		/**
-		 * Returns a pointer to the waveform shape array.
-		 * @return A pointer to the waveform shape array.
-		 */	
-		const SInt8* const getWaveformShapeArray(void);
-
-		/**
-		 * Sets the maximum number of audio data channels (2 channels means stereo).
-		 * @param aNumberOfMaxAudioDataChannels The maximum number of audio data channels.
-		 */
-		static void setMaxNumberOfAudioDataChannels(UInt16 aNumberOfMaxAudioDataChannels);
-
-		/**
-		 * Sets the number of audio waveform data entries.
-		 * @param aNumberOfAudioWaveformDataEntries The number of audio waveform data entries.
-		 */
-		static void setNumberOfAudioWaveformDataEntries(UInt32 aNumberOfAudioWaveformDataEntries);
-
-		/**
-		 * Sets the number of audio spectrum data entries.
-		 * @param aNumberOfAudioSpectrumDataEntries The number of audio spectrum data entries.
-		 */
-		static void setNumberOfAudioSpectrumDataEntries(UInt32 aNumberOfAudioSpectrumDataEntries);
-
-		/**
-		 * Returns the number of audio spectrum data entries.
-		 * @return The number of audio spectrum data entries.
-		 */
-		UInt32 getNumberOfAudioSpectrumDataEntries(void);
-
-		/**
-		 * Returns the number of waveform data entries.
-		 * @return The number of waveform data entries.
-		 */		
-		UInt32 getNumberOfWaveformEntries(void);
-
-		/**
-		 * Returns the number of spectrum data entries.
-		 * @return The number of spectrum data entries.
-		 */	
-		UInt32 getNumberOfSpectrumEntries(void);
-
-		/**
-		 * Returns the maximum history number.
-		 * @return The maximum history number.
-		 */	
-		UInt16 getMaxNumberOfWaveformShapeHistory(void);
-
-		/**
-		 * Returns the number of data channels.
-		 * @return The number of data channels.
-		 */	
-		UInt16 getNumberOfDataChannels(void);
-
-		/**
-		 * Returns the maximum number of histories in waveform data.
-		 * @return The maximum number of histories in waveform data.
-		 */	
-		UInt16 getMaxNumberOfMusicDataHistories(void);
-
-		/**
-		 * Returns a pointer to the histogram of the gaps between detected beat events.
-		 * @return A pointer to the histogram of the gaps between detected beat events.
-		 */	
-		const UInt32* const getBeatHistogram(void);
-		
-	private:
-
-		/** The constructor.\ VisualAudioLab is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualAudioLab();
-
-		/** The destructor.\ VisualAudioLab is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualAudioLab();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualAudioLab.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualAudioLab(const VisualAudioLab& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualAudioLab& operator=(const VisualAudioLab& other);
-
-		/** VisualAudioLab is a singleton class. Pointer to private instance is handled internally. */
-		static VisualAudioLab* theVisualAudioLab;
-
-		/**
-		 * Allocates and initializes the buffers of the VisualAudioLab.
-		 */	
-		void init(void);
-
-		/** The total time of the currently playing audio track measured in milliseconds. */
-		UInt32 totalTimeOfTrack;
-
-		/** The accumulated play time of the current audio track measured in milliseconds. */
-		UInt32 elapsedTimeOfTrack;
-
-		/** The start time of the currently playing audio track measured in milliseconds. iTunes allows to set a custom start time for a track. */
-		UInt32 startTimeOfTrack;
-
-		/** The stop time of the currently playing audio track measured in milliseconds. iTunes allows to set a custom stop time for a track. */
-		UInt32 stopTimeOfTrack;
-
-		/** The last processed timestampID of the kVisualPluginRenderMessage. */
-		UInt32 currTimestampIDOfRenderData;
-
-		/** The number of music data history. */
-		SInt8 numberOfMusicDataHistoryInt;
-
-		/** The maximum number of audio data channels (2 channels means stereo). */
-		static UInt16 maxNumberOfAudioDataChannels;
-		
-		/** The number of audio waveform data entries. */
-		static UInt32 numberOfAudioWaveformDataEntries;
-		
-		/** The number of audio spectrum data entries. */
-		static UInt32 numberOfAudioSpectrumDataEntries;
-
-		/**
-		 * Adds the minimum and maximum waveform data value to the waveform shape.
-		 * @param minWaveformPoint The minimum waveform data value.
-		 * @param maxWaveformPoint The maximum waveform data value.
-		 */
-		void addToWaveformShape(SInt8 minWaveformPoint, SInt8 maxWaveformPoint);
-		
-		/**
-		 * Adds a value to beatsRecordedInBeatAnalyseTimeFrame.
-		 */
-		void addToBeatRecords(void);
-		
-		/**
-		 * Adds a value to beatGapHistogram.
-		 * @param gapInMilliseconds The gap to previous beat detection in milliseconds.
-		 */
-		void addToBeatGapHistogram(UInt16 gapInMilliseconds);
-		
-		/**
-		 * Resets the beatGapHistogram.
-		 */
-		void resetBeatGapHistogram(void);
-		
-		/**
-		 * Calculates the confidence of the beat estimation.
-		 */
-		void calcBeatConfidence(void);
-		
-		/**
-		 * Returns the best guess for the beat interval in milliseconds.
-		 * The best guess for the beat interval in milliseconds.
-		 */
-		UInt32 getBestBeatMSInterval(void);
-		
-		/** 
-		 * The waveform data array. 
-		 * The waveform data array is 3-dimensional with data values, channels and history.
-		 */
-		//SInt8 waveformData[MAXNUMBEROFMUSICDATAHISTORY][kVisualMaxDataChannels][kVisualNumWaveformEntries];
-		SInt8*** waveformData;
-		
-		/** 
-		 * The mono waveform data array. 
-		 * The mono waveform data array is 2-dimensional with data values, and history.
-		 */
-		//SInt16 waveformDataMono[MAXNUMBEROFMUSICDATAHISTORY][kVisualNumWaveformEntries];
-		SInt16** waveformDataMono;
-		
-		/** 
-		 * The spectrum data array. 
-		 * The spectrum data array is 3-dimensional with data values, channels and history.
-		 */
-		//UInt8 spectrumData[MAXNUMBEROFMUSICDATAHISTORY][kVisualMaxDataChannels][kVisualNumSpectrumEntries];
-		UInt8*** spectrumData;
-		
-		/**
-		 * The waveform shape array. 
-		 * The spectrum data array is 2-dimensional with two data values (min and max), and history.
-		 */
-		//SInt8 waveformShape[MAXNUMBEROFWAVEFORMSHAPEHISTORY][2]; // min und max
-		SInt8** waveformShape; // min und max
-		
-		/** The amplitude envelope array. */
-		//double amplitudeEnvelope[kVisualNumWaveformEntries];
-		double* amplitudeEnvelope;
-		
-		/** The mean values. */
-		//SInt32 mean[kVisualMaxDataChannels];
-		SInt32* mean;
-		
-		/** A special buffer for beat detection. */
-		//double tappingBuffer[tappingBufferLength];
-		double* tappingBuffer;
-		
-		/** The rms values. */
-		//double rms[MAXNUMBEROFMUSICDATAHISTORY][kVisualMaxDataChannels];
-		double** rms;
-		
-		/** The mono rms values. */
-		//double rmsMono[MAXNUMBEROFMUSICDATAHISTORY];
-		double* rmsMono;
-		
-		/** The average rms value. */
-		double rmsMonoAvg;
-		
-		/** A histogram of the gaps between detected beat events. */
-		//UInt32 beatGapHistogram[MAXNUMBEROFBEATHISTOGRAMBINS];
-		UInt32* beatGapHistogram;
-		
-		/** The delta between beats. */
-		UInt32 beatTimeDeltaInMS;
-		
-		/** The maximum mono rms value. Timeframe numberOfMillisecondsOfRMSBuffer. */
-		double rmsMonoMax;
-		
-		/** The current history number. */
-		SInt16 currMusicDataHistory;
-
-		SInt16 MAXNUMBEROFMUSICDATAHISTORY;
-		
-		/** The minimum spectrum level.\ 0-128. */
-		//UInt8 minSpectrumLevel[kVisualMaxDataChannels];
-		UInt8* minSpectrumLevel;
-		
-		/** The maximum spectrum level.\ 0-128. */
-		//UInt8 maxSpectrumLevel[kVisualMaxDataChannels];
-		UInt8* maxSpectrumLevel;
-		
-		/** The spectrum DC level. 0-256 (?). Direct Current of FFT (mono). */
-		UInt8 spectrumDCLevel;
-		
-		/** The average spectrum DC level. */
-		float avgSpectrumDCLevel;
-		
-		/** The sum of the spectrum DC level.\ sum of data (for calc of avg). */
-		float spectrumDCLevelSum;
-		
-		/** The minimum waveform data value.\ 0-255.\ -128 ...127. */
-		//SInt8 minWaveformVal[kVisualMaxDataChannels];
-		SInt8* minWaveformVal;
-		
-		/** The maximum waveform data value.\ 0-255.\ -128 ...127. */
-		//SInt8 maxWaveformVal[kVisualMaxDataChannels];
-		SInt8* maxWaveformVal;
-		
-		/** The minimum mono waveform data value. */
-		SInt8 minWaveformValMono;
-		
-		/** The maximum mono waveform data value. */
-		SInt8 maxWaveformValMono;
-		
-		/** The sum of the absolute waveform data values that are higher or lower than 128. */
-		//UInt32 waveformValSum[kVisualMaxDataChannels];
-		UInt32* waveformValSum;
-
-		/** The peak values of the sum of the waveform data values. */
-		//UInt32 peakWaveformValSum[kVisualMaxDataChannels];
-		UInt32* peakWaveformValSum;
-
-		/** The previous sum of the waveform data values. */
-		//UInt32 prevWaveformValSum[kVisualMaxDataChannels];
-		UInt32* prevWaveformValSum;
-
-		/** The average value of the sum of the waveform data values. */
-		//UInt32 avgWaveformValSum[kVisualMaxDataChannels];
-		UInt32* avgWaveformValSum;
-
-		/** The counter for the calculation o the average value of the sum of the waveform data values. */
-		//UInt32 avgWaveformValSumCounter[kVisualMaxDataChannels];
-		UInt32* avgWaveformValSumCounter;
-
-		/** 1 if the current waveform data indicates a beat impulse, 0 if not. */
-		UInt8 isBeatImpulse;
-
-		/** The smallest time a beat is considered to be the same. Measured in milliseconds. */
-		static const UInt8 beatTimeTolerance;
-		
-		/** The threshold after which we are free to detect a new beat. Measured in milliseconds. */
-		static const UInt16 beatThreshold;
-		
-		/** The time frame in which beats are recorded and analysed. Measured in milliseconds. */
-		static const UInt16 beatAnalyseTimeFrame;
-		
-		/** The maximum beat interval. Measured in milliseconds. */
-		static const UInt16 maximumBeatInterval;
-		
-		/** The number of milliseconds rms values are collected. */
-		static const UInt16 numberOfMillisecondsOfRMSBuffer;
-		
-		/** 
-		 * The number of records in rmsBuffer. 
-		 * Must be greater than: Audio sample rate (44100) / kVisualNumWaveformEntries * (numberOfMillisecondsOfRMSBuffer / 1000).
-		 */
-		static const UInt16 numberOfRMSBufferEntries;
-		
-		/**
-		 * Struct with values concerning rms (root mean square) values.
-		 */
-		typedef struct {
-			float rmsValue; /**< The rms value. */
-			UInt32 timeInMillisecondsSinceStartOfTrack; /**< The number of milliseconds elapsed since start of audio track. */
-		} RMSValue;
-		
-		/** 
-		 * Array containg rms mono values for the last numberOfMillisecondsOfRMSBuffer milliseconds.\ Ringbuffer.
-		 * RMSValues with ((currentMSSinceStartOfTrack - timeInMillisecondsSinceStartOfTrack) > numberOfMillisecondsOfRMSBuffer) are discarded.
-		 */
-		RMSValue rmsBuffer[2000];
-
-		/** The current index of array rmsBuffer. */
-		UInt16 currRMSValue;
-
-		/** The current index of array beatsRecordedInBeatAnalyseTimeFrame. */
-		UInt8 currRecordedBeat;
-
-		/**
-		 * Struct with values concerning beat estmation.
-		 */
-		typedef struct {
-			UInt32 timeInMillisecondsSinceStartOfTrack; /**< The number of milliseconds elapsed since start of audio track. */
-			UInt16 confidence; /**< The strength of the beatGuess. */
-		} BeatGuess;
-
-		/** Array in which the detected beats are stored with their elapsed milliseconds timestamp since start of track. Ringbuffer. */
-		BeatGuess beatsRecordedInBeatAnalyseTimeFrame[MAXNUMBEROFBEATSRECORDEDINANALYSETIMEFRAME];
-
-		/**
-		 * 
-		 * @param elapsedMSSinceStartOfTrack The number of milliseconds elapsed since start of audio track.
-		 * @return 1 if time is in frame of beat meter, 0 if not.
-		 */
-		UInt8 isBeatMeter(UInt32 elapsedMSSinceStartOfTrack);
-		
-	};
-
-}
-
-#endif /* VisualAudioLab_h */
-
-
diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp
deleted file mode 100644
index c15af50..0000000
--- a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualString.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualAudioMetaData.h"
-#include "VisualDataStore.h"
-#include "VisualString.h"
-#include "VisualErrorHandling.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacMemory.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/macmemory.h> // DisposeHandle
-#endif
-
-
-using namespace VizKit;
-
-
-VisualAudioMetaData::VisualAudioMetaData() {
-	isStream = false;
-	trackSizeInBytes = 0;
-	albumCoverArtworkHasBeenEvaluated = false;
-	numberOfArtworks = 0;
-	albumCoverArtworkFileType = '    ';
-	albumCoverArtworkHandle = NULL;
-}
-
-
-VisualAudioMetaData::~VisualAudioMetaData() {
-	if (albumCoverArtworkHandle != NULL) {
-		DisposeHandle(albumCoverArtworkHandle);
-	}
-}
-
-
-VisualAudioMetaData::VisualAudioMetaData(const VisualAudioMetaData& other) {
-	this->copy(other);
-}
-
-
-VisualAudioMetaData& VisualAudioMetaData::operator=(const VisualAudioMetaData& other) {
-	if (this != &other) {
-		if (albumCoverArtworkHandle != NULL) {
-			DisposeHandle(albumCoverArtworkHandle);
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-bool VisualAudioMetaData::operator==(const VisualAudioMetaData& other) {
-	bool compareResult = false;
-	if ((this->trackSizeInBytes == other.trackSizeInBytes) &&
-		(this->trackName == other.trackName) &&
-		(this->trackArtist == other.trackArtist) &&
-		(this->trackAlbum == other.trackAlbum) &&
-		(this->isStream == other.isStream)) {
-		compareResult = true;
-	}
-	return compareResult;
-}
-
-
-bool VisualAudioMetaData::operator!=(const VisualAudioMetaData& other) {
-	return !(*this == other);
-}
-
-
-void VisualAudioMetaData::copy(const VisualAudioMetaData& other) {
-	this->trackName = other.trackName;
-	this->trackArtist = other.trackArtist;
-	this->trackAlbum = other.trackAlbum;
-	this->trackLyrics = other.trackLyrics;
-	this->trackSizeInBytes = other.trackSizeInBytes;
-	this->isStream = other.isStream;
-	this->albumCoverArtworkHasBeenEvaluated = other.albumCoverArtworkHasBeenEvaluated;
-	this->numberOfArtworks = other.numberOfArtworks;
-	this->albumCoverArtworkFileType = other.albumCoverArtworkFileType;
-	this->albumCoverArtworkHandle = other.albumCoverArtworkHandle;
-}
-
-
-void VisualAudioMetaData::setIsStream(bool isAStream) {
-	this->isStream = isAStream;
-}
-
-
-void VisualAudioMetaData::setTrackName(const VisualString& aTrackName) {
-	this->trackName = aTrackName;
-}
-
-
-void VisualAudioMetaData::setTrackArtist(const VisualString& aTrackArtist) {
-	this->trackArtist = aTrackArtist;
-}
-
-
-void VisualAudioMetaData::setTrackAlbum(const VisualString& aTrackAlbum) {
-	this->trackAlbum = aTrackAlbum;
-}
-
-
-void VisualAudioMetaData::setTrackLyrics(const VisualString& someTrackLyrics) {
-	this->trackLyrics = someTrackLyrics;
-}
-
-
-void VisualAudioMetaData::setTrackSizeInBytes(UInt32 aTrackSizeInBytes) {
-	this->trackSizeInBytes = aTrackSizeInBytes;
-}
-
-
-const VisualString& VisualAudioMetaData::getTrackName() {
-	return this->trackName;
-}
-
-
-const VisualString& VisualAudioMetaData::getTrackArtist() {
-	return this->trackArtist;
-}
-
-
-const VisualString& VisualAudioMetaData::getTrackAlbum() {
-	return this->trackAlbum;
-}
-
-
-const VisualString& VisualAudioMetaData::getTrackLyrics() {
-	return this->trackLyrics;
-}
-
-
-UInt32 VisualAudioMetaData::getTrackSizeInBytes() {
-	return this->trackSizeInBytes;
-}
-
-
-bool VisualAudioMetaData::getIsStream() {
-	return this->isStream;
-}
-
-
-UInt16 VisualAudioMetaData::getNumberOfArtworks() {
-	if (this->albumCoverArtworkHasBeenEvaluated == false) {
-		this->numberOfArtworks = VisualDataStore::evaluateCoverArtInfo(&this->albumCoverArtworkFileType, &this->albumCoverArtworkHandle);
-		this->albumCoverArtworkHasBeenEvaluated = true;
-	}
-	return this->numberOfArtworks;
-}
-
-
-OSType VisualAudioMetaData::getAlbumCoverArtworkFileType() {
-	if (this->albumCoverArtworkHasBeenEvaluated == false) {
-		this->numberOfArtworks = VisualDataStore::evaluateCoverArtInfo(&this->albumCoverArtworkFileType, &this->albumCoverArtworkHandle);
-		this->albumCoverArtworkHasBeenEvaluated = true;
-	}
-	return this->albumCoverArtworkFileType;
-}
-
-
-Handle VisualAudioMetaData::getAlbumCoverArtworkHandle() {
-	if (this->albumCoverArtworkHasBeenEvaluated == false) {
-		this->numberOfArtworks = VisualDataStore::evaluateCoverArtInfo(&this->albumCoverArtworkFileType, &this->albumCoverArtworkHandle);
-		this->albumCoverArtworkHasBeenEvaluated = true;
-	}
-	return this->albumCoverArtworkHandle;
-}
-
-
-void VisualAudioMetaData::disposeAlbumCoverArtworkHandle() {
-	if (this->albumCoverArtworkHandle != NULL) {
-		DisposeHandle(this->albumCoverArtworkHandle);
-		this->albumCoverArtworkHandle = NULL;
-	}
-	this->numberOfArtworks = 0;
-	this->albumCoverArtworkFileType = '    ';
-	this->albumCoverArtworkHasBeenEvaluated = false;
-}
diff --git a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h b/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h
deleted file mode 100644
index 146073f..0000000
--- a/src/projectM-iTunes-VizKit/source/AudioLab/VisualAudioMetaData.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAudioMetaData.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualAudioMetaData_h
-#define VisualAudioMetaData_h
-
-#include "VisualString.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Meta data (like track name, artist name, or lyrics, etc.) of audio track or audio stream. 
-	 */
-	class VisualAudioMetaData {
-	
-	public:
-
-		/**
-		 * Constructor.
-		 */
-		VisualAudioMetaData();
-
-		/**
-		 * Destructor.
-		 */
-		~VisualAudioMetaData();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualAudioMetaData.
-		 */
-		VisualAudioMetaData(const VisualAudioMetaData& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualAudioMetaData& operator=(const VisualAudioMetaData& other);
-		
-		/**
-		 * Equality operator.
-		 * @param other Another VisualAudioMetaData.
-		 */
-		bool operator==(const VisualAudioMetaData& other);
-
-		/**
-		 * Inequality operator.
-		 * @param other Another VisualAudioMetaData.
-		 */
-		bool operator!=(const VisualAudioMetaData& other);
-		
-		/**
-		 * Sets whether data belongs to stream or track.
-		 * @param isAStream If true data is stream meta data.\ If false data is track meta data.
-		 */
-		void setIsStream(bool isAStream);
-
-		/**
-		 * Sets the name of the track.
-		 * @param aTrackName The name of the track.
-		 */		
-		void setTrackName(const VisualString& aTrackName);
-
-		/**
-		 * Sets the artist of the track.
-		 * @param aTrackArtist The name of the track artist.
-		 */		
-		void setTrackArtist(const VisualString& aTrackArtist);
-
-		/**
-		 * Sets the name of the album.
-		 * @param aTrackAlbum The name of the album the track belongs to.
-		 */
-		void setTrackAlbum(const VisualString& aTrackAlbum);
-
-		/**
-		 * Sets the lyrics of the track.
-		 * @param someTrackLyrics The lyrics of the track.
-		 */
-		void setTrackLyrics(const VisualString& someTrackLyrics);
-
-		/**
-		 * Sets the size of the track in bytes.
-		 * @param aTrackSizeInBytes The size of the track in bytes.
-		 */
-		void setTrackSizeInBytes(UInt32 aTrackSizeInBytes);
-
-		/**
-		 * Returns the name of the track.
-		 * @return The name of the track.
-		 */
-		const VisualString& getTrackName(void);
-
-		/**
-		 * Returns the artist of the track.
-		 * @return The artist of the track.
-		 */
-		const VisualString& getTrackArtist(void);
-
-		/**
-		 * Returns the name of the album.
-		 * @return The name of the album the track belongs to.
-		 */
-		const VisualString& getTrackAlbum(void);
-
-		/**
-		 * Returns the lyrics of the track.
-		 * @return The lyrics of the track.
-		 */
-		const VisualString& getTrackLyrics(void);
-
-		/**
-		 * Returns the size of the track in bytes.
-		 * @return The size of the track in bytes.
-		 */
-		UInt32 getTrackSizeInBytes(void);
-
-		/**
-		 * Answers the question whether audio meta data belongs to stream or track.
-		 * @return True if audio meta data belongs to stream.\ False if audio meta data belongs to track.
-		 */
-		bool getIsStream(void);
-
-		/**
-		 * Returns the number of available album cover artworks.
-		 * @return The number of available album cover artworks.
-		 */
-		UInt16 getNumberOfArtworks(void);
-
-		/**
-		 * Returns the file type of album cover artwork.
-		 * @return The file type of album cover artwork.
-		 */
-		OSType getAlbumCoverArtworkFileType(void);
-
-		/**
-		 * Returns a handle to the album cover artwork.
-		 * @return A handle to the album cover artwork.
-		 */
-		Handle getAlbumCoverArtworkHandle(void);
-
-		/**
-		 * Disposes any album cover artwork handle (and associated data).
-		 */
-		void disposeAlbumCoverArtworkHandle(void);
-
-	private:
-
-		/** True if audio meta data belongs to stream.\ False if audio meta data belongs to track. */
-		bool isStream;
-		
-		/** Name of audio track. */
-		VisualString trackName;
-		
-		/** Name of track artist. */
-		VisualString trackArtist;
-		
-		/** Name of album the track belogs to. */
-		VisualString trackAlbum;
-		
-		/** Lyrics of track. */
-		VisualString trackLyrics;
-		
-		/** Size of audio track in bytes. */
-		UInt32 trackSizeInBytes;
-		
-		/** Flag denoting whether album cover artwork data has been evaluated yet. */
-		bool albumCoverArtworkHasBeenEvaluated;
-
-		/** The number of artworks for current track.
-		 * Note that iTunes can handle more than one cover art work. But the API interface we use to query iTunes about the number of 
-		 * cover art works for current track cannot handle more than one cover art work. 
-		 * The function PlayerGetCurrentTrackCoverArt only returns the first cover art work for current track.
-		 * So the maximum value for this var will be 1.
-		 */		
-		UInt16 numberOfArtworks;
-		
-		/** The 4-char-code identification of the file type (e.g.\ JPGf, PNGf). */
-		OSType albumCoverArtworkFileType;
-		
-		/** Handle to album cover artwork data. */
-		Handle albumCoverArtworkHandle;
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualAudioMetaData.
-		 */
-		void copy(const VisualAudioMetaData& other);
-
-	};
-	
-}
-
-#endif /* VisualAudioMetaData_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp
deleted file mode 100644
index 01e28ec..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.cpp
+++ /dev/null
@@ -1,337 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAnimation.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualAnimation.h"
-#include "VisualTiming.h"
-#include "VisualTimeline.h"
-#include "VisualErrorHandling.h"
-#include "VisualStageControl.h"
-#include "VisualGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-const UInt32 VisualAnimation::maxNumberOfDebugHistoryEntries = 700;
-
-
-VisualAnimation::VisualAnimation(AnimatedProperty anAnimatedProperty) {
-	animationIdentifier = new VisualItemIdentifier;
-	theTimeline = new VisualTimeline;
-	animatedProperty = anAnimatedProperty;
-	remainingNumberOfRepeats = 0;
-	currentValue = 0.0;
-	currentValueIsSet = false;
-	animateCallbackFunctionPtr = NULL;
-	userData = NULL;
-	startDelayInMilliseconds = 0;
-	status = kIsNotRunning;
-	debugMode = false;
-	minimumClampValue = 0.0;
-	minimumClampValueIsSet = false;
-	maximumClampValue = 0.0;
-	maximumClampValueIsSet = false;
-	currDebugHistoryEntry = 0;
-	debugHistoryIsInitialized = false;
-}
-
-
-VisualAnimation::~VisualAnimation() {
-	delete theTimeline;
-	delete animationIdentifier;
-	debugHistory.clear();
-}
-
-
-VisualAnimation::VisualAnimation(const VisualAnimation& other) {
-	copy(other);
-}
-
-
-VisualAnimation& VisualAnimation::operator=(const VisualAnimation& other) {
-	if (this != &other) {
-		delete this->theTimeline;
-		delete this->animationIdentifier;
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualAnimation::copy(const VisualAnimation& other) {
-	this->theTimeline = new VisualTimeline(*other.theTimeline);
-	this->animationIdentifier = new VisualItemIdentifier(*other.animationIdentifier);
-	this->animatedProperty = other.animatedProperty;
-	this->remainingNumberOfRepeats = other.remainingNumberOfRepeats;
-	this->currentValue = other.currentValue;
-	this->currentValueIsSet = other.currentValueIsSet;
-	this->animateCallbackFunctionPtr = other.animateCallbackFunctionPtr;
-	this->userData = other.userData;
-	this->startDelayInMilliseconds = other.startDelayInMilliseconds;
-	this->status = other.status;
-	this->debugMode = other.debugMode;
-	this->minimumClampValue = other.minimumClampValue;
-	this->minimumClampValueIsSet = other.minimumClampValueIsSet;
-	this->maximumClampValue = other.maximumClampValue;
-	this->maximumClampValueIsSet = other.maximumClampValueIsSet;
-	this->currDebugHistoryEntry = other.currDebugHistoryEntry;
-	this->debugHistory = other.debugHistory;
-	this->debugHistoryIsInitialized = other.debugHistoryIsInitialized;
-}
-
-
-void VisualAnimation::setAnimateCallbackFunctionPtr(VisualAnimationCallback theCallback, void* someUserData) {
-	this->animateCallbackFunctionPtr = theCallback;
-	this->userData = someUserData;
-}
-
-
-OSStatus VisualAnimation::callAnimateCallbackFunction() {
-	OSStatus osStatus = noErr;
-	double currVal = this->theTimeline->getCurrentValue();
-	
-	if (this->debugMode == true) {
-		this->debugHistory[this->currDebugHistoryEntry] = currVal;
-		VisualGraphics::drawHistoryDiagram(this->debugHistory, this->currDebugHistoryEntry, 0.0, 1.0);
-		if ((this->currDebugHistoryEntry + 1) < this->maxNumberOfDebugHistoryEntries) {
-			this->currDebugHistoryEntry++;
-		} else {
-			this->currDebugHistoryEntry = 0;
-		}
-	}
-	if ((this->minimumClampValueIsSet == true) && (currVal < this->minimumClampValue)) {
-		osStatus = this->animateCallbackFunctionPtr(this->minimumClampValue, this->userData);
-		this->status = kIsDead;
-	} else if ((this->maximumClampValueIsSet == true) && (currVal > this->maximumClampValue)) {
-		osStatus = this->animateCallbackFunctionPtr(this->maximumClampValue, this->userData);
-		this->status = kIsDead;
-	} else {
-		osStatus = this->animateCallbackFunctionPtr(currVal, this->userData);
-	}
-	return osStatus;
-}
-
-
-VisualTimeline* VisualAnimation::getTimeline(void) {
-	return this->theTimeline;
-}
-
-
-void VisualAnimation::start() {
-	if (this->startDelayInMilliseconds > 0) {
-		VisualTiming::resetTimestamp(*(this->animationIdentifier));
-		// start() is called later by isRunning()
-		return;
-	}
-	if (this->remainingNumberOfRepeats == 0) {
-		this->remainingNumberOfRepeats = 1;
-	}
-	this->theTimeline->reset();
-	this->theTimeline->start(VisualAnimation::durationIsExceeded, this);
-	if (this->currentValueIsSet == true) {
-		// if we have clamp values, they may never be reached if the current value beyond (and moving direction does not fit)
-		// (e.g. if we call fadeOut with clampValue and continueCurrentValue when fadeIn just started)
-		// the requested end value should always be aimed
-		if ((this->minimumClampValueIsSet == true) && (this->currentValue < this->minimumClampValue)) {
-			if ((this->theTimeline->getMovingDirection() == kForward) && (theTimeline->getStartValue() > theTimeline->getEndValue())) {
-				this->theTimeline->setMovingDirection(kBackward);
-			} else if ((this->theTimeline->getMovingDirection() == kBackward) && (theTimeline->getEndValue() > theTimeline->getStartValue())) {
-				this->theTimeline->setMovingDirection(kForward);
-			}
-			this->maximumClampValue = this->minimumClampValue;
-			this->maximumClampValueIsSet = true;
-			this->minimumClampValue = 0.0;
-			this->minimumClampValueIsSet = false;
-		}
-		if ((this->maximumClampValueIsSet == true) && (this->currentValue > this->maximumClampValue)) {
-			if ((this->theTimeline->getMovingDirection() == kForward) && (theTimeline->getStartValue() < theTimeline->getEndValue())) {
-				this->theTimeline->setMovingDirection(kBackward);
-			} else if ((this->theTimeline->getMovingDirection() == kBackward) && (theTimeline->getEndValue() < theTimeline->getStartValue())) {
-				this->theTimeline->setMovingDirection(kForward);
-			}
-			this->minimumClampValue = this->maximumClampValue;
-			this->minimumClampValueIsSet = true;
-			this->maximumClampValue = 0.0;
-			this->maximumClampValueIsSet = false;
-		}
-
-		this->theTimeline->setCurrentValue(this->currentValue);
-
-	}
-	this->status = kIsRunning;
-}
-
-
-void VisualAnimation::stop() {
-	this->status = kIsDead;
-}
-
-
-void VisualAnimation::setDurationInMilliseconds(UInt32 numberOfMilliseconds) {
-	theTimeline->setDurationInMilliseconds(numberOfMilliseconds);
-}
-
-
-UInt32 VisualAnimation::getDurationInMilliseconds() {
-	return theTimeline->getDurationInMilliseconds();
-}
-
-
-void VisualAnimation::setCurrentValue(double aCurrentValue) {
-	this->currentValue = aCurrentValue;
-	this->currentValueIsSet = true;
-}
-
-
-void VisualAnimation::setStartValue(double aStartValue) {
-	theTimeline->setStartValue(aStartValue);
-}
-
-
-double VisualAnimation::getStartValue() {
-	return theTimeline->getStartValue();
-}
-
-
-void VisualAnimation::setEndValue(double anEndValue) {
-	theTimeline->setEndValue(anEndValue);
-}
-
-
-double VisualAnimation::getEndValue() {
-	return theTimeline->getEndValue();
-}
-
-
-void VisualAnimation::setMinClampValue(double aMinClampValue) {
-	this->minimumClampValue = aMinClampValue;
-	this->minimumClampValueIsSet = true;
-}
-
-
-void VisualAnimation::setMaxClampValue(double aMaxClampValue) {
-	this->maximumClampValue = aMaxClampValue;
-	this->maximumClampValueIsSet = true;
-}
-
-
-void VisualAnimation::setLoopMode(LoopMode aLoopMode, SInt32 requestedNumberOfLoops) {
-	if ((aLoopMode & kMirroredLoop) == kMirroredLoop) {
-		theTimeline->setRepeatMode(kRepeatMirrored);
-	} else if ((aLoopMode & kLoop) == kLoop) {
-		theTimeline->setRepeatMode(kRepeatFromStart);
-	}
-	this->remainingNumberOfRepeats = requestedNumberOfLoops;
-}
-
-
-UInt32 VisualAnimation::getStartDelayInMilliseconds() {
-	return this->startDelayInMilliseconds;
-}
-
-
-void VisualAnimation::setStartDelayInMilliseconds(UInt32 aStartDelayInMilliseconds) {
-	this->startDelayInMilliseconds = aStartDelayInMilliseconds;
-}
-
-
-const AnimatedProperty VisualAnimation::getAnimatedProperty() const {
-	return this->animatedProperty;
-}
-
-
-const bool VisualAnimation::isRunning(void) {
-	if (this->startDelayInMilliseconds > 0) {
-		UInt32 elapsedMillisecondsOfDelay = VisualTiming::getElapsedMilliSecsSinceReset(*(this->animationIdentifier));
-		if (elapsedMillisecondsOfDelay > this->startDelayInMilliseconds) {
-			this->startDelayInMilliseconds = 0;
-			this->start();
-		} else {
-			return false;
-		}
-	}
-	if (this->status == kIsRunning) {
-		return true;
-	} else {
-		return false;
-	}
-}
-
-
-const bool VisualAnimation::isDead(void) const {
-	if (this->status == kIsDead) {
-		return true;
-	} else {
-		return false;
-	}
-}
-
-
-const VisualItemIdentifier* const VisualAnimation::getIdentifier() const {
-	return this->animationIdentifier;
-}
-
-
-void VisualAnimation::setDebugMode(bool requestedDebugMode) {
-	this->debugMode = requestedDebugMode;
-	this->theTimeline->setDebugMode(requestedDebugMode);
-	if (this->debugHistoryIsInitialized == false) {
-		for (size_t i = 0; i < this->maxNumberOfDebugHistoryEntries; i++) {
-			debugHistory.push_back(0.0);
-		}
-		this->debugHistoryIsInitialized = true;
-	}
-}
-
-
-void VisualAnimation::durationIsExceeded(void* visualAnimation) {
-	reinterpret_cast<VisualAnimation*>(visualAnimation)->decrementRemainingNumberOfRepeats();
-}
-
-
-void VisualAnimation::decrementRemainingNumberOfRepeats() {
-
-	if (this->remainingNumberOfRepeats == kInfiniteRepetition) {
-		return;
-	}
-	
-	if (this->remainingNumberOfRepeats > 1) {
-		this->remainingNumberOfRepeats--;
-	} else {
-		this->stop();
-	}
-	
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h
deleted file mode 100644
index 59d2e16..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualAnimation.h
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAnimation.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualAnimation_h
-#define VisualAnimation_h
-
-#include <vector>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualTimeline; // Forward declaration (to avoid include of header file).
-	class VisualItemIdentifier; // Forward declaration (to avoid include of header file).
-
-	/** Animation callback */
-	typedef OSStatus (*VisualAnimationCallback)(double currentPosition, void* userData);
-
-	/**
-	 * The type of looping.
-	 */
-	typedef enum {
-		kNoLoop = 0x0, /**< 00000000 - After the duration of the timeline has been reached, the animation stops. */
-		kLoop = 0x2, /**< 00000010 - After the duration of the timeline has been reached, the timeline starts anew at the start.\ The timeline is always processed in forward direction. */
-		kMirroredLoop = 0x3 /**< 00000011 - After the duration of the timeline has been reached, the timeline is processed in backward direction.\ The moving direction toggles in mirrored loop. */
-	} LoopMode;
-
-	const SInt32 kInfiniteRepetition = -1;
-
-	/**
-	 * The property of the asset that is affected by the animation.
-	 */
-	typedef enum {
-		kUndefinedAnimatedProperty = 0, /**< No defined value. */
-		kCustomAnimatedProperty, /**< Custom property is animated. */
-		kAnimatedSize, /**< The animation affects the size of the asset. */
-		kAnimatedOpacity, /**< The animation affects the opacity of the asset. */
-		kAnimatedRotation /**< The animation affects the rotation of the asset. */
-	} AnimatedProperty;
-
-	/**
-	 * Calls a provided callback function for the time of the duration of the animation.\ The values range from 0.0 to 1.0.
-	 * The animation tries to reach the end value in the amount of time set by the duation value.
-	 * The speed of the animation is determined by the start value of the animation.
-	 */
-	class VisualAnimation {
-
-	public:
-
-		/**
-		 * The constructor.
-		 * @param anAnimatedProperty The property of the asset that is affected by the animation. 
-		 */
-		VisualAnimation(AnimatedProperty anAnimatedProperty);
-
-		/**
-		 * The destructor.
-		 */		
-		~VisualAnimation();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualAnimation.
-		 */
-		VisualAnimation(const VisualAnimation& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualAnimation.
-		 */
-		VisualAnimation& operator=(const VisualAnimation& other);
-
-		/**
-		 * Sets the callback function that is repeatedly called in animation's duration time.
-		 * @param theCallback Pointer to c-style function (static/class function).
-		 * @param someUserData Additional data (e.g.\ pointer to instance variable of initialized class).
-		 */
-		void setAnimateCallbackFunctionPtr(VisualAnimationCallback theCallback, void* someUserData);
-
-		/**
-		 * Calls the callback function to animate a property.
-		 * @return The return status of the callback function.
-		 */
-		OSStatus callAnimateCallbackFunction(void);
-
-		/**
-		 * Returns the VisualTimeline of the animation.
-		 * @return The VisualTimeline of the animation.
-		 */
-		VisualTimeline* getTimeline(void);
-
-		/**
-		 * Starts the Animation.
-		 * @remarks In case the start is delayed, the animation is only running after the delaying milliseconds did have passed.
-		 */
-		void start(void);
-
-		/**
-		 * Stops the Animation.
-		 */
-		void stop(void);
-
-		/**
-		 * Sets the duration of the animation.
-		 * @param numberOfMilliseconds The number of milliseconds the animation spans.
-		 */
-		void setDurationInMilliseconds(UInt32 numberOfMilliseconds);
-
-		/**
-		 * Returns the duration of the animation.
-		 * @return The duration of the animation.
-		 */
-		UInt32 getDurationInMilliseconds(void);
-
-		/**
-		 * Sets the current value of the animation.
-		 * @param aCurrentValue The current value of the animation.
-		 * @remarks The animation always ranges from start value to end value (default: 0.0 to 1.0).\ Setting a specific current value here means that the animation starts its first step with the specific current value.
-		 * Can be useful if an animation is supposed to continue at the point in time of a prior animation.\ The initial value of the constructor (0.0) does not change the current value.
-		 */
-		void setCurrentValue(double aCurrentValue);
-		
-		/**
-		 * Sets the start value of the animation.
-		 * @param aStartValue The start value of the animation.
-		 * @remarks Default is 0.0.
-		 */
-		void setStartValue(double aStartValue);
-
-		/**
-		 * Returns the start value of the animation.
-		 * @return The start value of the animation.
-		 */
-		double getStartValue(void);
-
-		/**
-		 * Sets the end value of the animation.
-		 * @param anEndValue The end value of the animation.
-		 * @remarks Default is 1.0.
-		 */
-		void setEndValue(double anEndValue);
-
-		/**
-		 * Returns the end value of the animation.
-		 * @return The end value of the animation.
-		 */
-		double getEndValue(void);
-
-		/**
-		 * Sets a minimum clamp value for the animation.
-		 * @param aMinClampValue The minimum clamp value of the animation.
-		 * @remarks The animation stops when the current value is lower than the minimum clamp value.\ The clamp value does not affect the speed of the animation (unlike start and end value).
-		 */
-		void setMinClampValue(double aMinClampValue);
-
-		/**
-		 * Sets a maximum clamp value for the animation.
-		 * @param aMaxClampValue The maximum clamp value of the animation.
-		 * @remarks The animation stops when the current value is higher than the maximum clamp value.\ The clamp value does not affect the speed of the animation (unlike start and end value).
-		 */
-		void setMaxClampValue(double aMaxClampValue);
-
-		/**
-		 * Sets the loop mode of the animation.
-		 * @param aLoopMode The requested loop mode.
-		 * @param requestedNumberOfLoops The number of times the animation should be repeated (default = 1).
-		 */
-		void setLoopMode(LoopMode aLoopMode, SInt32 requestedNumberOfLoops = 1);
-
-		/**
-		 * Returns the number of milliseconds until the animation is supposed to actually start.
-		 * @return The number of milliseconds until the animation is supposed to actually start.
-		 * @remarks The delay is set when calling setDurationInMilliseconds().\ The value is used by VisualStageControl.
-		 */
-		UInt32 getStartDelayInMilliseconds(void);
-
-		/**
-		 * Sets the number of milliseconds until the animation actually starts.
-		 * @param aStartDelayInMilliseconds The number of milliseconds until the animation actually starts.
-		 * @remarks The delay counts from the moment start() is called.
-		 */
-		void setStartDelayInMilliseconds(UInt32 aStartDelayInMilliseconds);
-
-		/**
-		 * Returns the animated property of the animation.
-		 * @return The animated property of the animation.
-		 */
-		const AnimatedProperty getAnimatedProperty(void) const;
-
-		/**
-		 * Answers the question whether the animation is (still) running.
-		 * @return True is the animation is (still) running.\ False otherwise.
-		 */
-		const bool isRunning(void);
-
-		/**
-		 * Answers the question whether the animation is dead.
-		 * @return True is the animation is dead.\ False otherwise.
-		 * @remarks The animation is dead when the duration is exceeded.\ VisualStageControl acts on a true return value and deletes the VisualAnimation.
-		 */
-		const bool isDead(void) const;
-
-		/**
-		 * Returns a pointer to the identifier of the animation.
-		 * @return A pointer to the identifier of the animation.
-		 */
-		const VisualItemIdentifier* const getIdentifier(void) const;
-
-		/**
-		 * Sets the debug mode of the animation
-		 * @param requestedDebugMode True if debug mode should be turned on, false if debug mode should be turned off.
-		 * @remarks Can be used to instrument custom ad hoc debugging.
-		 */	
-		void setDebugMode(bool requestedDebugMode);
-
-		/**
-		 * Callback function that is called by the timeline each time when the duration time is exceeded.
-		 * @param visualAnimation Pointer to instance of VisualAnimation.
-		 */
-		static void durationIsExceeded(void* visualAnimation);
-		
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualAnimation.
-		 */
-		void copy(const VisualAnimation& other);
-		
-		/** The property of the asset that is affected by the animation. */
-		AnimatedProperty animatedProperty;
-
-		/**
-		 * Decrement the number of remaining repeats.
-		 */
-		void decrementRemainingNumberOfRepeats(void);
-		
-		/** Specified current value. */
-		double currentValue;
-
-		/** True if the current value has been set, false otherwise. */
-		bool currentValueIsSet;
-
-		/** The pointer to the timeline of the animation. */
-		VisualTimeline* theTimeline;
-
-		/** The remaining number of times the animation should pass. */
-		SInt32 remainingNumberOfRepeats;
-		
-		/** The callback function that is called during the animation. */
-		VisualAnimationCallback animateCallbackFunctionPtr;
-		
-		/** Internally stored pointer to provided user data (e.g.\ pointer to instance variable of initialized class). */
-		void* userData;
-	
-		/** The identifier of the animation. */
-		VisualItemIdentifier* animationIdentifier;
-		
-		/** The number of milliseconds until the animation will be actually used by VisualStageControl. */
-		UInt32 startDelayInMilliseconds;
-		
-		bool debugMode; /**< True if in debug mode, false otherwise. */
-		
-		static const UInt32 maxNumberOfDebugHistoryEntries; /**< The maximum number of data entries stored in history for debug and monitoring purposes. */
-		
-		UInt32 currDebugHistoryEntry; /**< The current entry of the debug history. */
-		
-		/** Data entries stored for debug and monitoring purposes. */
-		typedef std::vector<double> DebugHistory;
-		
-		/** The DebugHistoryIterator is an iterator of the DebugHistory. */
-		typedef DebugHistory::iterator DebugHistoryIterator;
-		
-		/** The data entries stored for debug and monitoring purposes. */
-		DebugHistory debugHistory;
-		
-		/** True if the maximum number of data entries of debugHistory are initialized, false otherwise. */
-		bool debugHistoryIsInitialized;
-		
-		/** The possible status values of the VisualAnimation. */
-		typedef enum {
-			kIsNotRunning = 0, /**< Animation is not running. */
-			kIsRunning, /**< Animation is running. */
-			kIsDead /**< Animation ended. */
-		} VisualAnimationStatus;
-		
-		/** The status of the VisualAnimation. */
-		VisualAnimationStatus status;
-		
-		/** A possible minimum clamp value. */
-		double minimumClampValue;
-		
-		/** True if the minimum clamp value was set. */
-		bool minimumClampValueIsSet;
-
-		/** A possible maximum clamp value. */
-		double maximumClampValue;
-		
-		/** True if the maximum clamp value was set. */
-		bool maximumClampValueIsSet;
-
-	};
-
-}
-
-#endif /* VisualAnimation_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp
deleted file mode 100644
index 1af3850..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTimeline.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualTimeline.h"
-#include "VisualErrorHandling.h"
-#include "VisualTiming.h"
-#include "VisualItemIdentifier.h"
-
-
-
-using namespace VizKit;
-
-
-VisualTimeline::VisualTimeline() {
-	repeatMode = kRepeatFromStart;
-	movingDirection = kForward;
-	durationIdentifier = new VisualItemIdentifier;
-	visualInterpolation = new VisualInterpolation;
-	durationInMilliseconds = 3000;
-	VisualTiming::addDurationItemToDurationMap(*durationIdentifier);
-	elapsedMilliseconds = 0;
-	offsetMilliseconds = 0;
-	currentValue = 0.0;
-	isStopped = false;
-	debugMode = false;
-	elapsedTimeGreaterThanDurationCallback = NULL;
-	userData = NULL;
-}
-
-
-VisualTimeline::~VisualTimeline() {
-	delete visualInterpolation;
-	delete durationIdentifier;
-}
-
-
-VisualTimeline::VisualTimeline(const VisualTimeline& other) {
-	copy(other);
-}
-
-
-VisualTimeline& VisualTimeline::operator=(const VisualTimeline& other) {
-	if (this != &other) {
-		delete this->visualInterpolation;
-		delete this->durationIdentifier;
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualTimeline::copy(const VisualTimeline& other) {
-	this->repeatMode = other.repeatMode;
-	this->movingDirection = other.movingDirection;
-	this->visualInterpolation = new VisualInterpolation(*other.visualInterpolation);
-	this->durationIdentifier = new VisualItemIdentifier;
-	VisualTiming::addDurationItemToDurationMap(*(this->durationIdentifier));
-	this->durationInMilliseconds = other.durationInMilliseconds;
-	this->elapsedMilliseconds = other.elapsedMilliseconds;
-	this->offsetMilliseconds = other.offsetMilliseconds;
-	this->currentValue = other.currentValue;
-	this->isStopped = other.isStopped;
-	this->debugMode = other.debugMode;
-	this->elapsedTimeGreaterThanDurationCallback = other.elapsedTimeGreaterThanDurationCallback;
-	this->userData = other.userData;
-}
-
-
-void VisualTimeline::setStartValue(double aStartValue) {
-	this->visualInterpolation->setStartValue(aStartValue);
-	this->offsetMilliseconds = 0;
-}
-
-
-double VisualTimeline::getStartValue() {
-	return this->visualInterpolation->getStartValue();
-}
-
-
-void VisualTimeline::setEndValue(double anEndValue) {
-	this->visualInterpolation->setEndValue(anEndValue);
-	this->offsetMilliseconds = 0;
-}
-
-
-double VisualTimeline::getEndValue() {
-	return this->visualInterpolation->getEndValue();
-}
-
-
-void VisualTimeline::setDurationInMilliseconds(UInt32 numberOfMilliseconds) {
-	double currVal;
-	currVal = this->getCurrentValue();
-	this->durationInMilliseconds = numberOfMilliseconds;
-	this->elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset(*(this->durationIdentifier));
-	this->setCurrentValue(currVal);
-	VisualTiming::resetTimestamp(*(this->durationIdentifier));
-}
-
-
-UInt32 VisualTimeline::getDurationInMilliseconds() {
-	return this->durationInMilliseconds;
-}
-
-
-void VisualTimeline::setRepeatMode(RepeatMode aRepeatMode) {
-	this->repeatMode = aRepeatMode;
-}
-
-
-RepeatMode VisualTimeline::getRepeatMode() {
-	return this->repeatMode;
-}
-
-
-void VisualTimeline::setCurrentValue(double newValue) {
-	double currStartValue = this->visualInterpolation->getStartValue();
-	double currEndValue = this->visualInterpolation->getEndValue();
-	double minVal = (currStartValue < currEndValue) ? currStartValue : currEndValue;
-	double maxVal = (currEndValue > currStartValue) ? currEndValue : currStartValue;
-	/*
-	if (newValue < minVal) {
-		// distance expanded
-		if (currStartValue < currEndValue) {
-			this->setStartValue(newValue);
-			currStartValue = newValue;
-		} else {
-			this->setEndValue(newValue);
-			currEndValue = newValue;
-		}
-	}
-	if (newValue > maxVal) {
-		// distance expanded
-		if (currStartValue < currEndValue) {
-			this->setEndValue(newValue);
-			currEndValue = newValue;
-		} else {
-			this->setStartValue(newValue);
-			currStartValue = newValue;
-		}
-	}
-	*/
-	
-	/* always aim to reach endValue */
-	if (newValue < minVal) {
-		if (currStartValue < currEndValue) {
-			this->setStartValue(newValue);
-			this->setEndValue(currEndValue - (minVal - newValue));
-		} else {
-			this->setEndValue(newValue);
-			this->setStartValue(currStartValue - (minVal - newValue));
-		}
-		currStartValue = this->visualInterpolation->getStartValue();
-		currEndValue = this->visualInterpolation->getEndValue();
-	} else if (newValue > maxVal) {
-		if (currStartValue < currEndValue) {
-			this->setEndValue(newValue);
-			this->setStartValue(currStartValue + (newValue - maxVal));
-		} else {
-			this->setStartValue(newValue);
-			this->setEndValue(currEndValue + (newValue - maxVal));
-		}
-		currStartValue = this->visualInterpolation->getStartValue();
-		currEndValue = this->visualInterpolation->getEndValue();
-	}
-	
-	double distance = 0.0;
-	if (currStartValue < currEndValue) {
-		distance = currEndValue - currStartValue;
-	} else {
-		distance = currStartValue - currEndValue;
-	}
-	if (distance == 0.0) return; // prevent divison by zero
-	if (this->movingDirection == kForward) {
-		if (currStartValue < currEndValue) {
-			this->offsetMilliseconds = (UInt32)((double)this->durationInMilliseconds * ((newValue - currStartValue) / distance));
-		} else {
-			this->offsetMilliseconds = (UInt32)((double)this->durationInMilliseconds * ((currStartValue - newValue) / distance));
-		}
-	} else if (this->movingDirection == kBackward) {
-		if (currStartValue < currEndValue) {
-			this->offsetMilliseconds = (UInt32)((double)this->durationInMilliseconds * ((currEndValue - newValue) / distance));
-		} else {
-			this->offsetMilliseconds = (UInt32)((double)this->durationInMilliseconds * ((newValue - currEndValue) / distance));
-		}
-	}
-}
-
-
-double VisualTimeline::getCurrentValue() {
-	if (this->isStopped == true) {
-		return this->currentValue;
-	}
-	if (this->durationInMilliseconds == 0) {
-		return this->currentValue;
-	}
-	this->elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset(*(this->durationIdentifier)) + this->offsetMilliseconds;
-	if (this->elapsedMilliseconds >= this->durationInMilliseconds) {
-		if (this->repeatMode == kRepeatMirrored) {
-			if (this->movingDirection == kForward) {
-				this->currentValue = this->visualInterpolation->getEndValue();
-				this->movingDirection = kBackward;
-			} else if (this->movingDirection == kBackward) {
-				this->currentValue = this->visualInterpolation->getStartValue();
-				this->movingDirection = kForward;
-			}
-		} else if (this->repeatMode == kRepeatFromStart) {
-			if (this->movingDirection == kForward) {
-				this->currentValue = this->visualInterpolation->getEndValue();
-			} else if (this->movingDirection == kBackward) {
-				this->currentValue = this->visualInterpolation->getStartValue();
-			}
-		}
-		VisualTiming::resetTimestamp(*(this->durationIdentifier));
-		this->offsetMilliseconds = 0;
-		this->elapsedTimeDidExceedDuration();
-	} else {
-		if (this->movingDirection == kForward) {
-			this->currentValue = this->visualInterpolation->getValueAtPosition((double)this->elapsedMilliseconds / (double)this->durationInMilliseconds);
-		} else if (this->movingDirection == kBackward) {
-			this->currentValue = this->visualInterpolation->getValueAtPosition(1.0 - (double)this->elapsedMilliseconds / (double)this->durationInMilliseconds);
-		}
-	}
-	return this->currentValue;
-}
-
-
-void VisualTimeline::reset() {
-	VisualTiming::resetTimestamp(*(this->durationIdentifier));
-	this->offsetMilliseconds = 0;
-	if (this->movingDirection == kForward) {
-		this->currentValue = this->visualInterpolation->getStartValue();
-	} else if (this->movingDirection == kBackward) {
-		this->currentValue = this->visualInterpolation->getEndValue();
-	}
-}
-
-
-void VisualTimeline::stop() {
-	this->isStopped = true;
-}
-
-
-void VisualTimeline::start(VisualTimelineElapsedTimeDidExceedDurationCallback aCallbackFunction, void* someUserData) {
-	this->isStopped = false;
-	this->elapsedTimeGreaterThanDurationCallback = aCallbackFunction;
-	this->userData = someUserData;
-}
-
-
-void VisualTimeline::resume() {
-	UInt32 elapsedMillisecs = this->elapsedMilliseconds;
-	VisualTiming::resetTimestamp(*(this->durationIdentifier));
-	this->currentValue = this->visualInterpolation->getStartValue();
-	if (this->movingDirection == kForward) {
-		this->offsetMilliseconds = elapsedMillisecs;
-	} else if (this->movingDirection == kBackward) {
-		this->offsetMilliseconds = this->durationInMilliseconds - elapsedMillisecs;
-	}
-	this->isStopped = false;
-}
-
-
-void VisualTimeline::setInterpolationType(InterpolationType anInterpolationType) {
-	this->visualInterpolation->setType(anInterpolationType);
-}
-
-
-void VisualTimeline::setMovingDirection(MovingDirection direction) {
-	this->movingDirection = direction;
-}
-
-
-MovingDirection VisualTimeline::getMovingDirection() {
-	return this->movingDirection;
-}
-
-
-void VisualTimeline::setDebugMode(bool requestedDebugMode) {
-	this->debugMode = requestedDebugMode;
-}
-
-
-void VisualTimeline::elapsedTimeDidExceedDuration() {
-	if (this->elapsedTimeGreaterThanDurationCallback != NULL) {
-		this->elapsedTimeGreaterThanDurationCallback(this->userData);
-	}
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h
deleted file mode 100644
index 9701941..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTimeline.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTimeline.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualTimeline_h
-#define VisualTimeline_h
-
-#include "VisualInterpolation.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualItemIdentifier; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * The type of repetition.
-	 */
-	typedef enum {
-		kRepeatFromStart = 0, /**< After the duration of the timeline has been reached, the timeline starts anew at the start.\ The timeline is always processed in forward direction. */
-		kRepeatMirrored /**< After the duration of the timeline has been reached, the timeline is processed in backward direction.\ The moving direction toggles in mirrored loop. */
-	} RepeatMode;	
-
-	/**
-	 * The internal type of direction.
-	 */
-	typedef enum {
-		kForward = 0, /**< The timeline is processed in forward direction. */
-		kBackward /**< The timeline is processed in backward direction. */
-	} MovingDirection;
-
-	/** Callback function that is called each time when elapsed time exceeds duration time. */
-	typedef void (*VisualTimelineElapsedTimeDidExceedDurationCallback)(void* userData);
-
-	/**
-	 * Time synchronized interpolation between values.
-	 * Calculates timed interpolated values.
-	 */
-	class VisualTimeline {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualTimeline();
-
-		/**
-		 * The destructor.
-		 */		
-		~VisualTimeline();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualTimeline.
-		 */
-		VisualTimeline(const VisualTimeline& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualTimeline.
-		 */
-		VisualTimeline& operator=(const VisualTimeline& other);
-
-		/**
-		 * Sets the start value of the timeline.
-		 * @param aStartValue A start value.
-		 */
-		void setStartValue(double aStartValue);
-
-		/**
-		 * Returns the start value of the timeline.
-		 * @return The start value of the timeline.
-		 */
-		double getStartValue(void);
-
-		/**
-		 * Sets the end value of the timeline.
-		 * @param anEndValue An end value.
-		 */
-		void setEndValue(double anEndValue);
-
-		/**
-		 * Returns the end value of the timeline.
-		 * @return The end value of the timeline.
-		 */
-		double getEndValue(void);
-
-		/**
-		 * Sets the duration of the timeline.
-		 * @param numberOfMilliseconds The number of milliseconds the timeline spans.
-		 */
-		void setDurationInMilliseconds(UInt32 numberOfMilliseconds);
-
-		/**
-		 * Returns the duration of the timeline.
-		 * @return The duration of the timeline.
-		 */
-		UInt32 getDurationInMilliseconds(void);
-
-		/**
-		 * Sets the repeat mode of the timeline.
-		 * @param aRepeatMode The requested repeat mode.
-		 */
-		void setRepeatMode(RepeatMode aRepeatMode);
-
-		/**
-		 * Returns the current repeat mode of the timeline.
-		 * @return The current repeat mode of the timeline.
-		 */
-		RepeatMode getRepeatMode(void);
-
-		/**
-		 * Sets the current value of the timeline.
-		 * @param newValue The value to which the timeline is supposed to jump.
-		 * @remarks The value of the timeline can be set from the outside (e.g.\ in case it is created new and should start with a established value).\ Normally only the start and end values are set and the client asks for the current value.
-		 */
-		void setCurrentValue(double newValue);
-
-		/**
-		 * Returns the current value of the timeline.
-		 * @return The current value of the timeline.
-		 */
-		double getCurrentValue(void);
-
-		/**
-		 * Resets the timeline.\ The timeline starts anew at start.
-		 */
-		void reset(void);
-
-		/**
-		 * Starts the timeline.
-		 * @param aCallbackFunction A callback function that should be called each time when elapsed time exceeds duration time.
-		 * @param someUserData Additional data (e.g.\ pointer to instance variable of initialized class).
-		 */
-		void start(VisualTimelineElapsedTimeDidExceedDurationCallback aCallbackFunction = NULL, void* someUserData = NULL);
-
-		/**
-		 * Stops the timeline.
-		 */		
-		void stop(void);
-
-		/**
-		 * Resumes the timeline at the point in time where it was stopped the last time.
-		 */	
-		void resume(void);
-		
-		/**
-		 * Sets the type of interpolation.
-		 * @param anInterpolationType The requested type of interpolation.
-		 */	
-		void setInterpolationType(InterpolationType anInterpolationType);
-
-		/**
-		 * Sets the running direction of the timeline.
-		 * @param direction The requested running direction of the timeline.
-		 */	
-		void setMovingDirection(MovingDirection direction);
-
-		/**
-		 * Returns the running direction of the timeline.
-		 * @return The currently running direction of the timeline.
-		 */	
-		MovingDirection getMovingDirection(void);
-
-		/**
-		 * Sets the debug mode of the timeline object.
-		 * @param requestedDebugMode True if debug mode should be turned on, false if debug mode should be turned off.
-		 * @remarks Can be used to instrument custom ad hoc debugging.
-		 */	
-		void setDebugMode(bool requestedDebugMode);
-			
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualTimeline.
-		 */
-		void copy(const VisualTimeline& other);
-
-		/** Call callback function that is called each time when elapsed time exceeds duration time. */
-		void elapsedTimeDidExceedDuration(void);
-
-		UInt32 durationInMilliseconds; /**< The duration of the timeline in milliseconds. */
-		
-		RepeatMode repeatMode; /**< The repeat mode of the timeline. */
-		
-		VisualItemIdentifier* durationIdentifier; /**< The internal identifier of the timeline. */
-		
-		MovingDirection movingDirection; /**< The moving direction of the timeline. */
-		
-		VisualInterpolation* visualInterpolation; /**< The interpolation model. */
-		
-		UInt32 elapsedMilliseconds; /**< The elapsed milliseconds. */
-		
-		UInt32 offsetMilliseconds; /**< Internally used offset in milliseconds. */
-		
-		double currentValue; /**< The current value as it has been evaluated the last time. */
-		
-		bool isStopped; /**< True if the timeline has been stopped, false otherwise. */
-		
-		bool debugMode; /**< True if in debug mode, false otherwise. */
-
-		/** Pointer to callback function that is called each time when elapsed time exceeds duration time. */
-		VisualTimelineElapsedTimeDidExceedDurationCallback elapsedTimeGreaterThanDurationCallback;
-
-		/** Internally stored pointer to provided user data (e.g.\ pointer to instance variable of initialized class). */
-		void* userData;
-	};
-	
-
-}
-
-#endif /* VisualTimeline_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp
deleted file mode 100644
index e283a80..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.cpp
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTiming.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualTiming.h"
-#include "VisualErrorHandling.h"
-
-#if TARGET_OS_MAC
-#include <sys/time.h> // gettimeofday(), timeval
-#endif
-
-
-
-using namespace VizKit;
-
-
-VisualTiming* VisualTiming::theVisualTiming = NULL;
-
-
-VisualTiming::VisualTiming() {
-#if TARGET_OS_WIN
-	QueryPerformanceFrequency(&freq);
-#endif
-}
-
-
-VisualTiming::~VisualTiming() {
-	for (DurationMapIterator mapIt = this->durationMap.begin(); mapIt != this->durationMap.end(); mapIt++) {
-		delete (*mapIt).second;
-		(*mapIt).second = NULL;
-	}
-	theVisualTiming->durationMap.clear();
-}
-
-
-VisualTiming* VisualTiming::getInstance() {
-    if (theVisualTiming == NULL) {
-		theVisualTiming = new VisualTiming;
-    }
-	if (theVisualTiming == NULL) {
-		writeLog("ERR: init theVisualTiming failed");
-	}
-	return theVisualTiming;
-}
-
-
-void VisualTiming::dispose() {
-	if (theVisualTiming != NULL) {
-		delete theVisualTiming;
-		theVisualTiming = NULL;
-	}
-}
-
-
-void VisualTiming::setTimestampOfPlayerCall() {
-	theVisualTiming = VisualTiming::getInstance();
-#if TARGET_OS_MAC
-    struct timeval tod;
-    SInt8 retVal;
-    retVal = gettimeofday(&tod, NULL);
-    
-    if (retVal == 0) {
-        theVisualTiming->timestampOfPlayerCall = tod.tv_sec + tod.tv_usec * 1.0E-6;
-    } else {
-        if (retVal == -1) {
-            //writeLog("Error in file \"%s\" (line %d): function \"%s\":\n%s\n", __FILE__, __LINE__, __func__, strerror(errno));
-			writeLog("Error in setTimestamp");
-        } else {
-            //writeLog("Unqualified error in file \"%s\" (line %d): function \"%s\"\n", __FILE__, __LINE__, __func__);
-			writeLog("Unqualified error in setTimestamp");
-        }
-    }
-#endif
-
-#if TARGET_OS_WIN
-	QueryPerformanceCounter(&theVisualTiming->timestampOfPlayerCall);
-#endif
-
-}
-
-
-UInt32 VisualTiming::getElapsedMilliSecsSinceReset(const char* const durationName) {
-	VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName);
-	theVisualTiming = VisualTiming::getInstance();
-	UInt32 elapsedMilliSeconds = theVisualTiming->getElapsedMilliSecsSinceReset(*visualDurationIdentifier);
-	delete visualDurationIdentifier;
-	return elapsedMilliSeconds;
-}
-
-
-UInt32 VisualTiming::getElapsedMilliSecsSinceReset(const VisualItemIdentifier& visualDurationIdentifier) {
-	double timestampDelta;
-	theVisualTiming = VisualTiming::getInstance();
-	DurationMapIterator it;
-	it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	if (it == theVisualTiming->durationMap.end()) {
-		DurationItem* durationItem;
-		durationItem = new DurationItem;
-		durationItem->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		durationItem->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-		theVisualTiming->durationMap[visualDurationIdentifier] = durationItem;
-		it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	}
-	timestampDelta = theVisualTiming->getTimeDelta(theVisualTiming->timestampOfPlayerCall, it->second->firstTimestamp);
-	it->second->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-	return (UInt32)(timestampDelta * 1000.0);
-
-}
-
-
-UInt32 VisualTiming::getElapsedMilliSecsSinceLastCall(const char* const durationName) {
-	VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName);
-	theVisualTiming = VisualTiming::getInstance();
-	UInt32 elapsedMilliSeconds = theVisualTiming->getElapsedMilliSecsSinceLastCall(*visualDurationIdentifier);
-	delete visualDurationIdentifier;
-	return elapsedMilliSeconds;
-}
-
-
-UInt32 VisualTiming::getElapsedMilliSecsSinceLastCall(const VisualItemIdentifier& visualDurationIdentifier) {
-	double timestampDelta;
-	theVisualTiming = VisualTiming::getInstance();
-	DurationMapIterator it;
-	it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	if (it == theVisualTiming->durationMap.end()) {
-		DurationItem* durationItem;
-		durationItem = new DurationItem;
-		durationItem->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		durationItem->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-		theVisualTiming->durationMap[visualDurationIdentifier] = durationItem;
-		it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	}
-	timestampDelta = theVisualTiming->getTimeDelta(theVisualTiming->timestampOfPlayerCall, it->second->lastTimestamp);
-	it->second->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-	return (UInt32)(timestampDelta * 1000.0);
-
-}
-
-
-void VisualTiming::resetTimestamp(const char* const durationName) {
-	theVisualTiming = VisualTiming::getInstance();
-	VisualItemIdentifier* visualDurationIdentifier = VisualItemIdentifier::createVisualItemIdentifier(durationName);
-	theVisualTiming->resetTimestamp(*visualDurationIdentifier);
-	delete visualDurationIdentifier;
-}
-
-
-void VisualTiming::resetTimestamp(const VisualItemIdentifier& visualDurationIdentifier) {
-	theVisualTiming = VisualTiming::getInstance();
-	DurationMapIterator it;
-	it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	if (it == theVisualTiming->durationMap.end()) {
-		DurationItem* durationItem;
-		durationItem = new DurationItem;
-		durationItem->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		durationItem->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-		theVisualTiming->durationMap[visualDurationIdentifier] = durationItem;
-	} else {
-		it->second->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		it->second->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-	}
-}
-
-
-const char* const VisualTiming::getCurrentMillisecsDateTime() {
-
-#if TARGET_OS_MAC
-    double timestampVal;
-#endif
-#if TARGET_OS_WIN32
-	LARGE_INTEGER timestampVal;
-
-	SYSTEMTIME timeVal;
-#endif
-#if TARGET_OS_MAC
-    struct timeval tod;
-	struct tm* ptm;
-    SInt8 retVal;
-	
-	theVisualTiming = VisualTiming::getInstance();
-	
-    retVal = gettimeofday(&tod, NULL);
-    
-    if (retVal == 0) {
-        timestampVal = tod.tv_sec + tod.tv_usec * 1.0E-6;
-		ptm = localtime ((time_t*)&tod.tv_sec);
-		strftime (theVisualTiming->dateTimeStr, sizeof (theVisualTiming->dateTimeStr), "%Y%m%d%H%M%S", ptm);
-		//printf("test33: %s\n", time_string);
-		//dateTimeInt = atoi(time_string);
-		//printf("test44: %ld\n", dateTimeInt);
-    } else {
-        if (retVal == -1) {
-            //writeLog("Error in file \"%s\" (line %d): function \"%s\":\n%s\n", __FILE__, __LINE__, __func__, strerror(errno));
-			writeLog("Error in getCurrentMillisecsDateTime");
-        } else {
-            //writeLog("Unqualified error in file \"%s\" (line %d): function \"%s\"\n", __FILE__, __LINE__, __func__);
-			writeLog("Unqualified error in getCurrentMillisecsDateTime");
-        }
-    }
-#endif
-
-#if TARGET_OS_WIN32
-	QueryPerformanceCounter(&timestampVal);
-	// DWORD(theVisualTiming->timestampVal * 1000 / theVisualTiming->freq)
-	GetSystemTime(&timeVal);
-
-	sprintf(theVisualTiming->dateTimeStr, "%d%d%d%d%d%d", timeVal.wYear, timeVal.wMonth, timeVal.wDay, timeVal.wHour, timeVal.wMinute, timeVal.wSecond);
-	// SYSTEMTIME st
-	// GetSystemTime()
-#endif
-
-	//printf("timeTest: %ld\n", theVisualTiming->timestampVal);
-	return theVisualTiming->dateTimeStr;
-
-}
-
-
-#if TARGET_OS_MAC
-double VisualTiming::getTimeDelta(double young_timestamp, double old_timestamp) {
-	return (young_timestamp - old_timestamp);
-#endif
-#if TARGET_OS_WIN
-double VisualTiming::getTimeDelta(LARGE_INTEGER young_timestamp, LARGE_INTEGER old_timestamp) {
-	return (young_timestamp.QuadPart - old_timestamp.QuadPart)/((double)theVisualTiming->freq.QuadPart);
-#endif
-}
-
-
-void VisualTiming::addDurationItemToDurationMap(const VisualItemIdentifier& visualDurationIdentifier) {
-	theVisualTiming = VisualTiming::getInstance();
-	DurationMapIterator it;
-	it = theVisualTiming->durationMap.find(visualDurationIdentifier);
-	if (it == theVisualTiming->durationMap.end()) {
-		DurationItem* durationItem = new DurationItem;
-		durationItem->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		durationItem->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-		theVisualTiming->durationMap[visualDurationIdentifier] = durationItem;
-	} else {
-		it->second->firstTimestamp = theVisualTiming->timestampOfPlayerCall;
-		it->second->lastTimestamp = theVisualTiming->timestampOfPlayerCall;
-	}
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h b/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h
deleted file mode 100644
index 648a2da..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/Timing/VisualTiming.h
+++ /dev/null
@@ -1,235 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTiming.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
- 
-#ifndef VisualTiming_h
-#define VisualTiming_h
-
-#include "VisualItemIdentifier.h"
-
-#include <map>
-#include <string>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h> // LARGE_INTEGER
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Provides facilities to deal with and calculate time values. All public methods are declared static.
-	 */
-	class VisualTiming {
-
-	public:
-
-		/**
-		 * Disposes the visual timing.
-		 */
-		static void dispose(void);
-		
-		/**
-		 * Stores a timestamp of the player call.
-		 */
-		static void setTimestampOfPlayerCall(void);
-
-		/**
-		 * Returns the number of milliseconds that have elapsed since first call of the duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function returns the milliseconds that have passed since 
-		 * the duration item first asked for its elapsed milliseconds.
-		 * @param durationName The identifier of the duration.
-		 * @return The number of milliseconds that have elapsed since first call of the duration item.
-		 */
-		static UInt32 getElapsedMilliSecsSinceReset(const char* const durationName);
-
-		/**
-		 * Returns the number of milliseconds that have elapsed since first call of the duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function returns the milliseconds that have passed since 
-		 * the duration item first asked for its elapsed milliseconds.
-		 * @param visualDurationIdentifier The identifier of the duration.
-		 * @return The number of milliseconds that have elapsed since first call of the duration item.
-		 */
-		static UInt32 getElapsedMilliSecsSinceReset(const VisualItemIdentifier& visualDurationIdentifier);
-		
-		/**
-		 * Returns the number of milliseconds that have elapsed since the last call of the duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function returns the milliseconds that have passed since the last render call.
-		 * @param durationName The identifier of the duration.
-		 * @return The number of milliseconds that have elapsed since the last call.
-		 */
-		static UInt32 getElapsedMilliSecsSinceLastCall(const char* const durationName);
-
-		/**
-		 * Returns the number of milliseconds that have elapsed since the last call of the duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function returns the milliseconds that have passed since the last render call.
-		 * @param visualDurationIdentifier The identifier of the duration.
-		 * @return The number of milliseconds that have elapsed since the last call.
-		 */
-		static UInt32 getElapsedMilliSecsSinceLastCall(const VisualItemIdentifier& visualDurationIdentifier);
-		
-		/**
-		 * Resets the stored timing values for this duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function resets the timing values for this duration item.
-		 * @param durationName The identifier of the duration.
-		 */
-		static void resetTimestamp(const char* const durationName);
-
-		/**
-		 * Resets the stored timing values for this duration item.
-		 * Time is measured individually for single duration items. 
-		 * The duration items are itentified by name.
-		 * This function resets the timing values for this duration item.
-		 * @param visualDurationIdentifier The identifier of the duration.
-		 */
-		static void resetTimestamp(const VisualItemIdentifier& visualDurationIdentifier);
-
-		/**
-		 * Returns the current date and time including milliseconds.
-		 * The date and time are represented as YYYYMMDDHHMISS000 (year-month-day-hour-minute-seconds-milliseconds).
-		 */	
-		static const char* const getCurrentMillisecsDateTime(void);
-		
-		/**
-		 * Adds a duration item to the duration map.
-		 * @param visualDurationIdentifier The identifier of the duration item.
-		 */	
-		static void addDurationItemToDurationMap(const VisualItemIdentifier& visualDurationIdentifier);
-		
-	private:
-
-		/**
-		 * Returns a pointer to the VisualTiming. Initializes VisualTiming if neccessary. 
-		 * VisualTiming is a singleton.
-		 * @return A pointer to the VisualTiming.
-		 */
-		static VisualTiming* getInstance(void);
-		
-		/**
-		 * A data entry that stores timing values of a duration item.
-		 */
-		typedef struct {
-#if TARGET_OS_MAC
-			double firstTimestamp; /**< The timestamp of the first call of the duration item. */
-			double lastTimestamp; /**< The timestamp of the last call of the duration item. */
-#endif
-#if TARGET_OS_WIN
-			LARGE_INTEGER firstTimestamp;
-			LARGE_INTEGER lastTimestamp;
-#endif
-		} DurationItem;
-
-		/** A DurationMap is a map of duration items. */
-		typedef std::map<VisualItemIdentifier, DurationItem*> DurationMap;
-
-		/** The map of the duration items. */
-		DurationMap durationMap;
-
-		/** A DurationMapIterator is the iterator of a DurationMap. */
-		typedef DurationMap::iterator DurationMapIterator;
-		
-		/**
-		 * Returns the difference between one timestamp and another.
-		 * @param young_timestamp The timestamp that was recorded before old_timestamp.
-		 * @param old_timestamp The timestamp that was recorded after young_timestamp.
-		 * @return The difference between young_timestamp and old_timestamp.
-		 */
-#if TARGET_OS_MAC
-		double getTimeDelta(double young_timestamp, double old_timestamp);
-#endif
-#if TARGET_OS_WIN
-		double getTimeDelta(LARGE_INTEGER young_timestamp, LARGE_INTEGER old_timestamp);
-#endif
-
-		/** The timestamp of the current render call. */
-#if TARGET_OS_MAC
-		double timestampOfPlayerCall;
-#endif
-#if TARGET_OS_WIN
-		LARGE_INTEGER timestampOfPlayerCall;
-#endif
-
-		/** VisualTiming is a singleton class. Pointer to private instance is handled internally. */
-		static VisualTiming* theVisualTiming;
-		
-		/** The frequency of QueryPerformanceFrequency. Windows only. */
-#if TARGET_OS_WIN
-		LARGE_INTEGER freq; // QueryPerformanceFrequency (unsigned __int64 ?)
-#endif
-
-		/** A string representing date and time (YYYYMMDDHHMISS). */
-		char dateTimeStr[32];
-
-		/** The constructor.\ VisualTiming is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualTiming();
-
-		/**
-		 * The destructor.
-		 */
-		~VisualTiming();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualTiming.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualTiming(const VisualTiming& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualTiming& operator=(const VisualTiming& other);
-
-	};
-
-}
-
-
-#endif /* VisualTiming_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp
deleted file mode 100644
index 92d00a9..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.cpp
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualColorTools.cpp
- *
- */
-
-
-/*
- * Copyright (C) 2002  Terence M. Welsh
- *
- * Rgbhsl is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Rgbhsl is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-#include "VisualColorTools.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-void VisualColorTools::rgb2hsl(const float r, const float g, const float b, float &h, float &s, float &l) {
-    int huezone = 0;
-    float rr, gg, bb;
-    // find huezone
-    if(r >= g) {
-        huezone = 0;
-        if(b > r)
-            huezone = 4;
-        else{
-            if(b > g)
-                huezone = 5;
-        }
-    }
-    else{
-        huezone = 1;
-        if(b > g)
-            huezone = 2;
-        else{
-            if(b > r)
-                huezone = 3;
-        }
-    }
-    // luminosity
-    switch(huezone) {
-        case 0:
-        case 5:
-            l = r;
-            rr = 1.0f;
-            gg = g / l;
-            bb = b / l;
-            break;
-        case 1:
-        case 2:
-            l = g;
-            gg = 1.0f;
-            rr = r / l;
-            bb = b / l;
-            break;
-        default:
-            l = b;
-            bb = 1.0f;
-            rr = r / l;
-            gg = g / l;
-    }
-    if(l == 0.0) {
-        h = 0.0;
-        s = 1.0;
-        return;
-    }
-    // saturation
-    switch(huezone) {
-        case 0:
-        case 1:
-            s = 1.0f - b;
-            bb = 0.0f;
-            rr = 1.0f - ((1.0f - rr) / s);
-            gg = 1.0f - ((1.0f - gg) / s);
-            break;
-        case 2:
-        case 3:
-            s = 1.0f - r;
-            rr = 0.0f;
-            gg = 1.0f - ((1.0f - gg) / s);
-            bb = 1.0f - ((1.0f - bb) / s);
-            break;
-        default:
-            s = 1.0f - g;
-            gg = 0.0f;
-            rr = 1.0f - ((1.0f - rr) / s);
-            bb = 1.0f - ((1.0f - bb) / s);
-    }
-    // hue
-    switch(huezone) {
-        case 0:
-            h = g / 6.0f;
-            break;
-        case 1:
-            h = ((1.0f - r) / 6.0f) + 0.166667f;
-            break;
-        case 2:
-            h = (b / 6.0f) + 0.333333f;
-            break;
-        case 3:
-            h = ((1.0f - g) / 6.0f) + 0.5f;
-            break;
-        case 4:
-            h = (r / 6.0f) + 0.666667f;
-            break;
-        default:
-            h = ((1.0f - b) / 6.0f) + 0.833333f;
-    }
-}
-
-
-void VisualColorTools::hsl2rgb(const float h, const float s, const float l, float &r, float &g, float &b) {
-    // hue influence
-    if(h < 0.166667) {  // full red, some green
-        r = 1.0;
-        g = h * 6.0f;
-        b = 0.0;
-    }
-    else {
-        if(h < 0.5) {  // full green
-            g = 1.0;
-            if(h < 0.333333) {  // some red
-                r = 1.0f - ((h - 0.166667f) * 6.0f);
-                b = 0.0;
-            }
-            else{  // some blue
-                b = (h - 0.333333f) * 6.0f;
-                r = 0.0;
-            }
-        }
-        else{
-            if(h < 0.833333) {  // full blue
-                b = 1.0;
-                if(h < 0.666667) {  // some green
-                    g = 1.0f - ((h - 0.5f) * 6.0f);
-                    r = 0.0;
-                }
-                else{  // some red
-                    r = (h - 0.666667f) * 6.0f;
-                    g = 0.0;
-                }
-            }
-            else{  // full red, some blue
-                r = 1.0;
-                b = 1.0f - ((h - 0.833333f) * 6.0f);
-                g = 0.0;
-            }
-        }
-    }
-    // saturation influence
-    r = 1.0f - (s * (1.0f - r));
-    g = 1.0f - (s * (1.0f - g));
-    b = 1.0f - (s * (1.0f - b));
-    // luminosity influence
-    r *= l;
-    g *= l;
-    b *= l;
-}
-
-
-void VisualColorTools::hslTween(const float h1, const float s1, const float l1,
-                  const float h2, const float s2, const float l2, const float tween, const int direction,
-                  float &outh, float &outs, float &outl) {
-    // hue
-    if(!direction) {  // forward around color wheel
-        if(h2 >= h1)
-            outh = h1 + (tween * (h2 - h1));
-        else{
-            outh = h1 + (tween * (1.0f - (h1 - h2)));
-            if(outh > 1.0)
-                outh -= 1.0;
-        }
-    }
-    else{  // backward around color wheel
-        if(h1 >= h2)
-            outh = h1 - (tween * (h1 - h2));
-        else{
-            outh = h1 - (tween * (1.0f - (h2 - h1)));
-            if(outh < 0.0)
-                outh += 1.0;
-        }
-    }
-    // saturation
-    outs = s1 + (tween * (s2 - s1));
-    // luminosity
-    outl = l1 + (tween * (l2 - l1));
-}
-
-
-void VisualColorTools::rgbTween(const float r1, const float g1, const float b1,
-                              const float r2, const float g2, const float b2, const float tween, const int direction,
-                              float &outr, float &outg, float &outb) {
-    float h1, s1, l1, h2, s2, l2, outh, outs, outl;
-    rgb2hsl(r1, g1, b1, h1, s1, l1);
-    rgb2hsl(r2, g2, b2, h2, s2, l2);
-    hslTween(h1, s1, l1, h2, s2, l2, tween, direction, outh, outs, outl);
-    hsl2rgb(outh, outs, outl, outr, outg, outb);
-}
-
-
-
-
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h b/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h
deleted file mode 100644
index 656e4f9..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualColorTools.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualColorTools.h
- *
- */
-
-
-#ifndef VisualColorTools_h
-#define VisualColorTools_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-/*
- * Copyright (C) 2002  Terence M. Welsh
- *
- * Rgbhsl is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Rgbhsl is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
- 
-// This library converts between colors defined with RGB values and HSL
-// values.  It also finds in-between colors by moving linearly through
-// HSL space.
-// All functions take values for r, g, b, h, s, and l between 0.0 and 1.0
-// (RGB = red, green, blue;  HSL = hue, saturation, luminosity)
-
-
-
-namespace VizKit {
-
-	/**
-	 * Various functionality to deal with rgb and hsl color values.
-	 */
-	class VisualColorTools {
-
-	public:
-
-		/**
-		 * Converts rgb values to their hsl equivalent.
-		 * @param r The red value.
-		 * @param g The green value.
-		 * @param b The blue value.
-		 * @param[out] h The hue value.
-		 * @param[out] s The saturation value.
-		 * @param[out] l The lightness value.
-		 */
-		static void rgb2hsl(const float r, const float g, const float b, float &h, float &s, float &l);
-
-		/**
-		 * Converts hsl values to their rgb equivalent.
-		 * @param h The hue value.
-		 * @param s The saturation value.
-		 * @param l The lightness value.
-		 * @param[out] r The red value.
-		 * @param[out] g The green value.
-		 * @param[out] b The blue value.
-		 */
-		static void hsl2rgb(const float h, const float s, const float l, float &r, float &g, float &b);
-
-		/**
-		 * Calculates a tween value for two sets of hsl values.
-		 * A tween value of 0.0 will output the first
-		 * color while a tween value of 1.0 will output the second color.
-		 * A value of 0 for direction indicates a positive progression around
-		 * the color wheel (i.e. red -> yellow -> green -> cyan...).  A value of
-		 * 1 does the opposite.
-		 * @param h1 The first hue value.
-		 * @param s1 The first saturation value.
-		 * @param l1 The first lightness value.
-		 * @param h2 The second hue value.
-		 * @param s2 The second saturation value.
-		 * @param l2 The second lightness value.
-		 * @param tween The tween value.
-		 * @param direction The direction value.
-		 * @param[out] outh The calculated hue value.
-		 * @param[out] outs The calculated saturation value.
-		 * @param[out] outl The calculated lightness value.
-		 */
-		static void hslTween(const float h1, const float s1, const float l1,
-					  const float h2, const float s2, const float l2, const float tween, const int direction,
-					  float &outh, float &outs, float &outl);
-
-		/**
-		 * Calculates a tween value for two sets of rgb values.
-		 * A tween value of 0.0 will output the first
-		 * color while a tween value of 1.0 will output the second color.
-		 * A value of 0 for direction indicates a positive progression around
-		 * the color wheel (i.e. red -> yellow -> green -> cyan...).  A value of
-		 * 1 does the opposite.
-		 * @param r1 The first hue value.
-		 * @param g1 The first saturation value.
-		 * @param b1 The first lightness value.
-		 * @param r2 The second hue value.
-		 * @param g2 The second saturation value.
-		 * @param b2 The second lightness value.
-		 * @param tween The tween value.
-		 * @param direction The direction value.
-		 * @param[out] outr The calculated red value.
-		 * @param[out] outg The calculated green value.
-		 * @param[out] outb The calculated blue value.
-		 */
-		static void rgbTween(const float r1, const float g1, const float b1,
-					  const float r2, const float g2, const float b2, const float tween, const int direction,
-					  float &outr, float &outg, float &outb);
-
-	private:
-
-		/** The constructor.\ VisualColorTools is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualColorTools();
-
-		/** The destructor.\ VisualColorTools is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualColorTools();
-		
-	};
-
-}
-
-#endif /* VisualColorTools_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp
deleted file mode 100644
index 1ac068d..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.cpp
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualErrorHandling.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualErrorHandling.h"
-#include "VisualConfiguration.h"
-#include "VisualPlayerState.h" 
-
-#include <stdio.h>
-
-#if TARGET_OS_WIN
-#include <windows.h>
-#endif
-
-
-#if TARGET_OS_WIN
-#define PERR(bSuccess, api) {if(!(bSuccess)) printf("%s: Error %d from %s on line %d\n", __FILE__, GetLastError(), api, __LINE__);}
-#endif
-
-
-
-void writeLog(const char* const infoStr) {
-#if TARGET_OS_MAC
-	printf("%s\n", infoStr);
-#endif
-#if TARGET_OS_WIN
-	HANDLE hSource;
-	char* szList[1];
-	szList[0] = const_cast<char*>(infoStr);
-	hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::kVisualPluginName);
-	if (hSource != NULL)  {
-		ReportEvent(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCSTR*)szList, NULL);
-		DeregisterEventSource(hSource);
-	}
-#endif
-}
-
-void writeLogW(const wchar_t* const infoStr) {
-#if TARGET_OS_MAC
-	printf("%ls\n", infoStr);
-#endif
-#if TARGET_OS_WIN
-	HANDLE hSource;
-	wchar_t* szList[1];
-	szList[0] = const_cast<wchar_t*>(infoStr);
-	hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::kVisualPluginName);
-	if (hSource != NULL)  {
-		ReportEventW(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCWSTR*)szList, NULL);
-		DeregisterEventSource(hSource);
-	}
-#endif
-}
-
-
-void writeDebugLog(const char* const infoStr) {
-	VizKit::VisualPlayerState* state = VizKit::VisualPlayerState::getInstance();
-	if (state->isInDebugMode() == true) {
-#if TARGET_OS_MAC
-		printf("%s\n", infoStr);
-#endif
-#if TARGET_OS_WIN
-		HANDLE hSource;
-		char* szList[1];
-		szList[0] = const_cast<char*>(infoStr);
-		hSource = RegisterEventSource(NULL, VizKit::VisualConfiguration::kVisualPluginName);
-		if (hSource != NULL)  {
-			ReportEvent(hSource, EVENTLOG_INFORMATION_TYPE, 0, 0, NULL, 1, 0, (LPCSTR*)szList, NULL);
-			DeregisterEventSource(hSource);
-		}
-#endif
-	}
-}
-
-
-
-#if TARGET_OS_WIN
-
-void writeLastErrorLog(char* lpszFunction) {
-	TCHAR szBuf[1024];
-	LPVOID lpMsgBuf;
-	DWORD dw = GetLastError();
-	FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
-		NULL,
-		dw,
-		MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
-		(LPSTR) &lpMsgBuf,
-		0, 
-		NULL);
-	
-	wsprintf(szBuf, "%s failed with error %d: %s", lpszFunction, dw, lpMsgBuf);
-
-	writeLog(szBuf);
-	LocalFree(lpMsgBuf);
-}
-
-#endif
-
-
-
-#if TARGET_OS_WIN
-
-/*********************************************************************
-* FUNCTION: addSourceToRegistry(void)                                *
-*                                                                    *
-* PURPOSE: Add a source name key, message DLL name value, and        *
-*          message type supported value to the registry              *
-*                                                                    *
-* INPUT: source name, path of message DLL                            *
-*                                                                    *
-* RETURNS: none                                                      *
-*********************************************************************/
-
-void addSourceToRegistry(char* pszAppname, char* pszMsgDLL)
-{
-  HKEY hk;                      /* registry key handle */
-  DWORD dwData;
-  BOOL bSuccess;
-
-  /* When an application uses the RegisterEventSource or OpenEventLog
-     function to get a handle of an event log, the event loggging service
-     searches for the specified source name in the registry. You can add a
-     new source name to the registry by opening a new registry subkey
-     under the Application key and adding registry values to the new
-     subkey. */
-
-  /* Create a new key for our application */
-  bSuccess = RegCreateKey(HKEY_LOCAL_MACHINE,
-      "SYSTEM\\CurrentControlSet\\Services\\EventLog\\Application\\NTP", &hk);
-  PERR(bSuccess == ERROR_SUCCESS, "RegCreateKey");
-
-  /* Add the Event-ID message-file name to the subkey. */
-  bSuccess = RegSetValueEx(hk,  /* subkey handle         */
-      "EventMessageFile",       /* value name            */
-      0,                        /* must be zero          */
-      REG_EXPAND_SZ,            /* value type            */
-      (LPBYTE) pszMsgDLL,       /* address of value data */
-      strlen(pszMsgDLL) + 1);   /* length of value data  */
-  PERR(bSuccess == ERROR_SUCCESS, "RegSetValueEx");
-
-  /* Set the supported types flags and addit to the subkey. */
-  dwData = EVENTLOG_ERROR_TYPE | EVENTLOG_WARNING_TYPE | EVENTLOG_INFORMATION_TYPE;
-  bSuccess = RegSetValueEx(hk,  /* subkey handle                */
-      "TypesSupported",         /* value name                   */
-      0,                        /* must be zero                 */
-      REG_DWORD,                /* value type                   */
-      (LPBYTE) &dwData,         /* address of value data        */
-      sizeof(DWORD));           /* length of value data         */
-  PERR(bSuccess == ERROR_SUCCESS, "RegSetValueEx");
-  RegCloseKey(hk);
-  return;
-}
-
-/*********************************************************************
-* FUNCTION: reportAnEvent(DWORD dwIdEvent, WORD cStrings,            *
-*                         LPTSTR *ppszStrings);                      *
-*                                                                    *
-* PURPOSE: add the event to the event log                            *
-*                                                                    *
-* INPUT: the event ID to report in the log, the number of insert     *
-*        strings, and an array of null-terminated insert strings     *
-*                                                                    *
-* RETURNS: none                                                      *
-*********************************************************************/
-
-void reportAnIEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings)
-{
-  HANDLE hAppLog;
-  BOOL bSuccess;
-
-  /* Get a handle to the Application event log */
-  hAppLog = RegisterEventSource(NULL,   /* use local machine      */
-      "NTP");                   /* source name                 */
-  PERR(hAppLog, "RegisterEventSource");
-
-  /* Now report the event, which will add this event to the event log */
-  bSuccess = ReportEvent(hAppLog,       /* event-log handle            */
-      EVENTLOG_INFORMATION_TYPE,      /* event type                  */
-      0,                        /* category zero               */
-      dwIdEvent,                /* event ID                    */
-      NULL,                     /* no user SID                 */
-      cStrings,                 /* number of substitution strings     */
-      0,                        /* no binary data              */
-      (LPCSTR*)pszStrings,               /* string array                */
-      NULL);                    /* address of data             */
-  PERR(bSuccess, "ReportEvent");
-  DeregisterEventSource(hAppLog);
-  return;
-}
-
-void reportAnWEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings)
-{
-  HANDLE hAppLog;
-  BOOL bSuccess;
-
-  /* Get a handle to the Application event log */
-  hAppLog = RegisterEventSource(NULL,   /* use local machine      */
-      "NTP");                   /* source name                 */
-  PERR(hAppLog, "RegisterEventSource");
-
-  /* Now report the event, which will add this event to the event log */
-  bSuccess = ReportEvent(hAppLog,       /* event-log handle            */
-      EVENTLOG_WARNING_TYPE,      /* event type                  */
-      0,                        /* category zero               */
-      dwIdEvent,                /* event ID                    */
-      NULL,                     /* no user SID                 */
-      cStrings,                 /* number of substitution strings     */
-      0,                        /* no binary data              */
-      (LPCSTR*)pszStrings,               /* string array                */
-      NULL);                    /* address of data             */
-  PERR(bSuccess, "ReportEvent");
-  DeregisterEventSource(hAppLog);
-  return;
-}
-
-void reportAnEEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings)
-{
-  HANDLE hAppLog;
-  BOOL bSuccess;
-
-  /* Get a handle to the Application event log */
-  hAppLog = RegisterEventSource(NULL,   /* use local machine      */
-      "NTP");                   /* source name                 */
-  PERR(hAppLog, "RegisterEventSource");
-
-  /* Now report the event, which will add this event to the event log */
-  bSuccess = ReportEvent(hAppLog,       /* event-log handle            */
-      EVENTLOG_ERROR_TYPE,      /* event type                  */
-      0,                        /* category zero               */
-      dwIdEvent,                /* event ID                    */
-      NULL,                     /* no user SID                 */
-      cStrings,                 /* number of substitution strings     */
-      0,                        /* no binary data              */
-      (LPCSTR*)pszStrings,               /* string array                */
-      NULL);                    /* address of data             */
-  PERR(bSuccess, "ReportEvent");
-  DeregisterEventSource(hAppLog);
-  return;
-}
-
-
-#endif
-
-
-
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h b/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h
deleted file mode 100644
index 60525e4..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualErrorHandling.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualErrorHandling.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualErrorHandling_h
-#define VisualErrorHandling_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* ErrorHandling can be used to write log information to a log file. */
-
-
-/**
- * Writes a 8-bit string to the system log file.
- * @param infoStr The 8-bit string to write to log file.
- */
-void writeLog(const char* const infoStr);
-
-/**
- * Writes a wchar_t string to the system log file.
- * @param infoStr The wchar_t string to write to log file.
- */
-void writeLogW(const wchar_t* const infoStr);
-
-/**
- * Writes a string to the system log file if player is in debug mode.
- * @param infoStr The string to write to log file.
- */
-void writeDebugLog(const char* const infoStr);
-
-#if TARGET_OS_WIN
-	/**
-	 * Writes the last error to the system log file.\ Windows-only.
-	 * @param lpszFunction The name of the function where the error occured.
-	 */
-	void writeLastErrorLog(char* lpszFunction);
-
-
-	void addSourceToRegistry(char* pszAppname, char* pszMsgDLL);
-
-	void reportAnIEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings);
-
-	void reportAnWEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings);
-
-	void reportAnEEvent(UInt32 dwIdEvent, UInt16 cStrings, char* pszStrings);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* VisualErrorHandling_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp
deleted file mode 100644
index 042f83c..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualInterpolation.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualInterpolation.h"
-#include "VisualErrorHandling.h"
-
-#include <math.h>
-#include <stdio.h>
-
-
-
-#ifndef M_PI
-#define M_PI 3.14159265358979323846264338327950288
-#endif
-
-
-using namespace VizKit;
-
-
-VisualInterpolation::VisualInterpolation(InterpolationType anInterpolationType) {
-	startValue = 0.0;
-	endValue = 1.0;
-	calcDistance();
-	interpolationType = anInterpolationType;
-}
-
-
-VisualInterpolation::~VisualInterpolation() {
-	// NULL
-}
-
-
-VisualInterpolation::VisualInterpolation(const VisualInterpolation& other) {
-	copy(other);
-}
-
-
-VisualInterpolation& VisualInterpolation::operator=(const VisualInterpolation& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualInterpolation::copy(const VisualInterpolation& other) {
-	this->startValue = other.startValue;
-	this->endValue = other.endValue;
-	this->distance = other.distance;
-	this->interpolationType = other.interpolationType;
-}
-
-
-void VisualInterpolation::setStartValue(double aStartValue) {
-	this->startValue = aStartValue;
-	this->calcDistance();
-}
-
-		
-void VisualInterpolation::setEndValue(double anEndValue) {
-	this->endValue = anEndValue;
-	this->calcDistance();
-}
-
-
-double VisualInterpolation::getStartValue() {
-	return this->startValue;
-}
-		
-
-double VisualInterpolation::getEndValue() {
-	return this->endValue;
-}
-
-
-double VisualInterpolation::getValueAtPosition(double position) {
-	double valueAtPosition = 0.0;
-	if (position < 0.0 || position > 1.0) {
-		char errStr[64];
-		printf("%f\n", position);
-		sprintf(errStr, "invalid position %f in getValueAtPosition() of VisualInterpolation", position);
-		writeLog(errStr);
-		return valueAtPosition;
-	}
-	if (interpolationType == kSinusoidalInterpolation) {
-		position = (-1.0 * cos(position * M_PI) / 2.0) + 0.5;
-	}
-	if (this->startValue > this->endValue) {
-		valueAtPosition = this->startValue - (this->distance * position);
-	} else if (this->startValue < this->endValue) {
-		valueAtPosition = this->startValue + (this->distance * position);
-	} else {
-		valueAtPosition = this->startValue;
-	}
-	return valueAtPosition;
-}
-
-
-void VisualInterpolation::setType(InterpolationType anInterpolationType) {
-	this->interpolationType = anInterpolationType;
-}
-
-
-void VisualInterpolation::calcDistance() {
-	if (this->startValue > this->endValue) {
-		this->distance = this->startValue - this->endValue;
-	} else if (this->startValue < this->endValue) {
-		this->distance = this->endValue - this->startValue;
-	} else {
-		this->distance = 0.0;
-	}
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h b/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h
deleted file mode 100644
index 30c53bb..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualInterpolation.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualInterpolation.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualInterpolation_h
-#define VisualInterpolation_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Types of interpolation.
-	 */
-	typedef enum {
-		kLinearInterpolation = 0, /**< Linear interpolation. */
-		kSinusoidalInterpolation /**< Sinusoidal interpolation. */
-	} InterpolationType;
-
-	/**
-	 * Interpolation between two values.
-	 */
-	class VisualInterpolation {
-
-	public:
-
-		/**
-		 * The constructor.
-		 * @param anInterpolationType Default interpolation is linear.
-		 */	
-		VisualInterpolation(InterpolationType anInterpolationType = kLinearInterpolation);
-
-		/**
-		 * The destructor.
-		 */	
-		~VisualInterpolation();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualInterpolation.
-		 */
-		VisualInterpolation(const VisualInterpolation& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Another VisualInterpolation.
-		 */
-		VisualInterpolation& operator=(const VisualInterpolation& other);
-		
-		/**
-		 * Sets the start value of the interpolation.
-		 * @param aStartValue A start value.
-		 */
-		void setStartValue(double aStartValue);
-
-		/**
-		 * Sets the end value of the interpolation.
-		 * @param anEndValue An end value.
-		 */
-		void setEndValue(double anEndValue);
-
-		/**
-		 * Returns the start value of the interpolation.
-		 * @return The start value.
-		 */
-		double getStartValue(void);
-
-		/**
-		 * Returns the end value of the interpolation.
-		 * @return The end value.
-		 */
-		double getEndValue(void);
-
-		/**
-		 * Returns the computed value at a specific position.
-		 * @param position The position of the interpolation.\ Position can be between 0.0 and 1.0.
-		 * @return The interpolated value.
-		 */
-		double getValueAtPosition(double position);
-
-		/**
-		 * Sets the type of interpolation.
-		 * @param anInterpolationType The type of interpolation.
-		 * @remarks Linear and sinusoidal interpolation are possible.
-		 */
-		void setType(InterpolationType anInterpolationType);
-	
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualInterpolation.
-		 */
-		void copy(const VisualInterpolation& other);
-		
-		void calcDistance(); /**< Internal method to compute the distance between start and end value. */
-		
-		double startValue; /**< The start value. */
-		
-		double endValue; /**< The end value. */
-		
-		double distance; /**< The calculated distance between start and end value. */
-		
-		InterpolationType interpolationType; /**< The type of interpolation used (linear, sinusoidal). */
-	
-	};
-	
-	typedef VisualInterpolation* VisualInterpolationRef; /**< Pointer to instance typedefed as ref data type. */
-
-}
-
-#endif /* VisualInterpolation_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp
deleted file mode 100644
index 0c7552c..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.cpp
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualItemIdentifier.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualItemIdentifier.h"
-#include "VisualErrorHandling.h"
-
-#include <string>
-
-
-
-using namespace VizKit;
-
-
-VisualItemIdentifier::VisualItemIdentifierNameTokenMap VisualItemIdentifier::visualItemIdentifierNameTokenMap;
-
-
-VisualItemIdentifier::VisualItemIdentifier() {
-	strcpy(name, "\0");
-	token = VisualItemIdentifier::getNextToken();
-}
-
-
-VisualItemIdentifier::VisualItemIdentifier(const char* const aName, UInt32 aToken) {
-	strcpy(name, aName);
-	token = aToken;
-}
-
-
-VisualItemIdentifier::VisualItemIdentifier(const char* const aName) {
-	strcpy(name, aName);
-	std::string itemIdentifierString(aName);
-	VisualItemIdentifierNameTokenMapIterator it = VisualItemIdentifier::visualItemIdentifierNameTokenMap.find(itemIdentifierString);
-	if (it != VisualItemIdentifier::visualItemIdentifierNameTokenMap.end()) {
-		token = it->second;
-	} else {
-		token = VisualItemIdentifier::getNextToken();
-		VisualItemIdentifier::visualItemIdentifierNameTokenMap[itemIdentifierString] = token;
-	}
-}
-
-
-VisualItemIdentifier::~VisualItemIdentifier() {
-	// null
-}
-
-
-VisualItemIdentifier::VisualItemIdentifier(const VisualItemIdentifier& other) {
-	this->copy(other);
-}
-
-
-VisualItemIdentifier& VisualItemIdentifier::operator=(const VisualItemIdentifier& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-bool VisualItemIdentifier::operator<(const VisualItemIdentifier& other) const {
-	bool compareResult = false;
-	if (this->token < other.token) {
-		compareResult = true;
-	}
-	return compareResult;
-}
-
-
-bool VisualItemIdentifier::operator==(const VisualItemIdentifier& other) {
-	bool compareResult = false;
-	if (this->token == other.token) {
-		compareResult = true;
-	}
-	return compareResult;
-}
-
-
-bool VisualItemIdentifier::operator!=(const VisualItemIdentifier& other) {
-	return !(*this == other);
-}
-
-
-VisualItemIdentifier* VisualItemIdentifier::createVisualItemIdentifier(const char* const aName) {
-	VisualItemIdentifier* requestedVisualItemIdentifier = NULL;
-	UInt32 token = 0;
-	std::string itemIdentifierString(aName);
-	VisualItemIdentifierNameTokenMapIterator it = VisualItemIdentifier::visualItemIdentifierNameTokenMap.find(itemIdentifierString);
-	if (it != VisualItemIdentifier::visualItemIdentifierNameTokenMap.end()) {
-		token = it->second;
-	} else {
-		token = VisualItemIdentifier::getNextToken();
-		VisualItemIdentifier::visualItemIdentifierNameTokenMap[itemIdentifierString] = token;
-	}
-	requestedVisualItemIdentifier = new VisualItemIdentifier(aName, token);
-	return requestedVisualItemIdentifier;
-}
-
-
-const char* const VisualItemIdentifier::getName() {
-	return this->name;
-}
-
-
-void VisualItemIdentifier::copy(const VisualItemIdentifier& other) {
-	if (strlen(other.name) > 0) {
-		strcpy(this->name, other.name);
-	} else {
-		strcpy(this->name, "\0");
-	}
-	this->token = other.token;
-}
-
-
-UInt32 VisualItemIdentifier::getNextToken() {
-	static UInt32 theToken = 1;
-	if (theToken > 4294967295UL) {
-		writeLog("ERR: getNextToken: MAX exceeded");
-		theToken = 1;
-	}
-	theToken += 1;
-	return theToken;
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h b/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h
deleted file mode 100644
index 7a8b9dd..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualItemIdentifier.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualItemIdentifier.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualItemIdentifier_h
-#define VisualItemIdentifier_h
-
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Identifier of an item (like e.g.\ a VisualDuaration or a VisualNurbs).
-	 * Identifiers can be shared by supplying a name. If another VisualItemIdentifier with the same name has been created already, it is returned by VisualItemIdentifierRegistry's getVisualItemIdentifier(). 
-	 */
-	class VisualItemIdentifier {
-	
-	public:
-	
-		/**
-		 * The constructor.
-		 */
-		VisualItemIdentifier();
-		
-		/**
-		 * Another constructor.
-		 * @param aName An optional identifier name (for shared VisualItemIdentifiers).
-		 */
-		VisualItemIdentifier(const char* const aName);
-		
-		/**
-		 * The destructor.
-		 */		
-		~VisualItemIdentifier();
-		
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualItemIdentifier.
-		 */
-		VisualItemIdentifier(const VisualItemIdentifier& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualItemIdentifier& operator=(const VisualItemIdentifier& other);
-
-		/**
-		 * Less than operator.
-		 * @param other Another VisualItemIdentifier.
-		 * @remarks The less than operator is used by std::map for find() and sorting (if VisualItemIdentifier is used as key_type).
-		 */
-		bool operator<(const VisualItemIdentifier& other) const;
-		
-		/**
-		 * Equality operator.
-		 * @param other Another VisualItemIdentifier.
-		 */
-		bool operator==(const VisualItemIdentifier& other);
-
-		/**
-		 * Inequality operator.
-		 * @param other Another VisualItemIdentifier.
-		 */
-		bool operator!=(const VisualItemIdentifier& other);
-
-		/**
-		 * Returns a VisualItemIdentifier identified by name.\ By using a name as token, the same identifier can be used at different places.
-		 * @param aName The name of the VisualItemIdentifier.
-		 * @return A pointer to a visualItemIdentifier identified by its name.
-		 * @remarks The caller has to release the allocated memory by calling delete() on the pointer.
-		 */			
-		static VisualItemIdentifier* createVisualItemIdentifier(const char* const aName);
-
-		/**
-		 * Returns the name (NULL if there is none).
-		 * @return The optional identifier name.
-		 */		
-		const char* const getName(void);
-
-	private:
-
-		/**
-		 * Private constructor.
-		 * @param aName Name of VisualItemIdentifier.
-		 * @param aToken Token of VisualItemIdentifier.
-		 */
-		VisualItemIdentifier(const char* const aName, UInt32 aToken);
-		
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualItemIdentifier.
-		 */
-		void copy(const VisualItemIdentifier& other);
-		
-		/**
-		 * The optional identifier name (for shared VisualItemIdentifiers).
-		 */	
-		char name[128];
-
-		/**
-		 * Internal method to receive the next valid token.
-		 */	
-		static UInt32 getNextToken();
-		
-		/**
-		 * The internal identifier of the VisualItemIdentifier.
-		 * @remarks The internal identifier stays the same across copies and instances. Since it is typed as 32bit unsigned integer the number of identifiers is limited to 4294967296.
-		 */	
-		UInt32 token;
-
-		/** A VisualItemIdentifierTokenNameMap is a map of names and tokens. */
-		typedef std::map<std::string, UInt32> VisualItemIdentifierNameTokenMap;
-		
-		/** A map of names and tokens. */
-		static VisualItemIdentifierNameTokenMap visualItemIdentifierNameTokenMap;
-		
-		/** A VisualItemIdentifierNameTokenMapIterator is an iterator of a VisualItemIdentifierNameTokenMap. */
-		typedef VisualItemIdentifierNameTokenMap::iterator VisualItemIdentifierNameTokenMapIterator;
-
-	};
-	
-}
-
-#endif /* VisualItemIdentifier_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp
deleted file mode 100644
index b812269..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.cpp
+++ /dev/null
@@ -1,345 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualQuickTime.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualQuickTime.h"
-#include "VisualErrorHandling.h"
-#include "VisualDataStore.h"
-
-
-
-using namespace VizKit;
-
-
-OSErr VisualQuickTime::initialize() {
-	OSErr err = noErr;
-#if TARGET_OS_WIN
-	char errLog[256];
-	err = InitializeQTML(0);
-	if (err != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return err;
-	}
-	err = EnterMovies();
-	if (err != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return err;
-	}
-#endif
-	return err;
-}
-
-
-OSErr VisualQuickTime::terminate() {
-	OSErr err = noErr;
-#if TARGET_OS_WIN
-	ExitMovies();
-	TerminateQTML();
-#endif
-	return err;
-}
-
-
-OSStatus VisualQuickTime::getGraphicsImporterForFile(const VisualFile& aFile, GraphicsImportComponent& importComponent, OSType fileType) {
-	OSErr err = noErr;
-	OSStatus osStatus = noErr;
-	char errLog[256];
-	FSSpec fsSpec;
-	importComponent = NULL;
-	
-	osStatus = VisualFile::setFSSpecByFileRef(aFile, fsSpec);
-	if (osStatus != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", osStatus, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return osStatus;
-	}
-
-	if (fileType != '    ') {
-		osStatus = VisualQuickTime::getGraphicsImporterComponentForFileType(fileType, importComponent);
-		if (osStatus != noErr) {
-			sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", osStatus, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-			return osStatus;
-		}
-		ComponentResult compErr = GraphicsImportSetDataFile(importComponent, &fsSpec);
-		if (compErr != noErr) {
-			sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-			return static_cast<OSStatus>(compErr);
-		}
-	} else {
-		err = GetGraphicsImporterForFile(&fsSpec, &importComponent);
-		if (err != noErr) {
-			sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", err, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-			return static_cast<OSStatus>(err);
-		}
-	}
-	
-	return osStatus;
-}
-
-
-OSStatus VisualQuickTime::getGraphicsImporterForHandle(Handle dataHandle, GraphicsImportComponent& importComponent, OSType fileType) {
-	OSErr err = noErr;
-	OSStatus status = noErr;
-	if (fileType != '    ') {
-		status = VisualQuickTime::getGraphicsImporterComponentForFileType(fileType, importComponent);
-		if (status != noErr) return status;
-		ComponentResult compErr = GraphicsImportSetDataHandle(importComponent, dataHandle);
-		if (compErr != noErr) return static_cast<OSStatus>(1001);
-	} else {
-		err = GetGraphicsImporterForDataRef(dataHandle, HandleDataHandlerSubType, &importComponent);
-	}
-	return static_cast<OSStatus>(err);
-}
-
-
-OSStatus VisualQuickTime::getImageDimensions(GraphicsImportComponent& importComponent, UInt32& width, UInt32& height) {
-
-	width = 0;
-	height = 0;
-
-	ImageDescriptionHandle anImageDescriptionHdl = (ImageDescriptionHandle)NewHandle(sizeof(ImageDescriptionHandle));
-	HLock((Handle)anImageDescriptionHdl);
-
-	ComponentResult compErr = GraphicsImportGetImageDescription(importComponent, &anImageDescriptionHdl);
-	if (compErr != noErr) return static_cast<OSStatus>(1001);
-	
-	width = (*anImageDescriptionHdl)->width;
-	height = (*anImageDescriptionHdl)->height;
-
-	HUnlock((Handle)anImageDescriptionHdl);
-	DisposeHandle((Handle)anImageDescriptionHdl);
-	
-	return noErr;
-}
-
-
-OSStatus VisualQuickTime::setMaxQuality(GraphicsImportComponent& importComponent) {
-	ComponentResult compErr = GraphicsImportSetQuality(importComponent, codecLosslessQuality);
-	if (compErr != noErr) return static_cast<OSStatus>(1001);
-	return noErr;
-}
-
-
-OSStatus VisualQuickTime::flipImportMatrix(GraphicsImportComponent& importComponent, UInt32 imageWidth, UInt32 imageHeight) {
-	MatrixRecord matrix;
-	SetIdentityMatrix(&matrix);
-	TranslateMatrix(&matrix, -X2Fix(0.5 * imageWidth), -X2Fix(0.5 * imageHeight));
-	ScaleMatrix(&matrix, X2Fix(1.0), X2Fix(-1.0), X2Fix (0.0), X2Fix (0.0));	
-	TranslateMatrix(&matrix, X2Fix(0.5 * imageWidth), X2Fix(0.5 * imageHeight));		
-	ComponentResult compErr = GraphicsImportSetMatrix(importComponent, &matrix);
-	if (compErr != noErr) return static_cast<OSStatus>(1001);
-	return noErr;
-}
-
-
-#if TARGET_OS_MAC
-CGImageRef VisualQuickTime::createCGImageRef(GraphicsImportComponent& importComponent) {
-	CGImageRef imageRef = NULL;
-	ComponentResult compErr = GraphicsImportCreateCGImage(importComponent, &imageRef, kGraphicsImportCreateCGImageUsingCurrentSettings);
-	if (compErr != noErr) {
-		char errLog[256];
-		sprintf(errLog, "GraphicsImportCreateCGImage err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return NULL;
-	}
-	return imageRef;
-}
-#endif
-
-
-#if TARGET_OS_WIN
-UInt32* VisualQuickTime::getBitmapOfDrawing(GraphicsImportComponent& importComponent, UInt32 width, UInt32 height) {
-
-	char errLog[256];
-	CGrafPtr gSavePort = nil;
-	GDHandle gSaveDevice = nil;
-	GWorldPtr coverArtGWorld = NULL;
-	ComponentResult compErr = noErr;
-
-	UInt32* bitmapData = (UInt32*)calloc(width * height, sizeof(UInt32));
-
-	if (bitmapData == NULL) {
-		writeLog("no bitmapData in getBitmapOfDrawing");
-		return NULL;
-	}
-	OSType pixelFormat = k32BGRAPixelFormat;
-
-	Rect destRect;
-	destRect.top = 0;
-	destRect.left = 0;
-	destRect.bottom = static_cast<short>(height);
-	destRect.right = static_cast<short>(width);
-	QTNewGWorldFromPtr(&coverArtGWorld, pixelFormat, &destRect, NULL, NULL, 0, bitmapData, width * 4);
-
-	if (coverArtGWorld == NULL) {
-		writeLog("no new GWorld in getBitmapOfDrawing");
-	}
-
-	GetGWorld(&gSavePort,&gSaveDevice);
-
-	compErr = GraphicsImportSetGWorld(importComponent, coverArtGWorld, NULL); // set the destination of the importer component
-	if (compErr != noErr) {
-		sprintf(errLog, "GraphicsImportSetGWorld err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-	}
-
-	if (compErr == noErr) {
-		if (GetGWorldPixMap(coverArtGWorld) && LockPixels(GetGWorldPixMap(coverArtGWorld))) {
-			// call LockPixels to prevent the base address for
-			// an offscreen pixel image from being moved while you 
-			// draw into or copy from its pixel map
-
-			compErr = GraphicsImportSetGraphicsMode(importComponent, graphicsModeStraightAlpha, NULL);
-			if (compErr != noErr) {
-				sprintf(errLog, "GraphicsImportSetGraphicsMode err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-				writeLog(errLog);
-			}
-			compErr = GraphicsImportDraw(importComponent); // draw image to locked pixmap
-		} else {
-			writeLog("err GetGWorldPixMap and LockPixels");
-		}
-	}
-
-	if (compErr != noErr) {
-		sprintf(errLog, "GraphicsImportDraw err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		DisposeGWorld (coverArtGWorld); // dump gworld
-		coverArtGWorld = 0;
-		free(bitmapData);
-		bitmapData = NULL;
-		CloseComponent(importComponent); // dump component
-		return NULL;
-	}
-
-	SetGWorld(gSavePort,gSaveDevice);
-
-	UnlockPixels(GetGWorldPixMap(coverArtGWorld));
-	DisposeGWorld(coverArtGWorld);
-	coverArtGWorld = NULL;
-
-	return bitmapData;
-}
-#endif
-
-
-OSStatus VisualQuickTime::writeARGBBitmapToFile(UInt32* argbBitmap, const VisualFile& aFile, UInt32 width, UInt32 height, OSType aFileFormatType) {
-
-	OSStatus osStatus = noErr;
-	OSErr osErr = noErr;
-	ComponentResult compErr = noErr;
-	char errLog[256];
-
-	GWorldPtr imageGWorld = NULL;
-
-	OSType pixelFormat = k32ARGBPixelFormat;
-
-	Rect destRect;
-	destRect.top = 0;
-	destRect.left = 0;
-	destRect.bottom = static_cast<short>(height);
-	destRect.right = static_cast<short>(width);
-#if TARGET_OS_MAC
-	osErr = QTNewGWorldFromPtr(&imageGWorld, pixelFormat, &destRect, NULL, NULL, kNativeEndianPixMap, argbBitmap, width * 4);
-#endif
-#if TARGET_OS_WIN
-	osErr = QTNewGWorldFromPtr(&imageGWorld, pixelFormat, &destRect, NULL, NULL, 0, argbBitmap, width * 4);
-#endif
-	if (imageGWorld == NULL) {
-		return static_cast<OSStatus>(1001);
-	}
-	if (osErr != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", osErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(osErr);
-	}
-
-	FSSpec fsSpec;
-	
-	osStatus = VisualFile::setFSSpecByFileRef(aFile, fsSpec);
-	if (osStatus != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", osStatus, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return osStatus;
-	}
-
-	GraphicsExportComponent ge = NULL;
-	
-    osErr = OpenADefaultComponent(GraphicsExporterComponentType, aFileFormatType, &ge);
-	if (osErr != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", osErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(osErr);
-	}
-
-    compErr = GraphicsExportSetInputGWorld(ge, imageGWorld);
-	if (compErr != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(compErr);
-	}
-
-    compErr = GraphicsExportSetOutputFile(ge, &fsSpec);
-	if (compErr != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(compErr);
-	}
-
-    compErr = GraphicsExportDoExport(ge, nil);
-	if (compErr != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", compErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(compErr);
-	}
-	
-    osErr = CloseComponent(ge);
-	if (osErr != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", osErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return static_cast<OSStatus>(osErr);
-	}
-
-	return osStatus;
-}
-
-
-OSStatus VisualQuickTime::getGraphicsImporterComponentForFileType(OSType fileType, GraphicsImportComponent& importComponent) {
-	OSErr osErr = OpenADefaultComponent(GraphicsImporterComponentType, fileType, &importComponent);
-	return static_cast<OSStatus>(osErr);
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h b/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h
deleted file mode 100644
index b7a2e1c..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualQuickTime.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualQuickTime.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualQuickTime_h
-#define VisualQuickTime_h
-
-#include "VisualFile.h"
-
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-#if TARGET_OS_MAC
-	#include <QuickTime/QuickTime.h>
-#endif
-
-#if TARGET_OS_WIN
-	#include <QT/QTML.h>
-	#include <QT/Movies.h>
-	#include <QT/FixMath.h>
-#endif
-
-
-namespace VizKit {
-
-
-	/**
-	 * Collection of QuickTime functionality.\ Access of QuickTime functionality is restricted to this class.
-	 */
-	class VisualQuickTime {
-	
-	public:
-
-		/**
-		 * Initializes the QuickTime system component.\ Necessary resp. recommended on Windows.
-		 * @return Error state as SInt16 OSErr.
-		 */
-		static OSErr initialize(void);
-
-		/**
-		 * Terminates the QuickTime system component.\ Necessary resp. recommended on Windows.
-		 * @return Error state as SInt16 OSErr.
-		 */
-		static OSErr terminate(void);
-
-		/**
-		 * Returns a GraphicsImporter component suitable for a file.
-		 * @param aFile Reference to a file.
-		 * @param[out] importComponent The found GraphicsImporter component.
-		 * @param fileType Optional file type.\ Providing the file type as a hint may speed up finding the correct component.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus getGraphicsImporterForFile(const VisualFile& aFile, GraphicsImportComponent& importComponent, OSType fileType = '    ');
-		
-		/**
-		 * Returns a GraphicsImporter component suitable for a data handle.
-		 * @param dataHandle The data handle.
-		 * @param[out] importComponent The found GraphicsImporter component.
-		 * @param fileType Optional file type.\ Providing the file type as a hint may speed up finding the correct component.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus getGraphicsImporterForHandle(Handle dataHandle, GraphicsImportComponent& importComponent, OSType fileType = '    ');
-		
-		/**
-		 * Returns the dimensions (width and height) in pixels.
-		 * @param importComponent The GraphicsImporter component.
-		 * @param[out] width The width of the image.
-		 * @param[out] height The height of the image.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus getImageDimensions(GraphicsImportComponent& importComponent, UInt32& width, UInt32& height);
-
-		/**
-		 * Sets the import quality to maximum for the GraphicsImporter component.
-		 * @param importComponent The GraphicsImporter component for which the quality is set.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus setMaxQuality(GraphicsImportComponent& importComponent);
-
-		/**
-		 * Flips the import matrix.
-		 * @param importComponent The GraphicsImporter component for which the matrix is flipped.
-		 * @param imageWidth The width of the image.
-		 * @param imageHeight The height of the image.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus flipImportMatrix(GraphicsImportComponent& importComponent, UInt32 imageWidth, UInt32 imageHeight);
-
-#if TARGET_OS_MAC
-		/**
-		 * Creates a CGImage.
-		 * @param importComponent The GraphicsImporter component for which the import matrix is flipped.
-		 * @return A pointer to the CGImage.
-		 */
-		static CGImageRef createCGImageRef(GraphicsImportComponent& importComponent);
-#endif
-
-#if TARGET_OS_WIN
-		/**
-		 * Returns a pointer to the bitmap that is created by drawing the content of the GraphicsImportComponent.
-		 * @param importComponent The GraphicsImporter component for which the import matrix is flipped.
-		 * @param width The width of the bitmap data.
-		 * @param height The height of the bitmap data.
-		 * @return A pointer to the bitmap.
-		 */
-		static UInt32* getBitmapOfDrawing(GraphicsImportComponent& importComponent, UInt32 width, UInt32 height);
-#endif
-
-		/**
-		 * Writes the bitmap data into a file stored on hard disk.
-		 * @param argbBitmap Pointer to RGBA bitmap data.
-		 * @param aFile Reference to a file.
-		 * @param width The width of the bitmap.
-		 * @param height The height of the bitmap.
-		 * @param aFileFormatType The requested file format of the image file to be written.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus writeARGBBitmapToFile(UInt32* argbBitmap, const VisualFile& aFile, UInt32 width, UInt32 height, OSType aFileFormatType);
-
-	private:
-
-		/** The constructor.\ VisualQuickTime is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualQuickTime();
-
-		/** The destructor.\ VisualQuickTime is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualQuickTime();
-
-		/**
-		 * Returns a GraphicsImporter component suitable for the file type.
-		 * @param fileType The file type expressed as 4-char code file type.
-		 * @param[out] importComponent The found GraphicsImporter component.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks Private helper function which returns QuickTime's component for a specific file type.
-		 */
-		static OSStatus getGraphicsImporterComponentForFileType(OSType fileType, GraphicsImportComponent& importComponent);
-
-	};
-
-}
-
-#endif /* VisualQuickTime_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp
deleted file mode 100644
index e2f4b53..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualString.cpp
+++ /dev/null
@@ -1,707 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualString.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualString.h"
-#include "VisualFile.h"
-#include "VisualDispatch.h"
-#include "VisualErrorHandling.h"
-
-#if TARGET_OS_WIN
-#include "MacErrors.h" // eofErr
-#endif
-
-
-using namespace VizKit;
-
-
-VisualString::VisualString() {
-	theString = NULL;
-	utf8representation = NULL;
-	utf16representation = NULL;
-	numberOfCharacters = 0;
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-}
-
-
-VisualString::VisualString(const char* const aStringVal, SInt32 numberOfBytes) {
-
-	theString = NULL;
-	utf8representation = NULL;
-	utf16representation = NULL;
-	numberOfCharacters = 0;
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-	if (!aStringVal) return;
-	
-	if (numberOfBytes == -1) {
-		initWithUTF8String(aStringVal);
-	} else {
-		initWithUTF8Buffer(aStringVal, numberOfBytes);
-	}
-}
-
-
-VisualString::VisualString(const UniChar* const aStringVal, SInt32 aNumberOfCharacters) {
-
-	theString = NULL;
-	utf8representation = NULL;
-	utf16representation = NULL;
-	numberOfCharacters = 0;
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-	if (!aStringVal) return;
-
-	if (aNumberOfCharacters == -1) {
-		initWithUTF16String(aStringVal);
-	} else {
-		initWithUTF16Buffer(aStringVal, aNumberOfCharacters);
-	}
-}
-
-
-void VisualString::initWithUTF8String(const char* const aStringVal) {
-	this->clear();
-	UInt32 numberOfBytes = strlen(aStringVal);
-#if TARGET_OS_MAC
-	Boolean isExternalRepresentation = false;
-	CFStringRef theStringRef = CFStringCreateWithBytes(kCFAllocatorDefault, (const UInt8*)aStringVal, numberOfBytes, kCFStringEncodingUTF8, isExternalRepresentation);
-	numberOfCharacters = CFStringGetLength(theStringRef);
-	theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, theStringRef);
-	CFRelease(theStringRef);
-#endif
-#if TARGET_OS_WIN
-	// no UTF-8 decoding
-	numberOfCharacters = numberOfBytes;
-	theString = (wchar_t*)malloc((numberOfCharacters + 1) * sizeof(wchar_t));
-	for (UInt32 i = 0; i < numberOfCharacters; i++) {
-		theString[i] = aStringVal[i];
-	}
-	theString[numberOfCharacters] = L'\0';
-#endif
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-	this->calcStatistics();
-}
-
-
-void VisualString::initWithUTF8Buffer(const char* const aStringVal, UInt32 numberOfBytes) {
-	this->clear();
-#if TARGET_OS_MAC
-	Boolean isExternalRepresentation = false;
-	CFStringRef theStringRef = CFStringCreateWithBytes(kCFAllocatorDefault, (const UInt8*)aStringVal, numberOfBytes, kCFStringEncodingUTF8, isExternalRepresentation);
-	numberOfCharacters = CFStringGetLength(theStringRef);
-	theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, theStringRef);
-	CFRelease(theStringRef);
-#endif
-#if TARGET_OS_WIN
-	// no UTF-8 decoding
-	numberOfCharacters = numberOfBytes;
-	theString = (wchar_t*)malloc((numberOfCharacters + 1) * sizeof(wchar_t));
-	for (UInt32 i = 0; i < numberOfCharacters; i++) {
-		theString[i] = aStringVal[i];
-	}
-	theString[numberOfCharacters] = L'\0';
-#endif
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-	this->calcStatistics();
-}
-
-
-void VisualString::initWithUTF16String(const UniChar* const aStringVal) {
-	this->clear();
-	numberOfCharacters = (sizeof(aStringVal) / 2) - 2;
-#if TARGET_OS_WIN
-	theString = (wchar_t*)malloc((numberOfCharacters + 1) * sizeof(wchar_t));
-	size_t sizeInBytes = numberOfCharacters * sizeof(wchar_t);
-	memcpy(theString, aStringVal, sizeInBytes);
-	theString[numberOfCharacters] = L'\0';
-#endif
-#if TARGET_OS_MAC
-	theString = CFStringCreateMutable(kCFAllocatorDefault, 0);
-	CFStringAppendCharacters(theString, aStringVal, (CFIndex)numberOfCharacters);
-#endif
-	this->calcStatistics();
-}
-
-
-void VisualString::initWithUTF16Buffer(const UniChar* const aStringVal, UInt32 aNumberOfCharacters) {
-	this->clear();
-	numberOfCharacters = aNumberOfCharacters;
-#if TARGET_OS_WIN
-	theString = (wchar_t*)malloc((numberOfCharacters + 1) * sizeof(wchar_t));
-	size_t sizeInBytes = numberOfCharacters * sizeof(wchar_t);
-	memcpy(theString, aStringVal, sizeInBytes);
-	theString[numberOfCharacters] = L'\0';
-#endif
-#if TARGET_OS_MAC
-	theString = CFStringCreateMutable(kCFAllocatorDefault, 0);
-	CFStringAppendCharacters(theString, aStringVal, (CFIndex)numberOfCharacters);
-#endif
-	this->calcStatistics();
-}
-
-
-OSStatus VisualString::initWithContentsOfFile(VisualFile& aFile) {
-
-	OSStatus osStatus = noErr;
-
-	void* data = NULL;
-
-	UInt32 size;
-	osStatus = aFile.getSize(size);
-	if (osStatus != noErr) {
-		return osStatus;
-	}
-
-	osStatus = aFile.getData(&data, size);
-	if (osStatus != noErr) {
-		return osStatus;
-	}
-
-	this->initWithUTF8Buffer((const char*)data, size);
-	
-	free(data);
-
-	return osStatus;
-}
-
-
-VisualString::VisualString(ConstStringDataRef aStringVal) {
-	theString = NULL;
-	utf8representation = NULL;
-	utf16representation = NULL;
-	numberOfCharacters = 0;
-	numberOfNonWhitespaceCharacters = 0;
-	numberOfWords = 0;
-	numberOfLines = 0;
-	if (!aStringVal) return;
-	
-#if TARGET_OS_WIN
-	numberOfCharacters = wcslen(aStringVal);
-	size_t sizeInBytes = numberOfCharacters * sizeof(wchar_t);
-	theString = (wchar_t*)malloc((numberOfCharacters + 1) * sizeof(wchar_t));
-	memcpy(theString, aStringVal, sizeInBytes);
-	theString[numberOfCharacters] = L'\0';
-#endif
-#if TARGET_OS_MAC
-	this->numberOfCharacters = CFStringGetLength(aStringVal);
-	this->theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, aStringVal);
-#endif
-
-	this->calcStatistics();
-}
-
-
-VisualString::~VisualString() {
-	this->clear();
-}
-
-
-VisualString::VisualString(const VisualString& other) {
-	this->copy(other);
-}
-
-
-VisualString& VisualString::operator=(const VisualString& other) {
-	if (this != &other) {
-		this->clear();
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-bool VisualString::operator<(const VisualString& other) const {
-	bool compareResult = false;
-	if (other.theString != NULL && this->theString != NULL) {
-#if TARGET_OS_MAC
-		UInt16 compareOptions = 0;
-		if (CFStringCompare(this->theString, other.theString, compareOptions) == kCFCompareLessThan) {
-#endif
-#if TARGET_OS_WIN
-		if (wcscmp(this->theString, other.theString) < 0) {
-#endif
-			compareResult = true;
-		}
-	}
-	return compareResult;
-}
-
-
-bool VisualString::operator==(const VisualString& other) const {
-	bool compareResult = false;
-	if (other.theString != NULL && this->theString != NULL) {
-#if TARGET_OS_MAC
-		UInt16 compareOptions = 0;
-		if (CFStringCompare(this->theString, other.theString, compareOptions) == kCFCompareEqualTo) {
-#endif
-#if TARGET_OS_WIN
-		if (wcscmp(this->theString, other.theString) == 0) {
-#endif
-			compareResult = true;
-		}
-	} else if (other.theString == NULL && this->theString == NULL) {
-		compareResult = true;
-	}
-	return compareResult;
-}
-
-
-bool VisualString::operator!=(const VisualString& other) const {
-	return !(*this == other);
-}
-
-
-void VisualString::copy(const VisualString& other) {
-	if (other.numberOfCharacters > 0) {
-#if TARGET_OS_MAC
-		this->theString = CFStringCreateMutableCopy(kCFAllocatorDefault, 0, other.theString);
-#endif
-#if TARGET_OS_WIN
-		this->theString = (wchar_t *)malloc((other.numberOfCharacters + 1) * sizeof(wchar_t));
-		size_t sizeInBytes = other.numberOfCharacters * sizeof(wchar_t);
-		memcpy(theString, other.theString, sizeInBytes);
-		theString[other.numberOfCharacters] = L'\0';
-#endif
-	} else {
-		this->theString = NULL;
-	}
-	if (other.utf8representation != NULL) {
-		this->utf8representation = (char*)malloc(strlen(other.utf8representation) * sizeof(char));
-		memcpy(this->utf8representation, other.utf8representation, strlen(other.utf8representation));
-	} else {
-		this->utf8representation = NULL;
-	}
-	if (other.utf16representation != NULL) {
-		this->utf16representation = (UniChar*)malloc(sizeof(other.utf16representation) * sizeof(char));
-		memcpy(this->utf16representation, other.utf16representation, sizeof(other.utf16representation));
-	} else {
-		this->utf16representation = NULL;
-	}
-	this->numberOfCharacters = other.numberOfCharacters;
-	this->calcStatistics();
-}
-
-
-void VisualString::clear() {
-	if (this->theString != NULL) {
-#if TARGET_OS_MAC
-		CFRelease(this->theString);
-#endif
-#if TARGET_OS_WIN
-		free(this->theString);
-#endif
-		this->theString = NULL;
-	}
-	if (this->utf8representation != NULL) {
-		free(this->utf8representation);
-		this->utf8representation = NULL;
-	}
-	if (this->utf16representation != NULL) {
-		free(this->utf16representation);
-		this->utf16representation = NULL;
-	}
-	if (arrayOfWords.size() > 0) {
-		arrayOfWords.clear();
-	}
-	if (this->arrayOfLines.size() > 0) {
-		this->arrayOfLines.clear();
-	}
-}
-
-
-const VisualString& VisualString::operator+(const VisualString& other) {
-	VisualString* stringCopy = new VisualString(*this);
-	UInt32 prevNumberOfCharacters = stringCopy->numberOfCharacters;
-	stringCopy->numberOfCharacters += other.numberOfCharacters;
-	if (stringCopy->numberOfCharacters > prevNumberOfCharacters) {
-#if TARGET_OS_MAC
-		CFStringAppend(stringCopy->theString, other.getCharactersPointer());
-#endif
-#if TARGET_OS_WIN
-		size_t sizeInBytes = (stringCopy->numberOfCharacters + 1) * sizeof(wchar_t);
-		free(stringCopy->theString);
-		stringCopy->theString = (wchar_t*)malloc(sizeInBytes);
-		for (UInt32 i = 0; i < prevNumberOfCharacters; i++) {
-			stringCopy->theString[i] = this->theString[i];
-		}
-		UInt32 count = 0;
-		for (UInt32 i = prevNumberOfCharacters; i < stringCopy->numberOfCharacters; i++) {
-			stringCopy->theString[i] = other.theString[count];
-			count++;
-		}
-		stringCopy->theString[stringCopy->numberOfCharacters] = L'\0';
-#endif
-	}
-	stringCopy->calcStatistics();
-	return *stringCopy;
-}
-
-
-const VisualString& VisualString::operator+(const char* charString) {
-	VisualString* stringCopy = new VisualString(*this);
-	UInt32 prevNumberOfCharacters = stringCopy->numberOfCharacters;
-	stringCopy->numberOfCharacters += strlen(charString);
-	if (stringCopy->numberOfCharacters > prevNumberOfCharacters) {
-#if TARGET_OS_MAC
-		CFStringAppendCString(stringCopy->theString, charString, kCFStringEncodingISOLatin1);
-#endif
-#if TARGET_OS_WIN
-		size_t sizeInBytes = (stringCopy->numberOfCharacters + 1) * sizeof(wchar_t);
-		free(stringCopy->theString);
-		stringCopy->theString = (wchar_t*)malloc(sizeInBytes);
-		for (UInt32 i = 0; i < prevNumberOfCharacters; i++) {
-			stringCopy->theString[i] = this->theString[i];
-		}
-		UInt32 count = 0;
-		for (UInt32 i = prevNumberOfCharacters; i < stringCopy->numberOfCharacters; i++) {
-			stringCopy->theString[i] = (wchar_t)charString[count];
-			count++;
-		}
-		stringCopy->theString[stringCopy->numberOfCharacters] = L'\0';
-#endif
-	}
-	stringCopy->calcStatistics();
-	return *stringCopy;
-}
-
-
-UInt32 VisualString::getNumberOfCharacters() const {
-	return this->numberOfCharacters;
-}
-
-
-UInt32 VisualString::getNumberOfNonWhitespaceCharacters() const {
-	return this->numberOfNonWhitespaceCharacters;
-}
-
-
-UInt32 VisualString::getNumberOfWords(void) const {
-	return this->numberOfWords;
-}
-
-
-UInt32 VisualString::getNumberOfLines(void) const {
-	return this->numberOfLines;
-}
-
-
-VisualString* VisualString::createStringWithLine(UInt32 index) const {
-	VisualString* stringAtLine = NULL;
-#if TARGET_OS_WIN
-	stringAtLine = new VisualString((UniChar*)&this->theString[this->arrayOfLines[index].startIndex], this->arrayOfLines[index].numberOfCharacters);
-#endif
-#if TARGET_OS_MAC
-	CFStringRef string = CFStringCreateWithSubstring(kCFAllocatorDefault, this->theString, CFRangeMake(this->arrayOfLines[index].startIndex, this->arrayOfLines[index].numberOfCharacters));
-	stringAtLine = new VisualString(string);
-	CFRelease(string);
-#endif
-	return stringAtLine;
-}
-
-
-VisualString* VisualString::createStringWithWord(UInt32 index) const {
-	VisualString* wordAtIndex = NULL;
-#if TARGET_OS_WIN
-	wordAtIndex = new VisualString((UniChar*)&this->theString[this->arrayOfWords[index].startIndex], this->arrayOfWords[index].numberOfCharacters);
-#endif
-#if TARGET_OS_MAC
-	CFStringRef string = CFStringCreateWithSubstring(kCFAllocatorDefault, this->theString, CFRangeMake(this->arrayOfWords[index].startIndex, this->arrayOfWords[index].numberOfCharacters));
-	wordAtIndex = new VisualString(string);
-	CFRelease(string);
-#endif
-	return wordAtIndex;
-}
-
-
-ConstStringDataRef VisualString::getCharactersPointer() const {
-	return this->theString;
-}
-
-
-const char* const VisualString::getUtf8Representation() {
-	if (this->utf8representation != NULL) {
-		free(this->utf8representation);
-		this->utf8representation = NULL;
-	}
-#if TARGET_OS_MAC
-	CFRange range = {0, CFStringGetLength(this->theString)};
-	UInt8 lossByte = 0;
-	Boolean isExternalRepresentation = false;
-	CFIndex maxBufLen = 0;
-	CFIndex numberOfBytes = 0;
-	CFIndex numberOfCharsConverted;
-	numberOfCharsConverted = CFStringGetBytes(this->theString, range, kCFStringEncodingUTF8, lossByte, isExternalRepresentation, NULL, maxBufLen, &numberOfBytes);
-	if ((numberOfCharsConverted == CFStringGetLength(this->theString)) && (numberOfBytes > 0)) {
-		this->utf8representation = (char*)malloc(numberOfBytes + 1);
-		numberOfCharsConverted = CFStringGetBytes(this->theString, range, kCFStringEncodingUTF8, lossByte, isExternalRepresentation, (UInt8*)this->utf8representation, numberOfBytes, &numberOfBytes);
-		this->utf8representation[numberOfBytes] = '\0';
-	}
-
-/*
-	const char* scriptPathConstCStr = CFStringGetCStringPtr(scriptFilePath.getCharactersPointer(), kCFStringEncodingUTF8);
-	char* scriptPathCStr = NULL;
-	if (scriptPathConstCStr == NULL) {
-		CFIndex stringLength = CFStringGetLength(scriptFileSystemPath);
-		CFIndex maxSize = CFStringGetMaximumSizeForEncoding(stringLength, kCFStringEncodingUTF8);
-		scriptPathCStr = (char*)malloc((maxSize + 1) * sizeof(char));
-		bool success = CFStringGetCString(scriptFileSystemPath, scriptPathCStr, maxSize, kCFStringEncodingUTF8);
-		if (success == false) {
-			return false;
-		}
-	}
-	CFRelease(scriptFileSystemPath);
-*/
-
-#endif
-#if TARGET_OS_WIN
-	// no UTF-8 encoding
-	this->utf8representation = (char*)malloc(this->numberOfCharacters + 1);
-	UInt32 count = 0;
-	for (UInt32 i = 0; i < this->numberOfCharacters; i++) {
-		this->utf8representation[i] = (char)this->theString[i];
-	}
-	this->utf8representation[this->numberOfCharacters] = '\0';
-#endif
-	return this->utf8representation;
-}
-
-
-
-const UniChar* const VisualString::getUtf16Representation() {
-#if TARGET_OS_MAC
-	if (this->utf16representation != NULL) {
-		free(this->utf16representation);
-		this->utf16representation = NULL;
-	}
-	CFIndex length = CFStringGetLength(this->theString);
-	this->utf16representation = (UniChar*)malloc((length * sizeof(UniChar) + 2));
-	CFStringGetCharacters(this->theString, CFRangeMake(0, length), this->utf16representation);
-	this->utf16representation[length] = L'\0';
-	
-	return this->utf16representation;
-#endif
-#if TARGET_OS_WIN
-	return (UniChar*)this->theString;
-#endif
-}
-
-
-UniChar VisualString::getCharacterAtIndex(UInt32 index) {
-#if TARGET_OS_MAC
-	return CFStringGetCharacterAtIndex(this->theString, index);
-#endif
-#if TARGET_OS_WIN
-	return this->theString[index];
-#endif
-}
-
-
-bool VisualString::characterIsNewlineCharacter(UniChar character) {
-#if TARGET_OS_MAC
-	UniCharCount uniCharArrayLength = 5;
-	UniChar* uniCharArray = (UniChar*)malloc(uniCharArrayLength * sizeof(UniChar));
-	uniCharArray[0] = 0x000D; // CR
-    uniCharArray[1] = 0x000A; // LF
-    uniCharArray[2] = 0x2028; // LSEP
-    uniCharArray[3] = 0x2029; // PSEP
-    uniCharArray[4] = 0x0085; // NL
-	for (UniCharCount i = 0; i < uniCharArrayLength; i++) {
-		if (character == uniCharArray[i]) {
-			return true;
-		}
-	}
-	delete uniCharArray;
-#endif
-#if TARGET_OS_WIN
-	if ((character == L'\n') || (character == L'\r')) {
-		return true;
-	}
-#endif
-	return false;
-}
-
-
-bool VisualString::characterIsWhitespaceCharacter(UniChar character) {
-
-// word separators
-// delimiters(" \t\n~;()'\"<>:{}[]+-=&*#.,/\\");
-
-#if TARGET_OS_MAC
-	CFCharacterSetRef whitespaceAndNewlineSet = CFCharacterSetGetPredefined(kCFCharacterSetWhitespaceAndNewline);
-	Boolean isWhitespace = CFCharacterSetIsCharacterMember(whitespaceAndNewlineSet, character);
-	if (isWhitespace) {
-		return true;
-	} else {
-		return false;
-	}
-#endif
-#if TARGET_OS_WIN
-	if ((character == L' ') || (character == L'\n') || (character == L'\r') || (character == L'\t')) {
-		return true;
-	}
-#endif
-	return false;
-}
-
-
-void VisualString::writeDebugLog() const {
-#if TARGET_OS_MAC
-	logString(this->theString);
-	CFShowStr(this->theString);
-#endif
-#if TARGET_OS_WIN
-	writeLogW(this->theString);
-#endif
-}
-
-
-void VisualString::calcStatistics() {
-
-	if (this->arrayOfWords.size() > 0) {
-		this->arrayOfWords.clear();
-	}
-	if (this->arrayOfLines.size() > 0) {
-		this->arrayOfLines.clear();
-	}
-
-	if (this->numberOfCharacters == 0) return;
-
-	this->numberOfNonWhitespaceCharacters = 0;
-	this->numberOfWords = 0;
-	this->numberOfLines = 0;
-
-	bool scannerIsInWord = false;
-	bool scannerIsInLine = false;
-	SInt32 lineStartPos = -1;
-	SInt32 wordStartPos = -1;
-	UInt32 numberOfLineCharsScanned = 0;
-	UInt32 numberOfWordCharsScanned = 0;
-
-	VisualStringSubstringPointer visualStringSubstringPointer;
-
-	for (UInt32 i = 0; i < this->numberOfCharacters; i++) {
-		if (this->characterIsNewlineCharacter(this->getCharacterAtIndex(i)) == true) {
-			if (scannerIsInLine == true) {
-				visualStringSubstringPointer.startIndex = lineStartPos;
-				visualStringSubstringPointer.numberOfCharacters = numberOfLineCharsScanned;
-				this->arrayOfLines.push_back(visualStringSubstringPointer);
-				this->numberOfLines++;
-				lineStartPos = -1;
-				numberOfLineCharsScanned = 0;
-				scannerIsInLine = false;
-			}
-		} else {
-			if (scannerIsInLine == false) {
-				scannerIsInLine = true;
-				lineStartPos = i;
-			}
-			numberOfLineCharsScanned++;
-		}
-		if (this->characterIsWhitespaceCharacter(this->getCharacterAtIndex(i)) == true) {
-			if (scannerIsInWord == true) {
-				visualStringSubstringPointer.startIndex = wordStartPos;
-				visualStringSubstringPointer.numberOfCharacters = numberOfWordCharsScanned;
-				this->arrayOfWords.push_back(visualStringSubstringPointer);
-				this->numberOfWords++;
-				wordStartPos = -1;
-				numberOfWordCharsScanned = 0;
-				scannerIsInWord = false;
-			}
-		} else {
-			if (scannerIsInWord == false) {
-				scannerIsInWord = true;
-				wordStartPos = i;
-			}
-			numberOfWordCharsScanned++;
-			this->numberOfNonWhitespaceCharacters++;
-		}
-	}
-	if (this->characterIsNewlineCharacter(this->getCharacterAtIndex(this->numberOfCharacters - 1)) == false) {
-		visualStringSubstringPointer.startIndex = lineStartPos;
-		visualStringSubstringPointer.numberOfCharacters = numberOfLineCharsScanned;
-		this->arrayOfLines.push_back(visualStringSubstringPointer);
-		this->numberOfLines++;
-	}
-	if (this->characterIsWhitespaceCharacter(this->getCharacterAtIndex(this->numberOfCharacters - 1)) == false) {
-		visualStringSubstringPointer.startIndex = wordStartPos;
-		visualStringSubstringPointer.numberOfCharacters = numberOfWordCharsScanned;
-		this->arrayOfWords.push_back(visualStringSubstringPointer);
-		this->numberOfWords++;
-	}
-
-}
-
-
-VisualString* createWithUTF8String(const char* const aStringVal) {
-	VisualString* aVisualString = new VisualString(aStringVal);
-	return aVisualString;
-}
-
-
-VisualString* createWithUTF8Buffer(const char* const aStringVal, UInt32 numberOfBytes) {
-	VisualString* aVisualString = new VisualString(aStringVal, numberOfBytes);
-	return aVisualString;
-}
-
-
-VisualString* createWithUTF16String(const UniChar* const aStringVal) {
-	VisualString* aVisualString = new VisualString(aStringVal);
-	return aVisualString;
-}
-
-
-VisualString* createWithUTF16Buffer(const UniChar* const aStringVal, UInt32 aNumberOfCharacters) {
-	VisualString* aVisualString = new VisualString(aStringVal, aNumberOfCharacters);
-	return aVisualString;
-}
-
-
-VisualString* createWithContentsOfFile(VisualFile& aFile) {
-	VisualString* aVisualString = new VisualString;
-	OSStatus status = aVisualString->initWithContentsOfFile(aFile);
-	if (status != noErr) {
-		delete aVisualString;
-		aVisualString = NULL;
-	}
-	return aVisualString;
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualString.h b/src/projectM-iTunes-VizKit/source/Tools/VisualString.h
deleted file mode 100644
index dd39842..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualString.h
+++ /dev/null
@@ -1,366 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualString.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualString_h
-#define VisualString_h
-
-#include <vector>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#include <CoreFoundation/CFBase.h> // CFStringRef
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-#if TARGET_OS_MAC
-	typedef CFMutableStringRef StringDataRef;
-	typedef CFStringRef ConstStringDataRef;
-#endif
-#if TARGET_OS_WIN
-	typedef wchar_t* StringDataRef;
-	typedef const wchar_t* const ConstStringDataRef;
-#endif
-
-	class VisualFile; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Unicode string without styling or formatting information. 
-	 */
-	class VisualString {
-	
-	public:
-
-		/**
-		 * The constructor. 
-		 */
-		VisualString();
-
-		/**
-		 * A constructor that constructs a VisualString from a pointer to an UTF-8 string and the number of bytes of the string.
-		 * @param aStringVal A pointer to the UTF-8 encoded char string value.
-		 * @param numberOfBytes Optional indication of number of bytes of the char string.
-		 * @remarks If the number of bytes is not specified, the string must be terminated with a NULL byte.\ The number of bytes is evaluated by calling strlen() then.
-		 */
-		VisualString(const char* const aStringVal, SInt32 numberOfBytes = -1);
-
-		/**
-		 * A constructor that constructs a VisualString from a pointer to a wchar_t string and the number of characters of the string.
-		 * @param aStringVal A pointer to the wchar_t string value.
-		 * @param aNumberOfCharacters The number of characters of the char string.
-		 * @remarks If the number of characters is not specified, the string must be terminated with a NULL byte.\ The number of characters is evaluated by calling sizeof() then.
-		 */
-		VisualString(const UniChar* const aStringVal, SInt32 aNumberOfCharacters = -1);
-
-		/**
-		 * Initializes a VisualString from a pointer to an UTF-8 string.
-		 * @param aStringVal A pointer to the UTF-8 encoded char string value.
-		 * @remarks The string must be terminated with a NULL byte.
-		 */
-		void initWithUTF8String(const char* const aStringVal);
-
-		/**
-		 * Initializes a VisualString from a pointer to an UTF-8 string buffer.
-		 * @param aStringVal A pointer to the UTF-8 encoded char string buffer.
-		 * @param numberOfBytes The number of bytes of the UTF-8 encoded char string buffer.
-		 */
-		void initWithUTF8Buffer(const char* const aStringVal, UInt32 numberOfBytes);
-
-		/**
-		 * Initializes a VisualString from a pointer to an UTF-16 string.
-		 * @param aStringVal A pointer to the UTF-16 encoded char string value.
-		 * @remarks The string must be terminated with a NULL byte.
-		 */
-		void initWithUTF16String(const UniChar* const aStringVal);
-
-		/**
-		 * Initializes a VisualString from a pointer to an UTF-16 string buffer.
-		 * @param aStringVal A pointer to the UTF-16 encoded char string buffer.
-		 * @param aNumberOfCharacters The number of characters of the UTF-16 encoded char string buffer.
-		 */
-		void initWithUTF16Buffer(const UniChar* const aStringVal, UInt32 aNumberOfCharacters);
-
-		/**
-		 * Initializes a VisualString from the contents of a file.
-		 * @param aFile Reference to a file.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks The file is opened, the content is read as a string, then the file is closed again.
-		 */
-		OSStatus initWithContentsOfFile(VisualFile& aFile);
-
-		/**
-		 * A constructor that constructs a VisualString from a ConstStringDataRef.
-		 * @param aStringVal A string value in ConstStringDataRef data format.
-		 * @remarks ConstStringDataRef is the cross-platform data format of VisualString's internal string buffer.
-		 */
-		VisualString(ConstStringDataRef aStringVal);
-
-		/**
-		 * The destructor. 
-		 */
-		~VisualString();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualString.
-		 */
-		VisualString(const VisualString& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualString& operator=(const VisualString& other);
-
-		/**
-		 * Less than operator.
-		 * @param other Another VisualString.
-		 * @remarks The less than operator is used by std::map for find() and sorting (if VisualString is used as key_type).
-		 */
-		bool operator<(const VisualString& other) const;
-		
-		/**
-		 * Equality operator.
-		 * @param other Another VisualString.
-		 */
-		bool operator==(const VisualString& other) const;
-
-		/**
-		 * Inequality operator.
-		 * @param other Another VisualString.
-		 */
-		bool operator!=(const VisualString& other) const;
-
-		/**
-		 * Plus operator appends another string.
-		 * @param other Another VisualString.
-		 */
-		const VisualString& operator+(const VisualString& other);
-
-		/**
-		 * Plus operator appends an 8-bit char string.
-		 * @param charString Pointer to 8-bit character string.
-		 * @remarks The charString must be NULL-terminated so that strlen can determine the correct length of the string.
-		 */
-		const VisualString& operator+(const char* charString);
-
-		/**
-		 * Returns the number of characters of the string.
-		 * @return The number of characters of the string.
-		 */
-		UInt32 getNumberOfCharacters(void) const;
-
-		/**
-		 * Returns the number of non-whitespace characters of the string.
-		 * @return The number of non-whitespace characters of the string.
-		 */
-		UInt32 getNumberOfNonWhitespaceCharacters(void) const;
-
-		/**
-		 * Returns the number of words of the string.
-		 * @return The number of words of the string.
-		 */
-		UInt32 getNumberOfWords(void) const;
-
-		/**
-		 * Returns the number of lines of the string.
-		 * @return The number of lines of the string.
-		 * @remarks The number of lines is evaluated by counting the number of lines that contain at least one non-whitespace character.
-		 */
-		UInt32 getNumberOfLines(void) const;
-
-		/**
-		 * Returns one line of the string.
-		 * @param index The requested line number.\ The first line has an index of 0.
-		 * @return One line of the string.
-		 * @remarks The caller has to delete the VisualString.
-		 */
-		VisualString* createStringWithLine(UInt32 index) const;
-		
-		/**
-		 * Returns one word of the string.
-		 * @param index The requested index number.\ The first word has an index of 0.
-		 * @return One word of the string.
-		 * @remarks The caller has to delete the VisualString.
-		 */
-		VisualString* createStringWithWord(UInt32 index) const;
-
-		/**
-		 * Returns a pointer to the internal string data.
-		 * @return A pointer to the internal string data.
-		 * @remarks On Mac the string data is stored as a CFString.\ On Windows the string data is stored as a wchar_t type.
-		 */
-		ConstStringDataRef getCharactersPointer(void) const;
-
-		/**
-		 * Returns a pointer to a char buffer with utf-8 encoded string data.
-		 * @return A pointer to a char buffer with utf-8 encoded string data.
-		 * @remarks The memory is owned by VisualString and deallocated on destruct of VisualString instance.
-		 */
-		const char* const getUtf8Representation(void);
-
-		/**
-		 * Returns a pointer to a 16-bit buffer with utf-16 encoded string data.
-		 * @return A pointer to a 16-bit buffer with utf-16 encoded string data.
-		 * @remarks The memory is owned by VisualString and deallocated on destruct of VisualString instance.
-		 */
-		const UniChar* const getUtf16Representation(void);
-
-		/**
-		 * Writes information about the VisualString to the log file.
-		 * @remarks Useful for debuggin and tracing purposes.
-		 */
-		void writeDebugLog(void) const;
-		
-		/**
-		 * Creates a VisualString from a pointer to an UTF-8 string.
-		 * @param aStringVal A pointer to the UTF-8 encoded char string value.
-		 * @remarks The string must be terminated with a NULL byte.\ The caller has to delete the VisualString.
-		 */
-		static VisualString* createWithUTF8String(const char* const aStringVal);
-
-		/**
-		 * Creates a VisualString from a pointer to an UTF-8 string buffer.
-		 * @param aStringVal A pointer to the UTF-8 encoded char string buffer.
-		 * @param numberOfBytes The number of bytes of the UTF-8 encoded char string buffer.
-		 * @remarks The caller has to delete the VisualString.
-		 */
-		static VisualString* createWithUTF8Buffer(const char* const aStringVal, UInt32 numberOfBytes);
-
-		/**
-		 * Creates a VisualString from a pointer to an UTF-16 string.
-		 * @param aStringVal A pointer to the UTF-16 encoded char string value.
-		 * @remarks The string must be terminated with a NULL byte.\ The caller has to delete the VisualString.
-		 */
-		static VisualString* createWithUTF16String(const UniChar* const aStringVal);
-
-		/**
-		 * Creates a VisualString from a pointer to an UTF-16 string buffer.
-		 * @param aStringVal A pointer to the UTF-16 encoded char string buffer.
-		 * @param aNumberOfCharacters The number of characters of the UTF-16 encoded char string buffer.
-		 * @remarks The caller has to delete the VisualString.
-		 */
-		static VisualString* createWithUTF16Buffer(const UniChar* const aStringVal, UInt32 aNumberOfCharacters);
-
-		/**
-		 * Creates a VisualString from the contents of a file.
-		 * @param aFile Reference to a file.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks The file is opened, the content is read as a string, then the file is closed again.
-		 */
-		static VisualString* createWithContentsOfFile(VisualFile& aFile);
-
-	private:
-		
-		/** A pointer to the internally stored string data. */
-		StringDataRef theString;
-		
-		/** Optionally available utf-8 representation of string data. */
-		char* utf8representation;
-
-		/** Optionally available utf-16 representation of string data. */
-		UniChar* utf16representation;
-
-		/** The number of characters of the string. */
-		UInt32 numberOfCharacters;
-
-		/** The number of characters of the string. */
-		UInt32 numberOfNonWhitespaceCharacters;
-
-		/** The number of words of the string. */
-		UInt32 numberOfWords;
-
-		/** The number of lines of the string. */
-		UInt32 numberOfLines;
-
-		/** Substring of the VisualString with start position and length. */
-		typedef struct {
-			SInt32 startIndex; /**< The start position of the substring. */
-			UInt32 numberOfCharacters; /**< The length in number of characters. */
-		} VisualStringSubstringPointer;
-		
-		/** VisualStringSubstringPointers can be collected in a vector of structs. */
-		typedef std::vector<VisualStringSubstringPointer> ArrayOfSubstringPointers;
-		
-		/** The lines (rows) of the VisualString collected as substrings. */
-		ArrayOfSubstringPointers arrayOfLines;
-		
-		/** The words of the VisualString collected as substrings. */
-		ArrayOfSubstringPointers arrayOfWords;	
-
-		/** The number of lines and words are calculated and stored internally. */
-		void calcStatistics(void);
-
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualString.
-		 */
-		void copy(const VisualString& other);
-
-		/** Resets internally used variables and releases allocated memory. */
-		void clear(void);
-
-		/**
-		 * Returns a single character of the string data.
-		 * @param index The position of the character in the string.\ First position starts with 0.
-		 * @return A single character of the string data.
-		 */
-		UniChar getCharacterAtIndex(UInt32 index);
-
-		/**
-		 * Returns true if character is new line character.
-		 * @param character The character to inspect.
-		 * @return True if character is new line character, false if not.
-		 */
-		bool characterIsNewlineCharacter(UniChar character);
-
-		/**
-		 * Returns true if character is whitespace character.
-		 * @param character The character to inspect.
-		 * @return True if character is whitespace character, false if not.
-		 */
-		bool characterIsWhitespaceCharacter(UniChar character);
-	};
-	
-	/** Constant VisualString. */
-	typedef const VisualString ConstVisualString;
-	
-}
-
-#endif /* VisualString_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp
deleted file mode 100644
index 45d70ed..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.cpp
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStringStyle.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualStringStyle.h"
-
-
-using namespace VizKit;
-
-
-VisualStringStyle::VisualStringStyle() {
-	fontNameStr[0] = '\0';
-	fontSize = 0.0f;
-	fontColor.r = 0.0f;
-	fontColor.g = 0.0f;
-	fontColor.b = 0.0f;
-	horizontalAlignment = kLeftAligned;
-}
-
-VisualStringStyle::~VisualStringStyle() {
-	
-}
-
-
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h b/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h
deleted file mode 100644
index 570912c..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualStringStyle.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStringStyle.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualStringStyle_h
-#define VisualStringStyle_h
-
-#include "VisualGraphicTypes.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Definition of a style for a string (text).
-	 */
-	class VisualStringStyle {
-		public:
-		VisualStringStyle(); /**< Constructor. */
-		~VisualStringStyle(); /**< Destructor. */
-		char fontNameStr[512]; /**< The name of the font. */
-		float fontSize; /**< The size of the font (in points). */
-		RGBAColor fontColor; /**< The color of the font. */
-		HorizontalAlignment horizontalAlignment; /** The horizontal alignment of the string. */
-	};
-	
-}
-
-#endif /* VisualString_h */
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp
deleted file mode 100644
index 126e332..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualThreading.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualThreading.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/Multiprocessing.h>
-#endif
-
-
-
-using namespace VizKit;
-
-
-OSStatus VisualThreading::createThread(ThreadingFuncPtr aThreadingFuncPtr, char* name) {
-	OSStatus osStatus = noErr;
-#if TARGET_OS_MAC
-	void* param = NULL;
-	MPTaskID threadId;
-	ByteCount stackSize = 0;
-	osStatus = MPCreateTask(&(*aThreadingFuncPtr), param, stackSize, NULL, NULL, NULL, 0, &threadId);
-#endif
-#if TARGET_OS_WIN
-	LPSECURITY_ATTRIBUTES lpThreadAttributes = NULL;
-	SIZE_T stackSize = 0;
-	LPVOID param = NULL;
-	DWORD dwCreationFlags = 0;
-	LPDWORD threadId = 0;
-	HANDLE hdl = CreateThread(lpThreadAttributes, stackSize, (LPTHREAD_START_ROUTINE)aThreadingFuncPtr, param, dwCreationFlags, threadId);
-	/*
-	WaitForSingleObject(hdl, 3000);
-	DWORD exitCode;
-	BOOL success = GetExitCodeThread(hdl, &exitCode);
-	char logStr[64];
-	sprintf(logStr, "%s - exitCode: %ld", name, exitCode);
-	writeLog(logStr);
-	CloseHandle(hdl);
-	*/
-#endif
-	return osStatus;
-}
diff --git a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h b/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h
deleted file mode 100644
index fabad0d..0000000
--- a/src/projectM-iTunes-VizKit/source/Tools/VisualThreading.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualThreading.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualThreading_h
-#define VisualThreading_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h>
-#endif
-
-
-namespace VizKit {
-
-
-#if TARGET_OS_MAC
-typedef OSStatus (*ThreadingFuncPtr)(void* parameter);
-#endif
-#if TARGET_OS_WIN
-typedef DWORD (*ThreadingFuncPtr)(LPVOID lpParam);
-//typedef LPTHREAD_START_ROUTINE ThreadingFuncPtr;
-#endif
-
-
-	/**
-	 * Providing multi-threading functionality. 
-	 */
-	class VisualThreading {
-	
-	public:
-
-		/**
-		 * Creates a new thread by starting function.
-		 * @param aThreadingFuncPtr Pointer to function that should be started in new thread.
-		 * @param name Optional name for function-thread.\ Useful for debugging purposes.
-		 */	
-		static OSStatus createThread(ThreadingFuncPtr aThreadingFuncPtr, char* name = NULL);
-
-	private:
-
-		/** The constructor.\ VisualThreading is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualThreading();
-
-		/** The destructor.\ VisualThreading is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualThreading();
-
-	};
-	
-}
-
-#endif /* VisualThreading_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualActor.cpp b/src/projectM-iTunes-VizKit/source/VisualActor.cpp
deleted file mode 100644
index d81a808..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActor.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActor.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualActor.h"
-#include "VisualPlayerState.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-VisualActor::VisualActor() {
-    //writeLog("constructor of VisualActor called");
-	strcpy(actorName, "UNKNOWN");
-	state = kVisActNoShow;
-}
-
-
-VisualActor::~VisualActor() {
-    //writeLog("destructor of VisualActor called");
-}
-
-
-VisualActor::VisualActor(const VisualActor& other) {
-	copy(other);
-}
-
-
-VisualActor& VisualActor::operator=(const VisualActor& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualActor::copy(const VisualActor& other) {
-	strcpy(this->actorName, other.actorName);
-	this->state = other.state;
-}
-
-
-const char* const VisualActor::getName(void) {
-	// interface method that doesn't need to be implemented by subclass
-	return this->actorName;
-}
-
-
-void VisualActor::prepareShow(const VisualPlayerState& visualPlayerState) {
-	// hook method that can be implemented by subclass
-}
-
-
-void VisualActor::show() {
-	// interface method that should be implemented by subclass
-	VisualActorGraphics::doFallbackActorShow(this->actorName);
-}
-
-
-void VisualActor::finishShow() {
-    // hook method that can be implemented by subclass
-}
-
-
-VisualActorState VisualActor::getState() {
-    // interface method that doesn't need to be implemented by subclass
-    return this->state;
-}
-
-
-void VisualActor::handleNotification(const VisualNotification& aNotification) {
-    // hook method that can be implemented by subclass
-	VisualNotificationKey aKey = aNotification.getKey();
-	char notificationStr[64];
-	char logStr[128];
-	VisualNotification::convertNotificationKeyToString(aKey, notificationStr);
-	sprintf(logStr, "%s: Notification: %s", this->actorName, notificationStr);
-	writeLog(logStr);
-}
-
-
-UInt8 VisualActor::getError(char* errorString) {
-    UInt8 errorNum = 0;
-    char anErrorString[256];
-
-    errorNum = VisualActorGraphics::getError(anErrorString);
-    if (errorNum > 0) {
-        strcpy(errorString, anErrorString);
-    }
-    return errorNum;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualActor.h b/src/projectM-iTunes-VizKit/source/VisualActor.h
deleted file mode 100644
index 9030769..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActor.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActor.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualActor_h
-#define VisualActor_h
-
-#include "VisualActorState.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualPlayerState; // Forward declaration (to avoid include of header file).
-	class VisualNotification; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Defines the interface for each specific actor.
-	 * It is the superclass each actor has to be a subclass of.
-	 * VisualActor is an abstract class each actor has to extend.
-	 * Some virtual methods are pure abstract interface methods which must be overridden by the concrete actor.
-	 * Some virtual methods provide a default implementation which can be overridden by the concrete actor.
-	 */
-	class VisualActor {
-
-	public:
-
-		/**
-		 * The constructor.
-		 * Each actor should implement his/her own constructor that is called additionally.
-		 */
-		VisualActor();
-
-		/**
-		 * The destructor.
-		 * Each actor can implement his/her own destructor.
-		 */
-		virtual ~VisualActor();
-
-		/**
-		 * Copy constructor.
-		 */		
-		VisualActor(const VisualActor& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualActor& operator=(const VisualActor& other);
-		
-		/**
-		 * Returns the name of the actor. The name is used as identifier by the VisualStageControl.
-		 * Virtual method that does not need to be implemented by subclass.\ The name of the implemented visual actor is returned if the variable actorName is set correctly.
-		 */
-		virtual const char* const getName(void);
-
-		/**
-		 * Asks the actor to do preparations for his/her show.
-		 * Hook method that can be implemented by subclass.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 * @remarks PrepareShow() is called by the VisualEnsemble as part of the showEnsemble() method.
-		 */
-		virtual void prepareShow(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Asks the actor to perform his/her show.
-		 * This is the main method of the actor.
-		 * This method triggers the main show of the actor.
-		 * Interface method that should be implemented by subclass.
-		 * @remarks Show() is called by the VisualEnsemble as part of his/her showEnsemble() method.
-		 */
-		virtual void show(void);
-
-		/**
-		 * Asks the actor to finish his/her show.
-		 * Hook method that can be implemented by subclass.
-		 * @remarks FinishShow() is called by the VisualEnsemble as part of its showEnsemble() method.
-		 */
-		virtual void finishShow(void);
-
-		/**
-		 * Returns the state of the actor.
-		 * Interface method that does not need to be implemented by subclass. 
-		 * Default implementation returns the value of the state variable.
-		 * @return The state of the actor expressed as visualActorState.
-		 * @remarks If the actor's state is kVisActNoShow, it is not called by the VisualEnsemble.
-		 */
-		virtual VisualActorState getState(void);
-
-		/**
-		 * The actor receives a notification.
-		 * Each actor can register for a notification (event/message) at compile time in VisualStageControl::initVisualStageControl() or in runtime by calling VisualEnsemble's registerObserverForNotification().
-		 * This function receives the notification.
-		 * Hook method that can be implemented by subclass.
-		 * @param aNotification The notification package.
-		 * @remarks For debugging puposes, the subclass can explicitly call this method.\ Each notification key will be written to error log then.
-		 */
-		virtual void handleNotification(const VisualNotification& aNotification);
-
-		/**
-		 * After the completion of the show, the actor is called to see if any errors occured.
-		 * This method is implemented by the super class.\ It calls the OpenGL error handler.
-		 * Should not be overridden by subclass.\ Subclasses can implement the method but should then call the superclass implementation inside the subclass implementation also.
-		 * @param[out] errorString The error c-string.
-		 * @return The error number. 0 is no error.
-		 */
-		virtual UInt8 getError(char* errorString);
-
-	protected:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualActor.
-		 */
-		void copy(const VisualActor& other);
-		
-		/** The state of the VisualActor. */
-		VisualActorState state;
-		
-		/** The name of the VisualActor. */
-		char actorName[64];
-		
-	};
-
-}
-
-#endif /* VisualActor_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp
deleted file mode 100644
index 76c7782..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.cpp
+++ /dev/null
@@ -1,420 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActorGraphics.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualActorGraphics.h"
-#include "VisualDataStore.h"
-#include "VisualImage.h"
-#include "VisualGraphics.h"
-#include "VisualActorState.h"
-#include "VisualString.h"
-#include "VisualErrorHandling.h"
-#include "VisualDispatch.h"
-
-#if TARGET_OS_WIN
-#include <QT/macmemory.h> // HLock
-#endif
-
-
-
-using namespace VizKit;
-
-
-VisualActorGraphics::VisualActorGraphics() {
-	// null
-}
-
-
-VisualActorGraphics::~VisualActorGraphics() {
-}
-
-
-UInt8 VisualActorGraphics::getError(char* errorString) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getOpenGLError(errorString);
-}
-
-
-void VisualActorGraphics::setBackgroundColor(const RGBAColor& aColorVal) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->setBackgroundColor(aColorVal);
-}
-
-
-RGBAColor VisualActorGraphics::getBackgroundColor() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getBackgroundColor();
-}
-
-
-VisualImage* VisualActorGraphics::createCoverArtImage() {
-
-	Handle coverArtDataHdl = VisualDataStore::getHandleOfCoverArt();
-	HLock(coverArtDataHdl);
-	
-	OSType coverArtFileType = VisualDataStore::getCoverArtFileType();
-
-	char coverArtFileTypeCStr[5];
-	VisualDataStore::OSTypeToString(coverArtFileType, coverArtFileTypeCStr);
-	setProcessInfo("CoverArtFileType", coverArtFileTypeCStr);
-	
-	VisualImage* anImage = new VisualImage;
-	OSStatus osStatus = anImage->initWithDataHandle(coverArtDataHdl, coverArtFileType);
-
-	HUnlock(coverArtDataHdl);
-	VisualDataStore::disposeHandleOfCoverArt();
-	
-	if (osStatus != noErr) {
-		return NULL;
-	} else if (anImage->isEmpty()) {
-		delete anImage;
-		return NULL;
-	}
-	
-	return anImage;
-}
-
-
-void VisualActorGraphics::releaseCoverArtImage(VisualImage** coverArtImage) {
-	delete *coverArtImage;
-	*coverArtImage = NULL;
-}
-
-
-void VisualActorGraphics::createCheckTexture(UInt32& textureNumber, UInt32& textureWidth, UInt32& textureHeight, UInt32& imageWidth, UInt32& imageHeight) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->createCheckTexture(textureNumber, textureWidth, textureHeight, imageWidth, imageHeight);
-}
-
-
-UInt32 VisualActorGraphics::getNextFreeTextureName() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getNextFreeTextureName();
-}
-
-
-void VisualActorGraphics::deleteTextures(const UInt16 numberOfTextures, const UInt32* const textureNames) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->deleteTextures(numberOfTextures, textureNames);
-}
-
-
-void VisualActorGraphics::drawPerspectiveSquare(UInt32 textureNumber) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawPerspectiveRect(textureNumber);
-}
-
-
-void VisualActorGraphics::resetModelViewMatrix() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->resetModelViewMatrix();
-}
-
-
-void VisualActorGraphics::enableAlphaBlending() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->enableAlphaBlending();
-}
-
-
-void VisualActorGraphics::disableBlending() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->disableBlending();
-}
-
-
-bool VisualActorGraphics::getCoordsOfPixelPosition(
-									double xPixelPos, 
-									double yPixelPos, 
-									double zAxisPos, 
-									double* xCoordPos,
-									double* yCoordPos,
-									double* zCoordPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getCoordsOfPixelPosition(xPixelPos + theVisualGraphics->getCanvasXOriginOffset(), yPixelPos + theVisualGraphics->getCanvasYOriginOffset(), zAxisPos, xCoordPos, yCoordPos, zCoordPos);
-}
-
-
-bool VisualActorGraphics::getPixelsOfCoordPosition(
-								double xCoordPos,
-								double yCoordPos,
-								double zCoordPos,
-								double* xPixelPos, 
-								double* yPixelPos, 
-								double* zAxisPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getPixelsOfCoordPosition(xCoordPos, yCoordPos, zCoordPos, xPixelPos, yPixelPos, zAxisPos);
-}
-
-
-UInt16 VisualActorGraphics::getCanvasPixelWidth() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getCanvasPixelWidth();
-}
-
-
-UInt16 VisualActorGraphics::getCanvasPixelHeight() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getCanvasPixelHeight();
-}
-
-
-double VisualActorGraphics::getCanvasCoordWidth() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getCanvasCoordWidth();
-}
-
-
-double VisualActorGraphics::getCanvasCoordHeight() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getCanvasCoordHeight();
-}
-	
-
-double VisualActorGraphics::getMaxTopCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxTopCoordOfCanvas();
-}
-
-
-double VisualActorGraphics::getMaxLeftCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxLeftCoordOfCanvas();
-}
-
-
-double VisualActorGraphics::getMaxBottomCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxBottomCoordOfCanvas();
-}
-
-
-double VisualActorGraphics::getMaxRightCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxRightCoordOfCanvas();
-}
-
-
-double VisualActorGraphics::getMaxNearCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxNearCoordOfCanvas();
-}
-
-
-double VisualActorGraphics::getMaxFarCoordOfCanvas() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->getMaxFarCoordOfCanvas();
-}
-
-
-UInt16 VisualActorGraphics::xCoordToPixel(double coordPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->xCoordToPixel(coordPos);
-}
-
-
-UInt16 VisualActorGraphics::yCoordToPixel(double coordPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->yCoordToPixel(coordPos);
-}
-
-
-double VisualActorGraphics::xPixelToCoord(const UInt16 pixelPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->xPixelToCoord(pixelPos);
-}
-
-
-double VisualActorGraphics::yPixelToCoord(const UInt16 pixelPos) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->yPixelToCoord(pixelPos);
-}
-
-
-void VisualActorGraphics::spotGL(double zPlane) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->spotGL(zPlane);
-}
-
-
-void VisualActorGraphics::drawSpot(const float xNum, const float yNum, const float r, const float g, const float b, UInt16 waveformIntensityVal, float intensity, const UInt8 tailSize) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawSpot(xNum, yNum, r, g, b, waveformIntensityVal, intensity, tailSize);
-}
-
-
-void VisualActorGraphics::setOrthographicProjection() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->setOrthographicProjection();
-}
-
-
-void VisualActorGraphics::setPerspectiveProjection(double maxNearCoord) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->setPerspectiveProjection(maxNearCoord);
-}
-
-
-void VisualActorGraphics::prepareProcessMonitorShow(RGBAColor& theColor) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->setColor(theColor);
-}
-
-
-void VisualActorGraphics::showProcessInfoRow(double xNum, double yNum, const char* const textRowStr) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->showProcessInfoRow(xNum, yNum, textRowStr);
-}
-
-
-void VisualActorGraphics::showProcessInfoNote() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->showProcessInfoNote();
-}
-
-
-void VisualActorGraphics::drawWaveform(const SInt16 historyNum, const UInt16 maxNumberOfHistories, const UInt32 numberOfWaveformEntries, const SInt16** const waveformDataMonoArray) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawWaveform(historyNum, maxNumberOfHistories, numberOfWaveformEntries, const_cast<SInt16**>(waveformDataMonoArray));
-}
-
-
-void VisualActorGraphics::drawSpectrumAnalyzer(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawSpectrumAnalyzer(currHistoryNum, numberOfHistories, numberOfSpectrumEntries, numberOfAudioChannels, spectrumDataArray);
-}
-
-
-void VisualActorGraphics::drawSpectrogram(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawSpectrogram(currHistoryNum, numberOfHistories, numberOfSpectrumEntries, numberOfAudioChannels, spectrumDataArray);
-}
-
-
-void VisualActorGraphics::drawBeatHistogram(const UInt32* const beatHistogram) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawBeatHistogram(beatHistogram);
-}
-
-
-void VisualActorGraphics::drawTrackProgressMeter(ConstVertexChainRef const progressMeterBackgroundVertices, ConstVertexChainRef const progressMeterVertices, ConstVertexChainRef const progressMeterOutlineVertices) {
-	
-	RGBAColor verticesColor;
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	
-	RGBAColor backgroundColor = theVisualGraphics->getBackgroundColor();
-	theVisualGraphics->setColor(backgroundColor);
-	
-	theVisualGraphics->drawColorlessGLPrimitive(kGL_QUADS, progressMeterBackgroundVertices);
-	
-	verticesColor.r = 0.8f;
-	verticesColor.g = 0.8f;
-	verticesColor.b = 0.8f;
-	verticesColor.a = 1.0f;
-	theVisualGraphics->setColor(verticesColor);
-	
-	theVisualGraphics->drawColorlessGLPrimitive(kGL_QUADS, progressMeterVertices);
-
-	verticesColor.r = 0.0f;
-	verticesColor.g = 0.0f;
-	verticesColor.b = 0.0f;
-	verticesColor.a = 1.0f;
-	theVisualGraphics->setColor(verticesColor);
-	
-	theVisualGraphics->drawColorlessGLPrimitive(kGL_LINE_LOOP, progressMeterOutlineVertices);
-}
-
-
-void VisualActorGraphics::doFallbackActorShow(const char* const visualActorName) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->doFallbackActorShow(visualActorName);
-}
-
-
-void VisualActorGraphics::prepareCoverArtAction() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	VisualActorGraphics::setPerspectiveProjection(3.0f);
-	theVisualGraphics->enableDepthTest();
-	theVisualGraphics->translateMatrix(0.0, 0.0, (theVisualGraphics->getMaxFarCoordOfCanvas() - theVisualGraphics->getMaxNearCoordOfCanvas()) / 2.0 * -1.0 - theVisualGraphics->getMaxNearCoordOfCanvas());
-}
-
-
-void VisualActorGraphics::finishCoverArtAction() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	
-	theVisualGraphics->disableDepthTest();
-	VisualActorGraphics::setOrthographicProjection();
-}
-
-
-void VisualActorGraphics::scaleMatrix(float xFactor, float yFactor, float zFactor) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->scaleMatrix(xFactor, yFactor, zFactor);
-}
-
-
-void VisualActorGraphics::enableDepthTest() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->enableDepthTest();
-}
-
-
-void VisualActorGraphics::disableDepthTest() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->disableDepthTest();
-}
-
-
-void VisualActorGraphics::enableCullFace() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->enableCullFace();
-}
-
-
-void VisualActorGraphics::disableCullFace() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->disableCullFace();
-}
-
-
-void VisualActorGraphics::cullFaceFront() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->cullFaceFront();
-}
-
-
-void VisualActorGraphics::cullFaceBack() {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->cullFaceBack();
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h b/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h
deleted file mode 100644
index 20965f0..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActorGraphics.h
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActorGraphics.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualActorGraphics_h
-#define VisualActorGraphics_h
-
-#include "VisualGraphicTypes.h" // RGBAColor
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualImage; // Forward declaration (to avoid include of header file).
-	class VisualString; // Forward declaration (to avoid include of header file).
-	
-	/**
-	 * The graphics related static functions for the Visual Actors.
-	 * By gathering the graphics related calls of the Visual Actors, it is easier to track and isolate possible problems.
-	 * All functions of VisualActorGraphics are static.
-	 * Most of the time, functions of VisualActorGraphics are executed by VisualGraphics.
-	 * The static functions of VisualActorGraphics are expected to change more often than the methods of the VisualGraphics class.
-	 * The static functions of VisualActorGraphics are aggregates of graphical operations.
-	 */
-	class VisualActorGraphics {
-
-	public:
-
-		/**
-		 * Returns an error string (if there was an error).
-		 * @param[out] errorString Pointer to character buffer to receive the error string.
-		 * @return Error Number.
-		 */
-		static UInt8 getError(char* errorString);
-		
-		/**
-		 * Sets the value of the background color.
-		 * @param aColorVal The RGBA values.
-		 */	
-		static void setBackgroundColor(const RGBAColor& aColorVal);
-
-		/**
-		 * Returns the value of the background color.
-		 * @return The RGBA values of the background color.
-		 */	
-		static RGBAColor getBackgroundColor(void);
-
-		/**
-		 * Creates an image of the cover.
-		 * @return The image of the album cover artwork.\ Returns NULL if cover image is not available.
-		 * @remarks The caller has to release the allocated memory by calling VisualActorGraphics::releaseCoverArtImage().
-		 */
-		static VisualImage* createCoverArtImage(void);
-
-		/**
-		 * Releases the allocated memory of the coverArtImage.
-		 * @param coverArtImage The image of the album cover artwork.
-		 */
-		static void releaseCoverArtImage(VisualImage** coverArtImage);
-		
-		/**
-		 * Creates a texture of squares. Useful for testing purposes.
-		 * @param[out] textureNumber The texture number (texture name) of the generated texture.
-		 * @param[out] textureWidth The width of the generated texture.
-		 * @param[out] textureHeight The height of the generated texture.
-		 * @param[out] imageWidth The width of the image data.
-		 * @param[out] imageHeight The height of the image data.
-		 */
-		static void createCheckTexture(UInt32 &textureNumber, UInt32 &textureWidth, UInt32 &textureHeight, UInt32 &imageWidth, UInt32 &imageHeight);
-
-		/**
-		 * Returns a free texture name/index/number/id.
-		 * @return A free texture name/index/number.
-		 */
-		static UInt32 getNextFreeTextureName(void);
-
-		/**
-		 * Frees memory bound by OpenGL textures.
-		 * @param numberOfTextures The number of textures to free.
-		 * @param textureNames Pointer to texture names (texture numbers) to free.
-		 */
-		static void deleteTextures(const UInt16 numberOfTextures, const UInt32* const textureNames);
-
-		/**
-		 * Draws a perspective square.
-		 * Used by template actor.
-		 * @param textureNumber The number/id/name of the texture (if any).
-		 */	
-		static void drawPerspectiveSquare(UInt32 textureNumber = NULL);
-		
-		/**
-		 * Resets the model view matrix.
-		 */
-		static void resetModelViewMatrix(void);
-		
-		/**
-		 * Enables alpha blending.
-		 */		
-		static void enableAlphaBlending(void);
-
-		/**
-		 * Disables blending.
-		 */
-		static void disableBlending(void);
-
-		/**
-		 * Maps window coordinates to object coordinates.
-		 * @param xPixelPos The horizontal pixel position.
-		 * @param yPixelPos The vertical pixel position.
-		 * @param zAxisPos The position on the z-axis.
-		 * @param xCoordPos Returns: The x-CoordPosition.
-		 * @param yCoordPos Returns: The y-CoordPosition.
-		 * @param zCoordPos Returns: The z-CoordPosition.
-		 * @return True on success, false on error.
-		 */	
-		static bool getCoordsOfPixelPosition(
-										double xPixelPos, 
-										double yPixelPos, 
-										double zAxisPos, 
-										double* xCoordPos,
-										double* yCoordPos,
-										double* zCoordPos);
-
-		/**
-		 * Maps object coordinates to window coordinates.
-		 * @param xCoordPos The x-CoordPosition.
-		 * @param yCoordPos The y-CoordPosition.
-		 * @param zCoordPos The z-CoordPosition.
-		 * @param xPixelPos Returns: The horizontal pixel position.
-		 * @param yPixelPos Returns: The vertical pixel position.
-		 * @param zAxisPos Returns: The position on the z-axis.
-		 * @return True on success, false on error.
-		 */	
-		static bool getPixelsOfCoordPosition(
-										double xCoordPos,
-										double yCoordPos,
-										double zCoordPos,
-										double* xPixelPos, 
-										double* yPixelPos, 
-										double* zAxisPos);
-
-		/**
-		 * Returns the width of the canvas in pixels.
-		 * @return The width of the canvas in pixels.
-		 */
-		static UInt16 getCanvasPixelWidth(void);
-
-		/**
-		 * Returns the height of the canvas in pixels.
-		 * @return The height of the canvas in pixels.
-		 */
-		static UInt16 getCanvasPixelHeight(void);
-		
-		/**
-		 * Returns the width of the canvas in coords.
-		 * @return The width of the canvas in coords.
-		 */	
-		static double getCanvasCoordWidth(void);
-
-		/**
-		 * Returns the height of the canvas in coords.
-		 * @return The height of the canvas in coords.
-		 */	
-		static double getCanvasCoordHeight(void);
-
-		/**
-		 * Returns the maximum top position.
-		 * @return The maximum top position.
-		 */
-		static double getMaxTopCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum left position.
-		 * @return The maximum left position.
-		 */
-		static double getMaxLeftCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum bottom position.
-		 * @return The maximum bottom position.
-		 */
-		static double getMaxBottomCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum right position.
-		 * @return The maximum right position.
-		 */
-		static double getMaxRightCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum near position.
-		 * @return The maximum near position.
-		 */
-		static double getMaxNearCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum far position.
-		 * @return The maximum far position.
-		 */
-		static double getMaxFarCoordOfCanvas(void);
-
-		/**
-		 * Converts a horizontal coordinate to a horizontal pixel position.
-		 * @param coordPos The canvas coord position.
-		 * @return The canvas pixel position.
-		 */	
-		static UInt16 xCoordToPixel(double coordPos);
-
-		/**
-		 * Converts a vertical coordinate to a horizontal pixel position.
-		 * @param coordPos The canvas coord position.
-		 * @return The canvas pixel position.
-		 */	
-		static UInt16 yCoordToPixel(double coordPos);
-
-		/**
-		 * Converts a horizontal pixel position to a horizontal coordinate.
-		 * @param pixelPos The canvas pixel position.
-		 * @return The canvas coord position.
-		 */	
-		static double xPixelToCoord(const UInt16 pixelPos);
-
-		/**
-		 * Converts a vertical pixel position to a vertical coordinate.
-		 * @param pixelPos The canvas pixel position.
-		 * @return The canvas coord position.
-		 */		
-		static double yPixelToCoord(const UInt16 pixelPos);
-
-		/**
-		 * Draws a spot (for testing purpose).
-		 * @param zPlane The z-Coord (optional parameter, default = 0.0).
-		 */
-		static void spotGL(double zPlane = 0.0);
-		
-		/**
-		 * Draws a single spot.
-		 * @param xNum The horizontal position of the spot.
-		 * @param yNum The vertical position of the spot.
-		 * @param r The red component of the RGB-Color.
-		 * @param g The green component of the RGB-Color.
-		 * @param b The blue component of the RGB-Color.
-		 * @param waveformIntensityVal The current radius of the spot.
-		 * @param intensity The current intensity of the spot.
-		 * @param tailSize The current tailSize of the spot.
-		 */		
-		static void drawSpot(const float xNum, const float yNum, const float r, const float g, const float b, UInt16 waveformIntensityVal, float intensity, const UInt8 tailSize);
-
-		/**
-		 * Prepares the action of the cover art by setting up perspective projection and enabling depth testing.
-		 */	
-		static void prepareCoverArtAction(void);
-
-		/**
-		 * Finishes the action of the cover art.
-		 */			
-		static void finishCoverArtAction(void);
-
-		/**
-		 * Sets up a orthographic projection.
-		 */	
-		static void setOrthographicProjection(void);
-
-		/**
-		 * Sets up a perspective projection.
-		 * @param maxNearCoord The maximum near position.\ With the maxNearCoord the position of the near clipping plane of the viewing volume is set.\ By setting maxNearCoord the perspective projection (the shape of the viewing volume) can be adjusted.\ The value of maxNearCoord must be positive.
-		 */	
-		static void setPerspectiveProjection(double maxNearCoord);
-
-		/**
-		 * Prepares the show of the Process Monitor.
-		 * @param theColor The requested color.
-		 */
-		static void prepareProcessMonitorShow(RGBAColor& theColor);
-
-		/**
-		 * Shows a row of Process Monitor Info.
-		 * The graphical operations involved in putting a row of textual process info on screen is encapsulated within this function.
-		 * @param xNum Horizontal position.
-		 * @param yNum Vertical position.
-		 * @param textRowStr Pointer to character buffer with process info string (label and value).
-		 */
-		static void showProcessInfoRow(double xNum, double yNum, const char* const textRowStr);
-
-		/**
-		 * Shows a note about Process Monitor.
-		 */	
-		static void showProcessInfoNote(void);
-
-		/**
-		 * Draws the waveform data.
-		 * @param historyNum The index of the history the waveform data is taken from.
-		 * @param maxNumberOfHistories Maximum number of histories stored in waveformDataMonoArray.
-		 * @param numberOfWaveformEntries The number of waveform values.
-		 * @param waveformDataMonoArray Pointer to waveform data of all histories. The array has two dimensions: history and index.
-		 */		
-		static void drawWaveform(const SInt16 historyNum, const UInt16 maxNumberOfHistories, const UInt32 numberOfWaveformEntries, const SInt16** const waveformDataMonoArray);
-
-		/**
-		 * Draws a graphical representation of the spectral data with subband bar graphs.
-		 * @param currHistoryNum The index of the history the spectrum data is taken from.
-		 * @param numberOfHistories The maximum number of histories.
-		 * @param numberOfSpectrumEntries The number of spectrum data values.
-		 * @param numberOfAudioChannels The number of audio channels.
-		 * @param spectrumDataArray Pointer to spectrum data of all histories.
-		 */
-		static void drawSpectrumAnalyzer(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray);
-
-		/**
-		 * Draws a graphical representation of the spectral data as spectrogram.
-		 * @param currHistoryNum The index of the history the spectrum data is taken from.
-		 * @param numberOfHistories The maximum number of histories.
-		 * @param numberOfSpectrumEntries The number of spectrum data values.
-		 * @param numberOfAudioChannels The number of audio channels.
-		 * @param spectrumDataArray Pointer to spectrum data of all histories.
-		 */
-		static void drawSpectrogram(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray);
-
-		/**
-		 * Draws a histogram of the beat values.
-		 * @param beatHistogram The beat histogram.
-		 */
-		static void drawBeatHistogram(const UInt32* const beatHistogram);
-
-		/**
-		 * Draws a progress bar that advances with the progress of the currently playing audio track.
-		 * @param progressMeterBackgroundVertices The vertices of the background of the progress meter.
-		 * @param progressMeterVertices The vertices of the actual progress meter.
-		 * @param progressMeterOutlineVertices The vertices of the outline of the progress meter.
-		 */
-		static void drawTrackProgressMeter(ConstVertexChainRef const progressMeterBackgroundVertices, ConstVertexChainRef const progressMeterVertices, ConstVertexChainRef const progressMeterOutlineVertices);
-
-		/**
-		 * The default implementation of the show() method of the VisualActor interface class.
-		 * @param visualActorName The name of the VisualActor.
-		 */
-		static void doFallbackActorShow(const char* const visualActorName);
-
-		/**
-		 * Call of glScalef().
-		 * @param xFactor The scale factor in the horizontal dimension.
-		 * @param yFactor The scale factor in the vertical dimension.
-		 * @param zFactor The scale factor in the z-dimension.
-		 */
-		static void scaleMatrix(float xFactor, float yFactor, float zFactor);
-
-		/**
-		 * Enables GL_DEPTH_TEST.
-		 */
-		static void enableDepthTest(void);
-
-		/**
-		 * Disables GL_DEPTH_TEST.
-		 */
-		static void disableDepthTest(void);
-		
-		/**
-		 * Enables GL_CULL_FACE.
-		 */
-		static void enableCullFace(void);
-
-		/**
-		 * Disables GL_CULL_FACE.
-		 */
-		static void disableCullFace(void);
-
-		/**
-		 * Specifies that front-facing facets can be culled.
-		 */
-		static void cullFaceFront(void);
-
-		/**
-		 * Specifies that back-facing facets can be culled.
-		 */
-		static void cullFaceBack(void);
-		
-	private:
-
-		/**
-		 * The constructor.
-		 */
-		VisualActorGraphics();
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualActorGraphics();
-		
-	};
-
-}
-
-#endif /* VisualActorGraphics_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualActorState.cpp b/src/projectM-iTunes-VizKit/source/VisualActorState.cpp
deleted file mode 100644
index e6d4ed0..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActorState.cpp
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActorState.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualActorState.h"
-
-#include <string>
-
-
-using namespace VizKit;
-
-
-void convertVisualActorStateToString(const VisualActorState aVisualActorState, char* outString) {
-	char* messageString;
-	switch (aVisualActorState) {
-		case kVisActUndefinedState:
-			messageString = "kVisActUndefinedState";
-			break;
-		case kVisActOff:
-			messageString = "kVisActOff";
-			break;
-		case kVisActOn:
-			messageString = "kVisActOn";
-			break;
-		case kVisActNoShow:
-			messageString = "kVisActNoShow";
-			break;
-		default:
-			messageString = "unknownVisualActorState";
-	}
-	strcpy(outString, messageString);
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualActorState.h b/src/projectM-iTunes-VizKit/source/VisualActorState.h
deleted file mode 100644
index be02855..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualActorState.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualActorState.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualActorState_h
-#define VisualActorState_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * The VisualActorState defines the possible state of the VisualActor.
-	 */
-	typedef enum {
-		kVisActUndefinedState = 0, /**< Undefined state that e.g.\ can be used to check against previous state with initialization state. */
-		kVisActOff = 1, /**< The actor is turned off.\ The actor is called during the show nevertheless.\ The actor can decide if it wants to display anything. */
-		kVisActOn = 2, /**< The actor is turned on. */
-		kVisActNoShow = 3, /**< The actor is turned off.\ The actor is not called during the show at all.\ Therefore the actor can not be turned on easily. */
-	} VisualActorState;
-
-	/**
-	 * Constants VisualActorState into char string.\ Possibly useful for debugging or tracing purposes.
-	 * @param aVisualActorState The state to convert.
-	 * @param outString The char string that can be printed and used for debugging output.
-	 */
-	void convertVisualActorStateToString(const VisualActorState aVisualActorState, char* outString);
-
-}
-
-#endif /* VisualActorState_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualAsset.cpp b/src/projectM-iTunes-VizKit/source/VisualAsset.cpp
deleted file mode 100644
index 66ab76c..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualAsset.cpp
+++ /dev/null
@@ -1,813 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAsset.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualAsset.h"
-#include "VisualErrorHandling.h"
-#include "VisualImage.h"
-#include "VisualStageBox.h"
-#include "VisualGraphics.h"
-#include "VisualTimeline.h"
-#include "VisualStageControl.h"
-#include "VisualItemIdentifier.h"
-
-
-
-using namespace VizKit;
-
-
-VisualAsset::VisualAsset() {
-	image = NULL;
-	stageBox = new VisualStageBox;
-	assetIdentifier = new VisualItemIdentifier;
-	rotationAngle = 0.0f;
-	opacityValue = 1.0f;
-	vertexChainFront = NULL;
-	vertexChainTop = NULL;
-	vertexChainLeft = NULL;
-	vertexChainRight = NULL;
-	vertexChainBack = NULL;
-	vertexChainBottom = NULL;
-	topLeftFrontVertexColor.r = 1.0f;
-	topLeftFrontVertexColor.g = 1.0f;
-	topLeftFrontVertexColor.b = 1.0f;
-	topLeftFrontVertexColor.a = 1.0f;
-	topLeftBackVertexColor.r = 1.0f;
-	topLeftBackVertexColor.g = 1.0f;
-	topLeftBackVertexColor.b = 1.0f;
-	topLeftBackVertexColor.a = 1.0f;
-	bottomLeftFrontVertexColor.r = 1.0f;
-	bottomLeftFrontVertexColor.g = 1.0f;
-	bottomLeftFrontVertexColor.b = 1.0f;
-	bottomLeftFrontVertexColor.a = 1.0f;
-	bottomLeftBackVertexColor.r = 1.0f;
-	bottomLeftBackVertexColor.g = 1.0f;
-	bottomLeftBackVertexColor.b = 1.0f;
-	bottomLeftBackVertexColor.a = 1.0f;
-	bottomRightFrontVertexColor.r = 1.0f;
-	bottomRightFrontVertexColor.g = 1.0f;
-	bottomRightFrontVertexColor.b = 1.0f;
-	bottomRightFrontVertexColor.a = 1.0f;
-	bottomRightBackVertexColor.r = 1.0f;
-	bottomRightBackVertexColor.g = 1.0f;
-	bottomRightBackVertexColor.b = 1.0f;
-	bottomRightBackVertexColor.a = 1.0f;
-	topRightFrontVertexColor.r = 1.0f;
-	topRightFrontVertexColor.g = 1.0f;
-	topRightFrontVertexColor.b = 1.0f;
-	topRightFrontVertexColor.a = 1.0f;
-	topRightBackVertexColor.r = 1.0f;
-	topRightBackVertexColor.g = 1.0f;
-	topRightBackVertexColor.b = 1.0f;
-	topRightBackVertexColor.a = 1.0f;
-}
-
-
-VisualAsset::~VisualAsset() {
-
-	VisualStageControl::removeVisualAnimationsWithOwnerIdentifier(*assetIdentifier);
-
-	delete stageBox;
-	delete assetIdentifier;
-	if (image != NULL) {
-		delete image;
-	}
-	
-	for (VertexChainMapIterator mapIt = this->vertexChainMap.begin(); mapIt != this->vertexChainMap.end(); mapIt++) {
-		for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) {
-			delete *chainIt;
-			*chainIt = NULL;
-		}
-		mapIt->second->clear();
-		mapIt->second = NULL;
-	}
-	this->vertexChainMap.clear();
-
-}
-
-
-VisualAsset::VisualAsset(const VisualAsset& other) {
-	stageBox = new VisualStageBox;
-	assetIdentifier = new VisualItemIdentifier;
-	copy(other);
-}
-
-
-VisualAsset& VisualAsset::operator=(const VisualAsset& other) {
-	if (this != &other) {
-		if (this->image != NULL) {
-			delete this->image;
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualAsset::copy(const VisualAsset& other) {
-	if (other.image != NULL) {
-		this->image = new VisualImage(*(other.image));
-	} else {
-		this->image = NULL;
-	}
-	*(this->stageBox) = *(other.stageBox);
-	*(this->assetIdentifier) = *(other.assetIdentifier);
-	this->rotationAngle = other.rotationAngle;
-	this->opacityValue = other.opacityValue;
-	
-	this->vertexChainFront = other.vertexChainFront;
-	this->vertexChainTop = other.vertexChainTop;
-	this->vertexChainLeft = other.vertexChainLeft;
-	this->vertexChainRight = other.vertexChainRight;
-	this->vertexChainBack = other.vertexChainBack;
-	this->vertexChainBottom = other.vertexChainBottom;
-	this->topLeftFrontVertexColor.r = other.topLeftFrontVertexColor.r;
-	this->topLeftFrontVertexColor.g = other.topLeftFrontVertexColor.g;
-	this->topLeftFrontVertexColor.b = other.topLeftFrontVertexColor.b;
-	this->topLeftFrontVertexColor.a = other.topLeftFrontVertexColor.a;
-	this->topLeftBackVertexColor.r = other.topLeftBackVertexColor.r;
-	this->topLeftBackVertexColor.g = other.topLeftBackVertexColor.g;
-	this->topLeftBackVertexColor.b = other.topLeftBackVertexColor.b;
-	this->topLeftBackVertexColor.a = other.topLeftBackVertexColor.a;
-	this->bottomLeftFrontVertexColor.r = other.bottomLeftFrontVertexColor.r;
-	this->bottomLeftFrontVertexColor.g = other.bottomLeftFrontVertexColor.g;
-	this->bottomLeftFrontVertexColor.b = other.bottomLeftFrontVertexColor.b;
-	this->bottomLeftFrontVertexColor.a = other.bottomLeftFrontVertexColor.a;
-	this->bottomLeftBackVertexColor.r = other.bottomLeftBackVertexColor.r;
-	this->bottomLeftBackVertexColor.g = other.bottomLeftBackVertexColor.g;
-	this->bottomLeftBackVertexColor.b = other.bottomLeftBackVertexColor.b;
-	this->bottomLeftBackVertexColor.a = other.bottomLeftBackVertexColor.a;
-	this->bottomRightFrontVertexColor.r = other.bottomRightFrontVertexColor.r;
-	this->bottomRightFrontVertexColor.g = other.bottomRightFrontVertexColor.g;
-	this->bottomRightFrontVertexColor.b = other.bottomRightFrontVertexColor.b;
-	this->bottomRightFrontVertexColor.a = other.bottomRightFrontVertexColor.a;
-	this->bottomRightBackVertexColor.r = other.bottomRightBackVertexColor.r;
-	this->bottomRightBackVertexColor.g = other.bottomRightBackVertexColor.g;
-	this->bottomRightBackVertexColor.b = other.bottomRightBackVertexColor.b;
-	this->bottomRightBackVertexColor.a = other.bottomRightBackVertexColor.a;
-	this->topRightFrontVertexColor.r = other.topRightFrontVertexColor.r;
-	this->topRightFrontVertexColor.g = other.topRightFrontVertexColor.g;
-	this->topRightFrontVertexColor.b = other.topRightFrontVertexColor.b;
-	this->topRightFrontVertexColor.a = other.topRightFrontVertexColor.a;
-	this->topRightBackVertexColor.r = other.topRightBackVertexColor.r;
-	this->topRightBackVertexColor.g = other.topRightBackVertexColor.g;
-	this->topRightBackVertexColor.b = other.topRightBackVertexColor.b;
-	this->topRightBackVertexColor.a = other.topRightBackVertexColor.a;
-}
-
-
-VisualStageBox* VisualAsset::getBox() {
-	return this->stageBox;
-}
-
-
-VisualStagePosition VisualAsset::getPosition() {
-	return this->stageBox->getVisualStagePosition();
-}
-
-
-void VisualAsset::setPosition(const VisualStagePosition& aPosition) {
-	this->stageBox->setVisualStagePosition(aPosition);
-}
-
-
-void VisualAsset::setImage(VisualImage& anImage) {
-	if (this->image != NULL) {
-		delete this->image;
-	}
-	this->image = new VisualImage(anImage);
-}
-
-
-VertexChain* VisualAsset::generateVertexChain(VertexChainName vertexChainName, double scaleFactor) {
-
-	VertexChain* returnedVertexChain = NULL;
-	Vertex* aVertex = NULL;
-
-	if (vertexChainName == kFrontVertexChain) {
-	
-		if (this->vertexChainFront != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainFront->begin(); chainIt != this->vertexChainFront->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainFront;
-			this->vertexChainFront = NULL;
-		}
-		
-		this->vertexChainFront = new VertexChain;
-
-		aVertex = this->createTopLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainFront->push_back(aVertex);
-
-		aVertex = this->createBottomLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainFront->push_back(aVertex);
-
-		aVertex = this->createBottomRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainFront->push_back(aVertex);
-
-		aVertex = this->createTopRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainFront->push_back(aVertex);
-
-		this->vertexChainMap[kFrontVertexChain] = this->vertexChainFront;
-		
-		returnedVertexChain = this->vertexChainFront;
-		
-	} else if (vertexChainName == kTopVertexChain) {
-
-		if (this->vertexChainTop != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainTop->begin(); chainIt != this->vertexChainTop->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainTop;
-			this->vertexChainTop = NULL;
-		}
-		
-		this->vertexChainTop = new VertexChain;
-
-		aVertex = this->createTopLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainTop->push_back(aVertex);
-
-		aVertex = this->createTopRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainTop->push_back(aVertex);
-		
-		aVertex = this->createTopRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainTop->push_back(aVertex);
-
-		aVertex = this->createTopLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainTop->push_back(aVertex);
-
-		this->vertexChainMap[kTopVertexChain] = this->vertexChainTop;
-		
-		returnedVertexChain = this->vertexChainTop;
-
-	} else if (vertexChainName == kLeftVertexChain) {
-
-		if (this->vertexChainLeft != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainLeft->begin(); chainIt != this->vertexChainLeft->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainLeft;
-			this->vertexChainLeft = NULL;
-		}
-		
-		this->vertexChainLeft = new VertexChain;
-
-		aVertex = this->createBottomLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainLeft->push_back(aVertex);
-
-		aVertex = this->createBottomLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainLeft->push_back(aVertex);
-		
-		aVertex = this->createTopLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainLeft->push_back(aVertex);
-
-		aVertex = this->createTopLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainLeft->push_back(aVertex);
-
-		this->vertexChainMap[kLeftVertexChain] = this->vertexChainLeft;
-		
-		returnedVertexChain = this->vertexChainLeft;
-
-	} else if (vertexChainName == kRightVertexChain) {
-
-		if (this->vertexChainRight != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainRight->begin(); chainIt != this->vertexChainRight->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainRight;
-			this->vertexChainRight = NULL;
-		}
-		
-		this->vertexChainRight = new VertexChain;
-
-		aVertex = this->createBottomRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainRight->push_back(aVertex);
-
-		aVertex = this->createBottomRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainRight->push_back(aVertex);
-		
-		aVertex = this->createTopRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainRight->push_back(aVertex);
-
-		aVertex = this->createTopRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainRight->push_back(aVertex);
-
-		this->vertexChainMap[kRightVertexChain] = this->vertexChainRight;
-		
-		returnedVertexChain = this->vertexChainRight;
-
-	} else if (vertexChainName == kBackVertexChain) {
-
-		if (this->vertexChainBack != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainBack->begin(); chainIt != this->vertexChainBack->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainBack;
-			this->vertexChainBack = NULL;
-		}
-		
-		this->vertexChainBack = new VertexChain;
-
-		aVertex = this->createBottomRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainBack->push_back(aVertex);
-
-		aVertex = this->createBottomLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainBack->push_back(aVertex);
-		
-		aVertex = this->createTopLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainBack->push_back(aVertex);
-
-		aVertex = this->createTopRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainBack->push_back(aVertex);
-
-		this->vertexChainMap[kBackVertexChain] = this->vertexChainBack;
-		
-		returnedVertexChain = this->vertexChainBack;
-
-	} else if (vertexChainName == kBottomVertexChain) {
-
-		if (this->vertexChainBottom != NULL) {
-			for (VertexChainIterator chainIt = this->vertexChainBottom->begin(); chainIt != this->vertexChainBottom->end(); chainIt++) {
-				delete *chainIt;
-				*chainIt = NULL;
-			}
-			delete this->vertexChainBottom;
-			this->vertexChainBottom = NULL;
-		}
-		
-		this->vertexChainBottom = new VertexChain;
-
-		aVertex = this->createBottomLeftBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainBottom->push_back(aVertex);
-
-		aVertex = this->createBottomRightBackVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = 0.0f;
-		this->vertexChainBottom->push_back(aVertex);
-		
-		aVertex = this->createBottomRightFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = this->image->getLogicalWidth();
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainBottom->push_back(aVertex);
-
-		aVertex = this->createBottomLeftFrontVertex(scaleFactor);
-		aVertex->texCoordPosition.sPos = 0.0f;
-		aVertex->texCoordPosition.tPos = this->image->getLogicalHeight();
-		this->vertexChainBottom->push_back(aVertex);
-
-		this->vertexChainMap[kBottomVertexChain] = this->vertexChainBottom;
-		
-		returnedVertexChain = this->vertexChainBottom;
-
-	}
-	
-	return returnedVertexChain;
-	
-}
-
-
-VertexChain* VisualAsset::getVertexChain(VertexChainName vertexChainName) {
-	VertexChain* vertexChainRef = NULL;
-	VertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName);
-	if (mapIt != this->vertexChainMap.end()) {
-		vertexChainRef = mapIt->second;
-	} else {
-		char errLog[64];
-		sprintf(errLog, "unable to find vertex chain to return: %d\n", vertexChainName);
-		writeLog(errLog);
-	}
-	return vertexChainRef;
-}
-
-
-bool VisualAsset::hasVertexChain(VertexChainName vertexChainName) {
-	bool result = false;
-	VertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName);
-	if (mapIt != this->vertexChainMap.end()) {
-		result = true;
-	}
-	return result;
-}
-
-
-void VisualAsset::removeVertexChain(VertexChainName vertexChainName) {
-	VertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName);
-	if (mapIt != this->vertexChainMap.end()) {
-		for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) {
-			delete *chainIt;
-			*chainIt = NULL;
-		}
-		mapIt->second->clear();
-		mapIt->second = NULL;
-		this->vertexChainMap.erase(mapIt);
-	}
-}
-
-
-Vertex* VisualAsset::createTopLeftFrontVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getLeftCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getTopCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getFrontPosition();
-	aVertex->vertexColor.r = this->topLeftFrontVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->topLeftFrontVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->topLeftFrontVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->topLeftFrontVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createTopLeftBackVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getLeftCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getTopCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getBackPosition();
-	aVertex->vertexColor.r = this->topLeftBackVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->topLeftBackVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->topLeftBackVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->topLeftBackVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createBottomLeftFrontVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getLeftCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getBottomCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getFrontPosition();
-	aVertex->vertexColor.r = this->bottomLeftFrontVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->bottomLeftFrontVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->bottomLeftFrontVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->bottomLeftFrontVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createBottomLeftBackVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getLeftCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getBottomCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getBackPosition();
-	aVertex->vertexColor.r = this->bottomLeftBackVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->bottomLeftBackVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->bottomLeftBackVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->bottomLeftBackVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createBottomRightFrontVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getRightCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getBottomCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getFrontPosition();
-	aVertex->vertexColor.r = this->bottomRightFrontVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->bottomRightFrontVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->bottomRightFrontVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->bottomRightFrontVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createBottomRightBackVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getRightCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getBottomCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getBackPosition();
-	aVertex->vertexColor.r = this->bottomRightBackVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->bottomRightBackVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->bottomRightBackVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->bottomRightBackVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createTopRightFrontVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getRightCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getTopCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getFrontPosition();
-	aVertex->vertexColor.r = this->topRightFrontVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->topRightFrontVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->topRightFrontVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->topRightFrontVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-Vertex* VisualAsset::createTopRightBackVertex(double scaleFactor) {
-	Vertex* aVertex = new Vertex;
-	aVertex->vertexPosition.xPos = this->stageBox->getRightCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.yPos = this->stageBox->getTopCoord() * static_cast<float>(scaleFactor);
-	aVertex->vertexPosition.zPos = this->stageBox->getBackPosition();
-	aVertex->vertexColor.r = this->topRightBackVertexColor.r * this->opacityValue;
-	aVertex->vertexColor.g = this->topRightBackVertexColor.g * this->opacityValue;
-	aVertex->vertexColor.b = this->topRightBackVertexColor.b * this->opacityValue;
-	aVertex->vertexColor.a = this->topRightBackVertexColor.a * this->opacityValue;
-	aVertex->texCoordPosition.sPos = 0.0f;
-	aVertex->texCoordPosition.tPos = 0.0f;
-	return aVertex;
-}
-
-
-void VisualAsset::draw(VertexChainName vertexChainName) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->rotateMatrix(this->rotationAngle, 0.0f, 1.0f, 0.0f);
-	if (this->image != NULL) {
-		this->image->draw(this->getVertexChain(vertexChainName));
-	}
-}
-
-
-void VisualAsset::setTopLeftFrontVertexColor(VertexColor vertexColor) {
-	this->topLeftFrontVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setTopLeftBackVertexColor(VertexColor vertexColor) {
-	this->topLeftBackVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setBottomLeftFrontVertexColor(VertexColor vertexColor) {
-	this->bottomLeftFrontVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setBottomLeftBackVertexColor(VertexColor vertexColor) {
-	this->bottomLeftBackVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setBottomRightFrontVertexColor(VertexColor vertexColor) {
-	this->bottomRightFrontVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setBottomRightBackVertexColor(VertexColor vertexColor) {
-	this->bottomRightBackVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setTopRightFrontVertexColor(VertexColor vertexColor) {
-	this->topRightFrontVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setTopRightBackVertexColor(VertexColor vertexColor) {
-	this->topRightBackVertexColor = vertexColor;
-}
-
-
-void VisualAsset::setScaleFactor(double aScaleFactor) {
-	this->stageBox->setScaleFactor(aScaleFactor);
-	this->generateVertexChain(kFrontVertexChain, aScaleFactor);
-}
-
-
-void VisualAsset::setOpacityValue(VertexChainName vertexChainName, float anOpacityValue) {
-
-	this->opacityValue = anOpacityValue;
-
-	UInt16 count = 0;
-	VertexChainMapIterator mapIt = this->vertexChainMap.find(vertexChainName);
-	if (mapIt != this->vertexChainMap.end()) {
-		for (VertexChainIterator chainIt = mapIt->second->begin(); chainIt != mapIt->second->end(); chainIt++) {
-			switch (count) {
-				case 0:
-					(*chainIt)->vertexColor.r = this->topLeftFrontVertexColor.r * this->opacityValue;
-					(*chainIt)->vertexColor.g = this->topLeftFrontVertexColor.g * this->opacityValue;
-					(*chainIt)->vertexColor.b = this->topLeftFrontVertexColor.b * this->opacityValue;
-					(*chainIt)->vertexColor.a = this->topLeftFrontVertexColor.a * this->opacityValue;
-					break;
-				case 1:
-					(*chainIt)->vertexColor.r = this->bottomLeftFrontVertexColor.r * this->opacityValue;
-					(*chainIt)->vertexColor.g = this->bottomLeftFrontVertexColor.g * this->opacityValue;
-					(*chainIt)->vertexColor.b = this->bottomLeftFrontVertexColor.b * this->opacityValue;
-					(*chainIt)->vertexColor.a = this->bottomLeftFrontVertexColor.a * this->opacityValue;
-					break;
-				case 2:
-					(*chainIt)->vertexColor.r = this->bottomRightFrontVertexColor.r * this->opacityValue;
-					(*chainIt)->vertexColor.g = this->bottomRightFrontVertexColor.g * this->opacityValue;
-					(*chainIt)->vertexColor.b = this->bottomRightFrontVertexColor.b * this->opacityValue;
-					(*chainIt)->vertexColor.a = this->bottomRightFrontVertexColor.a * this->opacityValue;
-					break;
-				case 3:
-					(*chainIt)->vertexColor.r = this->topRightFrontVertexColor.r * this->opacityValue;
-					(*chainIt)->vertexColor.g = this->topRightFrontVertexColor.g * this->opacityValue;
-					(*chainIt)->vertexColor.b = this->topRightFrontVertexColor.b * this->opacityValue;
-					(*chainIt)->vertexColor.a = this->topRightFrontVertexColor.a * this->opacityValue;
-					break;
-				default:
-					writeLog("unknown count in VisualAsset::setOpacityValue");
-			}
-			count++;
-		}
-	}
-}
-
-
-float VisualAsset::getCurrOpacityValue(VertexChainName vertexChainName) {
-	return this->opacityValue;
-}
-
-
-void VisualAsset::setRotationAngleValue(float aRotationAngle) {
-	this->rotationAngle = aRotationAngle;
-}
-
-
-float VisualAsset::getCurrRotationAngleValue() {
-	return this->rotationAngle;
-}
-
-
-const VisualItemIdentifier* const VisualAsset::addAnimation(VisualAnimation& anAnimation, AnimationAttachmentMode animationAttachmentMode) {
-
-	if (anAnimation.getAnimatedProperty() != kCustomAnimatedProperty) {
-		VisualStageControl::removeVisualAnimationsWithOwnerIdentifier(*this->assetIdentifier, anAnimation.getAnimatedProperty());
-	}
-
-	switch (animationAttachmentMode) {
-		case kContinueWithCurrentValue:
-			if (anAnimation.getAnimatedProperty() == kAnimatedOpacity) {
-				anAnimation.setCurrentValue(this->opacityValue);
-			}
-			break;
-		case kIgnoreCurrentValue:
-			break;
-		case kContinueWithCurrentValueWithPossibleDelay:
-			if (anAnimation.getAnimatedProperty() == kAnimatedOpacity) {
-				anAnimation.setCurrentValue(this->opacityValue);
-				
-				double currStartValue = anAnimation.getStartValue();
-				double currEndValue = anAnimation.getEndValue();
-				double distance = 0.0;
-				UInt32 startDelayInMilliseconds = 0;
-				UInt32 durationInMilliseconds = anAnimation.getDurationInMilliseconds();
-				if (currStartValue < currEndValue) {
-					distance = currEndValue - currStartValue;
-				} else {
-					distance = currStartValue - currEndValue;
-				}
-				VisualTimeline* aTimeline = anAnimation.getTimeline();
-				if (distance != 0.0) {
-					// prevent divison by zero
-					if (aTimeline->getMovingDirection() == kForward) {
-						if (currStartValue < currEndValue) {
-							startDelayInMilliseconds = (UInt32)((double)durationInMilliseconds * ((this->opacityValue - currStartValue) / distance));
-						} else {
-							startDelayInMilliseconds = (UInt32)((double)durationInMilliseconds * ((currStartValue - this->opacityValue) / distance));
-						}
-					} else if (aTimeline->getMovingDirection() == kBackward) {
-						if (currStartValue < currEndValue) {
-							startDelayInMilliseconds = (UInt32)((double)durationInMilliseconds * ((currEndValue - this->opacityValue) / distance));
-						} else {
-							startDelayInMilliseconds = (UInt32)((double)durationInMilliseconds * ((this->opacityValue - currEndValue) / distance));
-						}
-					}
-				}
-
-				anAnimation.setStartDelayInMilliseconds(startDelayInMilliseconds);
-			}
-			break;
-		default:
-			// null
-			break;
-	}
-	
-	if (anAnimation.getAnimatedProperty() == kAnimatedOpacity) {
-		anAnimation.setAnimateCallbackFunctionPtr(VisualAsset::animateOpacity, this);
-	} else if (anAnimation.getAnimatedProperty() == kAnimatedRotation) {
-		anAnimation.setAnimateCallbackFunctionPtr(VisualAsset::animateRotation, this);
-	} else if (anAnimation.getAnimatedProperty() == kAnimatedSize) {
-		anAnimation.setAnimateCallbackFunctionPtr(VisualAsset::animateSize, this);
-	}
-	
-	return VisualStageControl::addVisualAnimation(anAnimation, *this->assetIdentifier);
-	
-}
-
-
-void VisualAsset::removeAnimations(AnimatedProperty anAnimatedProperty) {
-	VisualStageControl::removeVisualAnimationsWithOwnerIdentifier(*this->assetIdentifier, anAnimatedProperty);
-}
-
-
-OSStatus VisualAsset::animateOpacity(double currentPosition, void* userData) {
-	OSStatus status = noErr;
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kFrontVertexChain, (float)currentPosition);
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kBackVertexChain, (float)currentPosition);
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kTopVertexChain, (float)currentPosition);
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kBottomVertexChain, (float)currentPosition);
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kLeftVertexChain, (float)currentPosition);
-	reinterpret_cast<VisualAsset*>(userData)->setOpacityValue(kRightVertexChain, (float)currentPosition);
-	return status;
-}
-
-
-OSStatus VisualAsset::animateRotation(double currentPosition, void* userData) {
-	OSStatus status = noErr;
-	float rotationVal = (float)currentPosition * 360.0f;
-	reinterpret_cast<VisualAsset*>(userData)->setRotationAngleValue(rotationVal);
-	return status;
-}
-
-
-OSStatus VisualAsset::animateSize(double currentPosition, void* userData) {
-	OSStatus status = noErr;
-	reinterpret_cast<VisualAsset*>(userData)->setScaleFactor(currentPosition);
-	return status;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualAsset.h b/src/projectM-iTunes-VizKit/source/VisualAsset.h
deleted file mode 100644
index ccb398c..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualAsset.h
+++ /dev/null
@@ -1,435 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAsset.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualAsset_h
-#define VisualAsset_h
-
-#include "VisualStagePosition.h"
-#include "VisualAnimation.h"
-
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualImage; // Forward declaration (to avoid include of header file).
-	class VisualStageBox; // Forward declaration (to avoid include of header file).
-	class VisualItemIdentifier; // Forward declaration (to avoid include of header file).
-
-	/** The type of vertex chain. */
-	typedef enum {
-		kFrontVertexChain = 0, /**< Chain of front vertices. */
-		kBackVertexChain, /**< Chain of back vertices. */
-		kTopVertexChain, /**< Chain of top vertices. */
-		kBottomVertexChain, /**< Chain of bottom vertices. */
-		kLeftVertexChain, /**< Chain of left vertices. */
-		kRightVertexChain /**< Chain of right vertices. */
-	} VertexChainName;
-
-	/** The way an animation is added to an asset. */
-	typedef enum {
-		kContinueWithCurrentValue = 0, /**< The animation continues seemlessly by setting its current value to the current value of the animated attribute of the asset. */
-		kIgnoreCurrentValue, /**< The current value of the animated attribute is ignored.\ The animation starts from its beginning.\ May cause jumps in flow of animation. */
-		kContinueWithCurrentValueWithPossibleDelay /**< The animation continues seemlessly by setting its current value to the current value of the animated attribute of the asset.\ The start of the animation is delayed so that the end of the animation matches the duration time. */
-	} AnimationAttachmentMode;
-
-	/**
-	 * Dimensionless asset that includes texture and boxing information.
-	 */
-	class VisualAsset {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualAsset();
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualAsset();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualAsset.
-		 */
-		VisualAsset(const VisualAsset& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualAsset.
-		 */
-		VisualAsset& operator=(const VisualAsset& other);
-
-		/**
-		 * Returns the stage box of the asset.
-		 * The stage box is the surrounding box.
-		 * @return The stage box of the asset.
-		 */		
-		VisualStageBox* getBox(void);
-
-		/**
-		 * Returns the position of the asset's stage box.
-		 * @return The position of the asset's stage box.
-		 */
-		VisualStagePosition getPosition(void);
-
-		/**
-		 * Sets the position of the asset's stage box.
-		 * @param aPosition The requested position of the asset's stage box.
-		 */
-		void setPosition(const VisualStagePosition& aPosition);
-
-		/**
-		 * Sets the image of the asset.
-		 * @param anImage Reference to the image.
-		 * @remarks The image is copied.
-		 */
-		void setImage(VisualImage& anImage);
-
-		/**
-		 * Generates a vertex chain for the asset.\ The vertices are set according to texture and position data.
-		 * @param vertexChainName The identifier/name (enum) of the vertex chain.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the generated vertex chain.
-		 */
-		VertexChain* generateVertexChain(VertexChainName vertexChainName, double scaleFactor = 1.0);
-
-		/**
-		 * Returns the current vertex chain of the asset.
-		 * @param vertexChainName The identifier/name (enum) of the vertex chain.
-		 * @return The vertex chain identified with that name.
-		 */		
-		VertexChain* getVertexChain(VertexChainName vertexChainName);
-
-		/**
-		 * Answers the question whether a vertex chain with the identifier exists.
-		 * @param vertexChainName The identifier/name (enum) of the vertex chain.
-		 * @return True if vertex chain with the identifier exists.
-		 */		
-		bool hasVertexChain(VertexChainName vertexChainName);
-		
-		/**
-		 * Clears the vertex chain.
-		 * @param vertexChainName The identifier of the VertexChain to remove.
-		 */
-		void removeVertexChain(VertexChainName vertexChainName);
-
-		/**
-		 * Draws the asset.
-		 * @param vertexChainName The identifier of the VertexChain to draw.
-		 */
-		void draw(VertexChainName vertexChainName);
-		
-		/**
-		 * Sets the color of the top-left vertex at the front of the asset.
-		 * @param vertexColor The color of the top-left vertex at the front of the asset.
-		 */
-		void setTopLeftFrontVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the top-left vertex at the back of the asset.
-		 * @param vertexColor The color of the top-left vertex at the back of the asset.
-		 */
-		void setTopLeftBackVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the bottom-left vertex at the front of the asset.
-		 * @param vertexColor The color of the bottom-left vertex at the front of the asset.
-		 */
-		void setBottomLeftFrontVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the bottom-left vertex at the back of the asset.
-		 * @param vertexColor The color of the bottom-left vertex at the back of the asset.
-		 */
-		void setBottomLeftBackVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the bottom-right vertex at the front of the asset.
-		 * @param vertexColor The color of the bottom-right vertex at the front of the asset.
-		 */
-		void setBottomRightFrontVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the bottom-right vertex at the back of the asset.
-		 * @param vertexColor The color of the bottom-right vertex at the back of the asset.
-		 */
-		void setBottomRightBackVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the top-right vertex at the front of the asset.
-		 * @param vertexColor The color of the top-right vertex at the front of the asset.
-		 */
-		void setTopRightFrontVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the color of the top-right vertex at the back of the asset.
-		 * @param vertexColor The color of the top-right vertex at the back of the asset.
-		 */
-		void setTopRightBackVertexColor(VertexColor vertexColor);
-
-		/**
-		 * Sets the scale value.
-		 * @param aScaleFactor The factor by which the size of the asset should be multiplied when rendered.
-		 * @remarks 1.0 means no magnification/minification.
-		 */
-		void setScaleFactor(double aScaleFactor);
-
-		/**
-		 * Sets the opacity value (alpha value).
-		 * @param vertexChainName The identifier of the VertexChain.
-		 * @param anOpacityValue The opacity value (alpha value).
-		 */
-		void setOpacityValue(VertexChainName vertexChainName, float anOpacityValue);
-
-		/**
-		 * Returns the current opacity value (alpha value).
-		 * @param vertexChainName The identifier of the VertexChain.
-		 * @return The current opacity value (alpha value).
-		 */	
-		float getCurrOpacityValue(VertexChainName vertexChainName);
-
-		/**
-		 * Sets the rotation angle value.
-		 * @param aRotationAngle The requested rotation angle.
-		 */
-		void setRotationAngleValue(float aRotationAngle);
-
-		/**
-		 * Returns the current rotation angle value.
-		 * @return The current rotation angle value.
-		 */	
-		float getCurrRotationAngleValue(void);
-		
-		/**
-		 * Adds an animation to the asset.
-		 * @param anAnimation Reference to an animation.
-		 * @param animationAttachmentMode The way the animation is added to the asset.
-		 * @remarks Since the VisualAnimation is copied later by the VisualStageControl, the returned VisualItemIdentifier provides access to the animation afterwards for the caller.
-		 * The VisualAsset will continue the animation of the property at the currently set position.
-		 */
-		const VisualItemIdentifier* const addAnimation(VisualAnimation& anAnimation, AnimationAttachmentMode animationAttachmentMode = kContinueWithCurrentValue);
-
-		/**
-		 * Clears all currently running animations.
-		 * @param anAnimatedProperty Optional parameter that specifies the animated property of the animations.
-		 */
-		void removeAnimations(AnimatedProperty anAnimatedProperty = kUndefinedAnimatedProperty);
-
-		/**
-		 * Callback function that is called during animation.
-		 * @param currentPosition The current position of the animation.
-		 * @param userData Pointer to VisualAsset instance.
-		 */
-		static OSStatus animateOpacity(double currentPosition, void* userData);
-
-		/**
-		 * Callback function that is called during animation.
-		 * @param currentPosition The current position of the animation.
-		 * @param userData Pointer to VisualAsset instance.
-		 */
-		static OSStatus animateRotation(double currentPosition, void* userData);
-
-		/**
-		 * Callback function that is called during animation.
-		 * @param currentPosition The current position of the animation.
-		 * @param userData Pointer to VisualAsset instance.
-		 */
-		static OSStatus animateSize(double currentPosition, void* userData);
- 
-	private:
-
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualAsset.
-		 */
-		void copy(const VisualAsset& other);
-
-		/**
-		 * The image of the asset.
-		 */
-		VisualImage* image;
-
-		/**
-		 * The stage box of the asset.
-		 */
-		VisualStageBox* stageBox;
-		
-		/**
-		 * The identifier of the asset.
-		 */
-		VisualItemIdentifier* assetIdentifier;
-
-		/**
-		 * Returns the top-left vertex at the front of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the top-left vertex at the front of the asset.
-		 */
-		Vertex* createTopLeftFrontVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the top-left vertex at the back of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the top-left vertex at the back of the asset.
-		 */
-		Vertex* createTopLeftBackVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the bottom-left vertex at the front of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the bottom-left vertex at the front of the asset.
-		 */
-		Vertex* createBottomLeftFrontVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the bottom-left vertex at the back of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the bottom-left vertex at the back of the asset.
-		 */
-		Vertex* createBottomLeftBackVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the bottom-right vertex at the front of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the bottom-right vertex at the front of the asset.
-		 */
-		Vertex* createBottomRightFrontVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the bottom-right vertex at the back of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the bottom-right vertex at the back of the asset.
-		 */
-		Vertex* createBottomRightBackVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the top-right vertex at the front of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the top-right vertex at the front of the asset.
-		 */
-		Vertex* createTopRightFrontVertex(double scaleFactor = 1.0);
-
-		/**
-		 * Returns the top-right vertex at the back of the asset.
-		 * @param scaleFactor The scale factor of the vertex chain.
-		 * @return A pointer to the top-right vertex at the back of the asset.
-		 */
-		Vertex* createTopRightBackVertex(double scaleFactor = 1.0);
-
-		/**
-		 * The chain of the front vertices.
-		 */
-		VertexChain* vertexChainFront;
-
-		/**
-		 * The chain of the top vertices.
-		 */
-		VertexChain* vertexChainTop;
-
-		/**
-		 * The chain of the left vertices.
-		 */
-		VertexChain* vertexChainLeft;
-		
-		/**
-		 * The chain of the right vertices.
-		 */
-		VertexChain* vertexChainRight;
-
-		/**
-		 * The chain of the back vertices.
-		 */
-		VertexChain* vertexChainBack;
-
-		/**
-		 * The chain of the bottom vertices.
-		 */
-		VertexChain* vertexChainBottom;
-		
-		/** A VertexChainMap is a map of vertex chains. */
-		typedef std::map<VertexChainName, VertexChain*> VertexChainMap;
-		
-		/** The map of the vertex chains. */
-		VertexChainMap vertexChainMap;
-		
-		/** A VertexChainMapIterator is the iterator of a VertexChainMap. */
-		typedef VertexChainMap::iterator VertexChainMapIterator;
-
-		/** The color of the vertex at the top-left-front position. */
-		VertexColor topLeftFrontVertexColor;
-
-		/** The color of the vertex at the top-left-back position. */
-		VertexColor topLeftBackVertexColor;
-
-		/** The color of the vertex at the bottom-left-front position. */
-		VertexColor bottomLeftFrontVertexColor;
-
-		/** The color of the vertex at the bottom-left-back position. */
-		VertexColor bottomLeftBackVertexColor;
-
-		/** The color of the vertex at the bottom-right-front position. */
-		VertexColor bottomRightFrontVertexColor;
-
-		/** The color of the vertex at the bottom-right-back position. */
-		VertexColor bottomRightBackVertexColor;
-
-		/** The color of the vertex at the top-right-front position. */
-		VertexColor topRightFrontVertexColor;
-
-		/** The color of the vertex at the top-right-back position. */
-		VertexColor topRightBackVertexColor;
-		
-		/** The current rotation angle. */
-		float rotationAngle;
-
-		/** The current opacity value (alpha value). */
-		float opacityValue;
-
-	};
-
-}
-
-
-#endif /* VisualAsset_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp b/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp
deleted file mode 100644
index ef2c6a4..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConfiguration.cpp
+++ /dev/null
@@ -1,327 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConfiguration.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualConfiguration.h"
-#include "VisualDataStore.h"
-
-
-
-using namespace VizKit;
-
-
-const char* const VisualConfiguration::kVisualPluginName = "VizKit";
-const char* const VisualConfiguration::kVisualPluginShowName = "VizKit";
-#if TARGET_OS_MAC
-const char* const VisualConfiguration::kVisualPluginDomainIdentifier = "de.imagomat.vizkit";
-#endif
-#if TARGET_OS_WIN
-const char* const VisualConfiguration::kVisualPluginDomainIdentifier = "Imagomat";
-#endif
-
-
-
-void VisualConfiguration::convertPreferenceKeyToString(const PreferenceKey aKey, char* outString) {
-	char* messageString;
-	switch (aKey) {
-		case kFadeInTimeOnPlayInMS:
-			messageString = "kFadeInTimeOnPlayInMS";
-			break;
-		case kFadeInTimeOnResumeInMS:
-			messageString = "kFadeInTimeOnResumeInMS";
-			break;
-		case kFadeOutTimeBeforeEndOfTrackInMS:
-			messageString = "kFadeOutTimeBeforeEndOfTrackInMS";
-			break;
-		case kFadeOutTimeOnStopInMS:
-			messageString = "kFadeOutTimeOnStopInMS";
-			break;
-		case kFadeOutTimeOnPauseInMS:
-			messageString = "kFadeOutTimeOnPauseInMS";
-			break;
-		case kTrackInfoFont:
-			messageString = "kTrackInfoFont";
-			break;
-		case kTrackInfoFontSize:
-			messageString = "kTrackInfoFontSize";
-			break;
-		case kTrackInfoFontColorRedFloat:
-			messageString = "kTrackInfoFontColorRedFloat";
-			break;
-		case kTrackInfoFontColorBlueFloat:
-			messageString = "kTrackInfoFontColorBlueFloat";
-			break;
-		case kTrackInfoFontColorAlphaFloat:
-			messageString = "kTrackInfoFontColorAlphaFloat";
-			break;
-		case kTrackInfoTextureColorTopLeftRed:
-			messageString = "kTrackInfoTextureColorTopLeftRed";
-			break;
-		case kTrackInfoTextureColorTopLeftGreen:
-			messageString = "kTrackInfoTextureColorTopLeftGreen";
-			break;
-		case kTrackInfoTextureColorTopLeftBlue:
-			messageString = "kTrackInfoTextureColorTopLeftBlue";
-			break;
-		case kTrackInfoTextureColorTopLeftAlpha:
-			messageString = "kTrackInfoTextureColorTopLeftAlpha";
-			break;
-		case kTrackInfoTextureColorBottomLeftRed:
-			messageString = "kTrackInfoTextureColorBottomLeftRed";
-			break;
-		case kTrackInfoTextureColorBottomLeftGreen:
-			messageString = "kTrackInfoTextureColorBottomLeftGreen";
-			break;
-		case kTrackInfoTextureColorBottomLeftBlue:
-			messageString = "kTrackInfoTextureColorBottomLeftBlue";
-			break;
-		case kTrackInfoTextureColorBottomLeftAlpha:
-			messageString = "kTrackInfoTextureColorBottomLeftAlpha";
-			break;
-		case kTrackInfoTextureColorBottomRightRed:
-			messageString = "kTrackInfoTextureColorBottomRightRed";
-			break;
-		case kTrackInfoTextureColorBottomRightGreen:
-			messageString = "kTrackInfoTextureColorBottomRightGreen";
-			break;
-		case kTrackInfoTextureColorBottomRightBlue:
-			messageString = "kTrackInfoTextureColorBottomRightBlue";
-			break;
-		case kTrackInfoTextureColorBottomRightAlpha:
-			messageString = "kTrackInfoTextureColorBottomRightAlpha";
-			break;
-		case kTrackInfoTextureColorTopRightRed:
-			messageString = "kTrackInfoTextureColorTopRightRed";
-			break;
-		case kTrackInfoTextureColorTopRightGreen:
-			messageString = "kTrackInfoTextureColorTopRightGreen";
-			break;
-		case kTrackInfoTextureColorTopRightBlue:
-			messageString = "kTrackInfoTextureColorTopRightBlue";
-			break;
-		case kTrackInfoTextureColorTopRightAlpha:
-			messageString = "kTrackInfoTextureColorTopRightAlpha";
-			break;
-		case kTrackLyricsFont:
-			messageString = "kTrackLyricsFont";
-			break;
-		case kTrackLyricsFontSize:
-			messageString = "kTrackLyricsFontSize";
-			break;
-		case kTrackLyricsFontColorRedFloat:
-			messageString = "kTrackLyricsFontColorRedFloat";
-			break;
-		case kTrackLyricsFontColorGreenFloat:
-			messageString = "kTrackLyricsFontColorGreenFloat";
-			break;
-		case kTrackLyricsFontColorBlueFloat:
-			messageString = "kTrackLyricsFontColorBlueFloat";
-			break;
-		case kTrackLyricsFontColorAlphaFloat:
-			messageString = "kTrackLyricsFontColorAlphaFloat";
-			break;
-		case kTrackLyricsTextureColorTopLeftRed:
-			messageString = "kTrackLyricsTextureColorTopLeftRed";
-			break;
-		case kTrackLyricsTextureColorTopLeftGreen:
-			messageString = "kTrackLyricsTextureColorTopLeftGreen";
-			break;
-		case kTrackLyricsTextureColorTopLeftBlue:
-			messageString = "kTrackLyricsTextureColorTopLeftBlue";
-			break;
-		case kTrackLyricsTextureColorTopLeftAlpha:
-			messageString = "kTrackLyricsTextureColorTopLeftAlpha";
-			break;
-		case kTrackLyricsTextureColorBottomLeftRed:
-			messageString = "kTrackLyricsTextureColorBottomLeftRed";
-			break;
-		case kTrackLyricsTextureColorBottomLeftGreen:
-			messageString = "kTrackLyricsTextureColorBottomLeftGreen";
-			break;
-		case kTrackLyricsTextureColorBottomLeftBlue:
-			messageString = "kTrackLyricsTextureColorBottomLeftBlue";
-			break;
-		case kTrackLyricsTextureColorBottomLeftAlpha:
-			messageString = "kTrackLyricsTextureColorBottomLeftAlpha";
-			break;
-		case kTrackLyricsTextureColorBottomRightRed:
-			messageString = "kTrackLyricsTextureColorBottomRightRed";
-			break;
-		case kTrackLyricsTextureColorBottomRightGreen:
-			messageString = "kTrackLyricsTextureColorBottomRightGreen";
-			break;
-		case kTrackLyricsTextureColorBottomRightBlue:
-			messageString = "kTrackLyricsTextureColorBottomRightBlue";
-			break;
-		case kTrackLyricsTextureColorBottomRightAlpha:
-			messageString = "kTrackLyricsTextureColorBottomRightAlpha";
-			break;
-		case kTrackLyricsTextureColorTopRightRed:
-			messageString = "kTrackLyricsTextureColorTopRightRed";
-			break;
-		case kTrackLyricsTextureColorTopRightGreen:
-			messageString = "kTrackLyricsTextureColorTopRightGreen";
-			break;
-		case kTrackLyricsTextureColorTopRightBlue:
-			messageString = "kTrackLyricsTextureColorTopRightBlue";
-			break;
-		case kTrackLyricsTextureColorTopRightAlpha:
-			messageString = "kTrackLyricsTextureColorTopRightAlpha";
-			break;
-		case kTrackLyricsAlignment:
-			messageString = "kTrackLyricsAlignment";
-			break;
-		case kFullscreenWidth:
-			messageString = "kFullscreenWidth";
-			break;
-		case kFullscreenHeight:
-			messageString = "kFullscreenHeight";
-			break;
-		case kFullscreenBitsPerPixel:
-			messageString = "kFullscreenBitsPerPixel";
-			break;
-		case kFullscreenRefreshRate:
-			messageString = "kFullscreenRefreshRate";
-			break;
-		case kPreferencePane:
-			messageString = "kPreferencePane";
-			break;
-		case kBackgroundColorRed:
-			messageString = "kBackgroundColorRed";
-			break;
-		case kBackgroundColorGreen:
-			messageString = "kBackgroundColorGreen";
-			break;
-		case kBackgroundColorBlue:
-			messageString = "kBackgroundColorBlue";
-			break;
-		case kBackgroundColorAlpha:
-			messageString = "kBackgroundColorAlpha";
-			break;
-		case kTrackInfoTextureHeight:
-			messageString = "kTrackInfoTextureHeight";
-			break;
-		case kLyricsTextureIsAvailable:
-			messageString = "kLyricsTextureIsAvailable";
-			break;
-		default:
-			messageString = "unknownNotificationKey";
-	}
-	strcpy(outString, messageString);
-}
-
-
-void VisualConfiguration::setDefaultPreferences() {
-	
-	// Factory Preferences
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFadeInTimeOnPlayInMS, 5000);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFadeInTimeOnResumeInMS, 2000);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFadeOutTimeBeforeEndOfTrackInMS, 5000);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnStopInMS, 5000);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFadeOutTimeOnPauseInMS, 2000);
-
-	VisualDataStore::setDefaultPreferenceValueChar(VisualConfiguration::kTrackInfoFont, "Devroye");
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kTrackInfoFontSize, 48);
-
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorRedFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorGreenFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorBlueFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoFontColorAlphaFloat, 1.0f);
-
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftGreen, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftBlue, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopLeftAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftGreen, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftBlue, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomLeftAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightBlue, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorBottomRightAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightBlue, 0.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackInfoTextureColorTopRightAlpha, 1.0f);
-
-#if TARGET_OS_MAC
-	VisualDataStore::setDefaultPreferenceValueChar(VisualConfiguration::kTrackLyricsFont, "Lucida Grande");
-#endif
-#if TARGET_OS_WIN
-	VisualDataStore::setDefaultPreferenceValueChar(VisualConfiguration::kTrackLyricsFont, "Tahoma");
-#endif
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kTrackLyricsFontSize, 18);
-
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorRedFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorGreenFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorBlueFloat, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsFontColorAlphaFloat, 1.0f);
-
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftBlue, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopLeftAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftBlue, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomLeftAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightBlue, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorBottomRightAlpha, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightRed, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightGreen, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightBlue, 1.0f);
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kTrackLyricsTextureColorTopRightAlpha, 1.0f);
-	
-	VisualDataStore::setDefaultPreferenceValueChar(VisualConfiguration::kTrackLyricsAlignment, "center");
-
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kBackgroundColorRed, (12.0f / 255.0f));
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kBackgroundColorGreen, (9.0f / 255.0f));
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kBackgroundColorBlue, (172.0f / 255.0f));
-	VisualDataStore::setDefaultPreferenceValueFloat(VisualConfiguration::kBackgroundColorAlpha, 1.0f);
-
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFullscreenWidth, 0);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFullscreenHeight, 0);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFullscreenBitsPerPixel, 32);
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kFullscreenRefreshRate, 0);
-#if TARGET_OS_MAC
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kPreferencePane, 1);
-#endif
-#if TARGET_OS_WIN
-	VisualDataStore::setDefaultPreferenceValueInt(VisualConfiguration::kPreferencePane, 0);
-#endif
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualConfiguration.h b/src/projectM-iTunes-VizKit/source/VisualConfiguration.h
deleted file mode 100644
index ddb6e31..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConfiguration.h
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConfiguration.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualConfiguration_h
-#define VisualConfiguration_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include "win/resource.h"
-#endif
-
-
-namespace VizKit {
-	
-	/** Common definitions and constants that must be customized for each individual plug-in. */
-	class VisualConfiguration {
-	
-	public:
-
-		/** The name of the plug-in, the identifier. */
-		static const char* const kVisualPluginName;
-
-		/** The name of the visualizer as shown in visual menu of iTunes. */
-		static const char* const kVisualPluginShowName;
-
-		/**
-		 * The identifier of the visualizer plug-in (as used on Mac OS X for preferences identification and as CFBundleIdentifier).
-		 * Preferences can be stored with the Options Dialog. 
-		 * The values are stored in preferences text file. 
-		 * The preferences file is located at application data (Windows);
-		 * and on Mac OS X the preferences are stored in Preferences folder inside Library folder in user's home directory.
-		 * The domain identifier specifies the name of the plist file on Mac OS X;
-		 * and on Windows the domain identifier specifies the name of the folder inside the application data directory.
-		 */
-		static const char* const kVisualPluginDomainIdentifier;
-
-		typedef enum {
-			kFadeInTimeOnPlayInMS = 0,
-			kFadeInTimeOnResumeInMS,
-			kFadeOutTimeBeforeEndOfTrackInMS,
-			kFadeOutTimeOnStopInMS,
-			kFadeOutTimeOnPauseInMS,
-			
-			kTrackInfoFont,
-			kTrackInfoFontSize,
-			kTrackInfoFontColorRedFloat,
-			kTrackInfoFontColorGreenFloat,
-			kTrackInfoFontColorBlueFloat,
-			kTrackInfoFontColorAlphaFloat,
-			
-			kTrackInfoTextureColorTopLeftRed,
-			kTrackInfoTextureColorTopLeftGreen,
-			kTrackInfoTextureColorTopLeftBlue,
-			kTrackInfoTextureColorTopLeftAlpha,
-			kTrackInfoTextureColorBottomLeftRed,
-			kTrackInfoTextureColorBottomLeftGreen,
-			kTrackInfoTextureColorBottomLeftBlue,
-			kTrackInfoTextureColorBottomLeftAlpha,
-			kTrackInfoTextureColorBottomRightRed,
-			kTrackInfoTextureColorBottomRightGreen,
-			kTrackInfoTextureColorBottomRightBlue,
-			kTrackInfoTextureColorBottomRightAlpha,
-			kTrackInfoTextureColorTopRightRed,
-			kTrackInfoTextureColorTopRightGreen,
-			kTrackInfoTextureColorTopRightBlue,
-			kTrackInfoTextureColorTopRightAlpha,
-
-			kTrackLyricsFont,
-			kTrackLyricsFontSize,
-			kTrackLyricsFontColorRedFloat,
-			kTrackLyricsFontColorGreenFloat,
-			kTrackLyricsFontColorBlueFloat,
-			kTrackLyricsFontColorAlphaFloat,
-
-			kTrackLyricsTextureColorTopLeftRed,
-			kTrackLyricsTextureColorTopLeftGreen,
-			kTrackLyricsTextureColorTopLeftBlue,
-			kTrackLyricsTextureColorTopLeftAlpha,
-			kTrackLyricsTextureColorBottomLeftRed,
-			kTrackLyricsTextureColorBottomLeftGreen,
-			kTrackLyricsTextureColorBottomLeftBlue,
-			kTrackLyricsTextureColorBottomLeftAlpha,
-			kTrackLyricsTextureColorBottomRightRed,
-			kTrackLyricsTextureColorBottomRightGreen,
-			kTrackLyricsTextureColorBottomRightBlue,
-			kTrackLyricsTextureColorBottomRightAlpha,
-			kTrackLyricsTextureColorTopRightRed,
-			kTrackLyricsTextureColorTopRightGreen,
-			kTrackLyricsTextureColorTopRightBlue,
-			kTrackLyricsTextureColorTopRightAlpha,
-
-			kTrackLyricsAlignment,
-
-			kFullscreenWidth,
-			kFullscreenHeight,
-			kFullscreenBitsPerPixel,
-			kFullscreenRefreshRate,
-
-			kPreferencePane,
-
-			kBackgroundColorRed,
-			kBackgroundColorGreen,
-			kBackgroundColorBlue,
-			kBackgroundColorAlpha,
-
-			kTrackInfoTextureHeight,
-			kLyricsTextureIsAvailable
-		} PreferenceKey;
-
-/* version info set by call to SetNumVersion */
-#define	gVisualPluginMajorVersion 1
-#define	gVisualPluginMinorVersion 9
-#if TARGET_OS_MAC
-#define gVisualPluginReleaseStage finalStage
-#endif
-#if TARGET_OS_WIN
-#define	gVisualPluginReleaseStage 0x80
-#endif
-#define	gVisualPluginNonFinalRelease 0
-
-
-// Resources
-#if TARGET_OS_WIN
-#define	SPOTPNG IDR_PNG_SPOT
-#endif
-#if TARGET_OS_MAC
-#define	SPOTPNG "spot.png"
-#endif
-
-		/**
-		 * Called upon init of the plug-in in VisualMain.
-		 * The default (factory) preferences are set.
-		 */
-		static void setDefaultPreferences(void);
-
-		/**
-		 * Static helper function that converts a PreferenceKey to the string.\ Possibly useful for debugging or tracing purposes.
-		 * @param aKey The key of a preference.
-		 * @param outString The character string value of the PreferenceKey enum value.
-		 */
-		static void convertPreferenceKeyToString(const PreferenceKey aKey, char* outString);
-
-	private:
-
-		/** The constructor.\ VisualConfiguration is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualConfiguration();
-
-		/** The destructor.\ VisualConfiguration is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualConfiguration();
-		
-	};
-
-}
-
-#endif /* VisualConfiguration_h */
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp
deleted file mode 100644
index a52c336..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConfigurationDialog.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualConfigurationDialog.h"
-
-#if TARGET_OS_WIN
-#include "VisualPropertySheet.h"
-#endif
-
-#if TARGET_OS_MAC
-#include "OptionsDialog.h"
-#endif
-
-
-using namespace VizKit;
-
-
-void VisualConfigurationDialog::show() {
-#if TARGET_OS_WIN
-	CVisualPropertySheet* thePropertySheet = CVisualPropertySheet::getInstance();
-	if (thePropertySheet != NULL) {
-		thePropertySheet->BringWindowToTop();
-	}
-#endif
-#if TARGET_OS_MAC
-	OptionsDialog* theOptionsDialog = OptionsDialog::getOptionsDialog();
-	if (theOptionsDialog != NULL) {
-		theOptionsDialog->show();
-	}
-#endif
-}
-
-
-void VisualConfigurationDialog::dispose() {
-#if TARGET_OS_WIN
-	CVisualPropertySheet::dispose();
-#endif
-#if TARGET_OS_MAC
-	OptionsDialog::dispose();
-#endif
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h b/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h
deleted file mode 100644
index e58a07c..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConfigurationDialog.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConfigurationDialog.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualConfigurationDialog_h
-#define VisualConfigurationDialog_h
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-	
-	/** Wrapper around OS specific UI implementations of the configuration dialog. */
-	class VisualConfigurationDialog {
-	
-	public:
-
-		/**
-		 * Displays the OS specific UI of the configuration dialog.
-		 * @remarks In case the dialog was visible already, it is brought to front.
-		 */
-		static void show(void);
-
-		/** Disposes the OS specific UI resources of the configuration dialog. */
-		static void dispose(void);
-
-	private:
-
-		/** The constructor.\ VisualConfiguration is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualConfigurationDialog();
-
-		/** The destructor.\ VisualConfiguration is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualConfigurationDialog();
-		
-	};
-
-}
-
-#endif /* VisualConfigurationDialog_h */
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp
deleted file mode 100644
index d5d9dc6..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConvolutionFilter.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualConvolutionFilter.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-VisualConvolutionFilter::VisualConvolutionFilter(const Effect effect, const UInt8 colCount, const UInt8 rowCount) {
-
-	numberOfKernelValueColumns = colCount;
-	numberOfKernelValueRows = rowCount;
-	
-	postConvolutionScaleFactor = 1.0f;
-	postConvolutionBias = 0.0f;
-	
-	/* If the sum of all elements of the filter is 1, the resulting image has the same brightness as the original. */
-	
-	switch (effect) {
-	
-		case kNone:
-			break;
-
-		case kBlur:
-			for (UInt8 i = 0; i < (colCount * rowCount); i++) {
-				kernelValues.push_back(1.0f);
-			}
-			
-			postConvolutionScaleFactor = 1.0f / (float)(colCount * rowCount);
-			break;
-
-		case kMotionBlur:
-			numberOfKernelValueColumns = 5;
-			numberOfKernelValueRows = 5;
-			for (UInt8 i = 0; i < numberOfKernelValueColumns; i++) {
-				for (UInt8 k = 0; k < numberOfKernelValueRows; k++) {
-					if (k == i) {
-						kernelValues.push_back(1.0f);
-					} else {
-						kernelValues.push_back(0.0f);
-					}
-				}
-			}			
-			postConvolutionScaleFactor = 1.0f / (float)numberOfKernelValueColumns;
-			break;
-
-		case kGaussianBlur:
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(2.0f);
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(2.0f);
-			kernelValues.push_back(4.0f);
-			kernelValues.push_back(2.0f);
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(2.0f);
-			kernelValues.push_back(1.0f);
-			postConvolutionScaleFactor = 1.0f / (float)16.0;
-			break;
-
-		case kLaplacian:
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			kernelValues.push_back(-0.125f);
-			break;
-
-		case kEdgeDetect:
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(8.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			break;
-			
-		case kSharpen:
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(9.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			break;
-
-		case kEmboss:
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(0.0f);
-			kernelValues.push_back(-1.0f);
-			kernelValues.push_back(0.0f);
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(0.0f);
-			kernelValues.push_back(1.0f);
-			kernelValues.push_back(1.0f);
-			postConvolutionBias = 128.0f;
-			break;
-
-		default:
-			char errStr[256];
-			sprintf(errStr, "unknown switch case (%d) in file: %s (line: %d) [%s])", effect, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errStr);
-	}
-}
-
-
-VisualConvolutionFilter::~VisualConvolutionFilter() {
-	kernelValues.clear();
-}
-
-
-VisualConvolutionFilter::VisualConvolutionFilter(const VisualConvolutionFilter& other) {
-	copy(other);
-}
-
-
-VisualConvolutionFilter& VisualConvolutionFilter::operator=(const VisualConvolutionFilter& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualConvolutionFilter::copy(const VisualConvolutionFilter& other) {
-	this->kernelValues = other.kernelValues;
-	this->numberOfKernelValueColumns = other.numberOfKernelValueColumns;
-	this->numberOfKernelValueRows = other.numberOfKernelValueRows;
-}
-
-
-UInt8 VisualConvolutionFilter::getNumberOfKernelValueRows() const {
-	return this->numberOfKernelValueRows;
-}
-
-
-UInt8 VisualConvolutionFilter::getNumberOfKernelValueColumns() const {
-	return this->numberOfKernelValueColumns;
-}
-
-
-float VisualConvolutionFilter::getPostConvolutionScaleFactor() const {
-	return this->postConvolutionScaleFactor;
-}
-
-
-float VisualConvolutionFilter::getPostConvolutionBias() const {
-	return this->postConvolutionBias;
-}
-
-
-void VisualConvolutionFilter::copyKernelValues(float* buffer) const {
-	UInt16 i = 0;
-	UInt16 k = 0;
-	UInt16 currIdx = 0;
-	for (i = 0; i < this->numberOfKernelValueColumns; i++) {
-		for (k = 0; k < this->numberOfKernelValueRows; k++) {
-			buffer[currIdx] = this->kernelValues[currIdx];
-			currIdx++;
-		}
-	}
-}
-
-
-void VisualConvolutionFilter::applyToPixelData(const unsigned char* const pixelData, UInt32 imageWidth, UInt32 imageHeight, int pixelFormat, int pixelDataType, unsigned char** filteredPixelData) const {
-
-	bool debug = false;
-	UInt32 imageX;
-	UInt32 imageY;
-	SInt8 kernelX;
-	SInt8 kernelY;
-	
-	char errStr[256];
-	
-	float sum;
-	UInt32 kernelPos;
-	float grayscale;
-
-	UInt8 numberOfBytesPerChannel = 0;
-	UInt8 numberOfChannels = 0; // channel == color resp. alpha channel
-	UInt8 numberOfBytesPerPixel = 0;
-	//UInt32 numberOfBytesPerRow = 0;
-	if (pixelFormat == kGL_RGBA || pixelFormat == kGL_BGRA) {
-		numberOfChannels = 4;
-	} else if (pixelFormat == kGL_LUMINANCE_WITH_ALPHA) {
-		numberOfChannels = 2;
-	}
-
-	if ((pixelDataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (pixelDataType == kGL_UNSIGNED_INT_8_8_8_8) || (pixelDataType == kGL_UNSIGNED_BYTE)) {
-		numberOfBytesPerChannel = 1; // // 1 byte (== 8 bits) per color/channel
-	} else {
-		sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", pixelDataType, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return;
-	}
-	
-	numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels;
-
-/*
-	if ((pixelDataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (pixelDataType == kGL_UNSIGNED_INT_8_8_8_8) || (pixelDataType == kGL_UNSIGNED_BYTE)) {
-		*filteredPixelData = (unsigned char*)calloc(imageWidth * imageHeight, numberOfBytesPerPixel);
-	} else if (pixelDataType == kGL_FLOAT) {
-		*filteredPixelData = (float*)calloc(imageWidth * imageHeight * numberOfChannels, numberOfBytesPerPixel);
-	}
-*/
-	if (pixelFormat == kGL_RGBA || pixelFormat == kGL_BGRA) {
-		//*filteredPixelData = (unsigned char*)calloc(imageWidth * imageHeight, numberOfBytesPerPixel);
-	}
-
-	if (debug == true) {
-		memcpy(*filteredPixelData, pixelData, imageWidth * imageHeight * numberOfChannels);
-		return;
-	}
-
-	for (imageY = (this->numberOfKernelValueRows / 2) * numberOfChannels; imageY < (imageHeight * numberOfChannels) - ((this->numberOfKernelValueRows / 2) * numberOfChannels); imageY++) {
-		for (imageX = (this->numberOfKernelValueColumns / 2) * numberOfChannels; imageX < (imageWidth * numberOfChannels) - ((this->numberOfKernelValueColumns / 2) * numberOfChannels); imageX++) {
-			
-			sum = 0.0f;
-			kernelPos = 0;
-			grayscale = 0.0f;
-			for (kernelY = -1 * (this->numberOfKernelValueRows / 2); kernelY <= (this->numberOfKernelValueRows / 2); kernelY++) {
-				for (kernelX = -1 * (this->numberOfKernelValueColumns / 2); kernelX <= (this->numberOfKernelValueColumns / 2); kernelX++) {
-					SInt8 jColorShift = kernelY * numberOfChannels;
-					SInt8 kColorShift = kernelX * numberOfChannels;					
-					
-					if ((pixelDataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (pixelDataType == kGL_UNSIGNED_INT_8_8_8_8) || (pixelDataType == kGL_UNSIGNED_BYTE)) {
-						grayscale = ((unsigned char*)pixelData)[(imageY + jColorShift) * imageWidth + (imageX + kColorShift)];
-					} else if (pixelDataType == kGL_FLOAT) {
-						grayscale = ((float*)pixelData)[(imageY + jColorShift) * imageWidth + (imageX + kColorShift)];
-					}
-
-					sum = sum + (this->kernelValues[kernelPos] * grayscale);
-					kernelPos++;
-				}
-			}
-
-			if ((pixelDataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (pixelDataType == kGL_UNSIGNED_INT_8_8_8_8) || (pixelDataType == kGL_UNSIGNED_BYTE)) {
-				((unsigned char*)*filteredPixelData)[(imageY * imageWidth) + imageX] = (unsigned char)(sum * this->postConvolutionScaleFactor + this->postConvolutionBias);
-			} else if (pixelDataType == kGL_FLOAT) {
-				((float*)*filteredPixelData)[(imageY * imageWidth) + imageX] = sum * this->postConvolutionScaleFactor + this->postConvolutionBias;
-			}
-
-		}
-	}
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h b/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h
deleted file mode 100644
index 33e78fb..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualConvolutionFilter.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualConvolutionFilter.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualConvolutionFilter_h
-#define VisualConvolutionFilter_h
-
-#include "VisualGraphicTypes.h"
-
-#include <vector>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Convolution filter for bitmap image effects.\ A.k.a.\ kernel filter or matrix.\ A.k.a.\ correlation, impulse response, or point spread function.
-	 */
-	class VisualConvolutionFilter {
-	
-	public:
-
-		/** Constants for various convolution filters. */
-		typedef enum {
-			kNone = 0,
-			kBlur, /** < Blur filter (lowpass filter).\ Eliminates changes that are only a pixel wide.\ Rapid change from pixel to pixel is blocked while slow change is passed. */
-			kMotionBlur, /** < Motion blur filter. */
-			kGaussianBlur, /** < Gaussian blur filter. */
-			kLaplacian, /** < Laplacian filter. */
-			kEdgeDetect, /** < Filter for edge detection. */
-			kSharpen, /** < Sharpens image (highpass filter).\ Rapid change from pixel to pixel is passed while slow change is blocked. */
-			kEmboss /** < Emboss filter that gives the image a relief look (useful when bumpmapping). */
-		} Effect;
-
-		/**
-		 * The constructor.
-		 * @param effect The name of the convolution filter.
-		 * @param colCount The number of columns of the kernel matrix.\ Default = 3.
-		 * @param rowCount The number of rows of the kernel matrix.\ Default = 3.
-		 * @remarks The size of the filter has to be uneven, so that it has a center (e.g.\ 3x3, 5x5, or 7x7).
-		 */
-		VisualConvolutionFilter(const Effect effect, const UInt8 colCount = 3, const UInt8 rowCount = 3);
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualConvolutionFilter();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualConvolutionFilter.
-		 */
-		VisualConvolutionFilter(const VisualConvolutionFilter& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualConvolutionFilter.
-		 */
-		VisualConvolutionFilter& operator=(const VisualConvolutionFilter& other);
-
-		/**
-		 * Returns the number of kernel value columns.
-		 * @return The number of kernel value columns.
-		 */
-		UInt8 getNumberOfKernelValueColumns(void) const;
-
-		/**
-		 * Returns the number of kernel value rows.
-		 * @return The number of kernel value rows.
-		 */
-		UInt8 getNumberOfKernelValueRows(void) const;
-
-		/**
-		 * Returns the post convolution scale factor.
-		 * @return The post convolution scale factor.
-		 * @remarks The scale factor is the factor with which each pixel is multiplied.
-		 */
-		float getPostConvolutionScaleFactor(void) const;
-
-		/**
-		 * Returns the post convolution bias.
-		 * @return The post convolution bias.
-		 * @remarks The bias is a coefficient that is added to each pixel value.
-		 */
-		float getPostConvolutionBias(void) const;
-
-		/**
-		 * Copies the kernel values of the convolution filter into the provided buffer.
-		 * @param[out] buffer The buffer into which the kernel values are written.
-		 * @remarks The caller has to make sure that the provided buffer is big enough to store columns * rows * sizeof(float) values.
-		 */
-		void copyKernelValues(float* buffer) const;
-
-		/**
-		 * Applies the convolution filter to the pixel data.
-		 * @param pixelData The pixel data on which the convolution filter is about to be applied.\ The pixel data must be provided in RGBA format with 8 bits per color channel.
-		 * @param imageWidth The width of the image.
-		 * @param imageHeight The height of the image.
-		 * @param pixelFormat The format of the pixel data (rgba, luminance, etc.).
-		 * @param pixelDataType The data type of the pixel data (8-bit byte, float, etc.).
-		 * @param[out] filteredPixelData The filtered pixel data.\ The filtered pixel data is of the same size as the input pixel data.\ The caller has to free the allocated memory of filteredPixelData.
-		 */
-		void applyToPixelData(const unsigned char* const pixelData, UInt32 imageWidth, UInt32 imageHeight, int pixelFormat, int pixelDataType, unsigned char** filteredPixelData) const;
-
-	private:
-
-		/** Kernel values of convolution filters are stored in vectors of floats. */
-		typedef std::vector<float> KernelValues;
-
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualConvolutionFilter.
-		 */
-		void copy(const VisualConvolutionFilter& other);
-		
-		/** Kernel values. */
-		KernelValues kernelValues;
-
-		/** The number of columns of the kernel values. */
-		UInt8 numberOfKernelValueColumns;
-
-		/** The number of rows of the kernel values. */
-		UInt8 numberOfKernelValueRows;
-		
-		/** The scaling of values applied after the convolution. */
-		float postConvolutionScaleFactor;
-		
-		/** The bias of values applied after the convolution. */
-		float postConvolutionBias;
-
-	};
-
-}
-
-#endif /* VisualConvolutionFilter_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp b/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp
deleted file mode 100644
index 9f3b223..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualDataStore.cpp
+++ /dev/null
@@ -1,1698 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualDataStore.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualDataStore.h"
-#include "VisualHostCommunication.h"
-#include "VisualErrorHandling.h"
-#include "VisualAudioLab.h"
-#include "VisualConfiguration.h"
-#include "VisualThreading.h"
-#include "VisualNotification.h"
-#include "VisualAudioMetaData.h"
-#include "VisualString.h"
-#include "VisualFile.h"
-#include "VisualPlayerState.h"
-#include "iTunesAPI.h" // ITTrackInfo, ITStreamInfo
-
-#if TARGET_OS_MAC
-#include "VisualAppleScript.h"
-#endif
-
-#if TARGET_OS_WIN
-#include <shlobj.h> // SHGetFolderPath
-#include <io.h> // _access
-#endif
-
-
-#if TARGET_OS_WIN
-#include "iTunesCOMInterface.h"
-#endif
-
-
-using namespace VizKit;
-
-
-const size_t VisualDataStore::audioMetaDataHistoryCount = 2;
-
-bool VisualDataStore::lyricsCreationThreadIsRunning = false;
-
-VisualDataStore* VisualDataStore::theVisualDataStore = NULL;  // singleton
-
-
-
-VisualDataStore::VisualDataStore() {
-    for (UInt8 i = 0; i < audioMetaDataHistoryCount; i++) {
-		audioMetaDataHistory.push_back(new VisualAudioMetaData);
-    }
-	currAudioMetaDataHistoryIdx = audioMetaDataHistoryCount - 1;
-	appVersionMajorNum = 0;
-	appVersionMinorNum = 0;
-	audioMetaDataHasBeenSentToEnsembleBool = false;
-}
-
-
-VisualDataStore::~VisualDataStore() {
-
-	for (PreferenceVectorIterator it = preferenceVector.begin(); it != preferenceVector.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	preferenceVector.clear();
-
-	processInfoMap.clear();
-	
-	for (AudioMetaDataVectorIterator it = audioMetaDataHistory.begin(); it != audioMetaDataHistory.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	audioMetaDataHistory.clear();
-}
-
-
-VisualDataStore* VisualDataStore::getInstance() {
-    if (theVisualDataStore == NULL) {
-		theVisualDataStore = new VisualDataStore;
-    }
-	return theVisualDataStore;
-}
-
-
-void VisualDataStore::dispose() {
-	if (theVisualDataStore != NULL) {
-		delete theVisualDataStore;
-		theVisualDataStore = NULL;
-	}
-}
-
-
-void VisualDataStore::setDefaultPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			(*it)->defaultValueInt = aValue;
-			(*it)->valueInt = 0;
-			strcpy((*it)->defaultValueChar, "\0");
-			strcpy((*it)->valueChar, "\0");
-			(*it)->status = kDefaultPref;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kIntPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->defaultValueInt = aValue;
-		aPreference->valueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kDefaultPref;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setDefaultPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			(*it)->defaultValueFloat = aValue;
-			(*it)->valueFloat = 0.0f;
-			(*it)->defaultValueInt = 0;
-			(*it)->valueInt = 0;
-			strcpy((*it)->defaultValueChar, "\0");
-			strcpy((*it)->valueChar, "\0");
-			(*it)->status = kDefaultPref;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kFloatPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->defaultValueFloat = aValue;
-		aPreference->valueFloat = 0.0f;
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kDefaultPref;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setDefaultPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			strcpy((*it)->defaultValueChar, aValue);
-			strcpy((*it)->valueChar, "\0");
-			(*it)->defaultValueInt = 0;
-			(*it)->valueInt = 0;
-			(*it)->status = kDefaultPref;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kCharPrefType;
-		aPreference->key = anIdentifier;
-		strcpy(aPreference->defaultValueChar, aValue);
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		aPreference->status = kDefaultPref;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			(*it)->valueInt = aValue;
-			(*it)->status = kPrefSetButNotStored;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kIntPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->valueInt = aValue;
-		aPreference->defaultValueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kPrefSetButNotStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			(*it)->valueFloat = aValue;
-			(*it)->status = kPrefSetButNotStored;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kFloatPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->valueFloat = aValue;
-		aPreference->defaultValueFloat = 0.0f;
-		aPreference->valueInt = 0;
-		aPreference->defaultValueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kPrefSetButNotStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	
-	char errStr[256] = "\0";
-	if (strlen(aValue) > 255) {
-		strncat(errStr, aValue, 255);
-		writeLog("pref char value too long");
-		return;
-	}
-	
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			strcpy((*it)->valueChar, aValue);
-			(*it)->status = kPrefSetButNotStored;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kCharPrefType;
-		aPreference->key = anIdentifier;
-		strcpy(aPreference->valueChar, aValue);
-		strcpy(aPreference->defaultValueChar, "\0");
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		aPreference->status = kPrefSetButNotStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			(*it)->valueInt = aValue;
-			(*it)->status = kDoNotStore;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kIntPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->valueInt = aValue;
-		aPreference->defaultValueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kDoNotStore;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			(*it)->valueFloat = aValue;
-			(*it)->status = kDoNotStore;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kFloatPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->valueFloat = aValue;
-		aPreference->defaultValueFloat = 0.0f;
-		aPreference->valueInt = 0;
-		aPreference->defaultValueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kDoNotStore;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-void VisualDataStore::setValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue) {
-	bool found = false;
-	Preference* aPreference;
-	PreferenceVectorIterator it;
-	
-	char errStr[256] = "\0";
-	if (strlen(aValue) > 255) {
-		strncat(errStr, aValue, 255);
-		writeLog("pref char value too long");
-		return;
-	}
-	
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			strcpy((*it)->valueChar, aValue);
-			(*it)->status = kDoNotStore;
-			found = true;
-		}
-	}
-	if (found == false) {
-		aPreference = new Preference;
-		aPreference->dataType = kCharPrefType;
-		aPreference->key = anIdentifier;
-		strcpy(aPreference->valueChar, aValue);
-		strcpy(aPreference->defaultValueChar, "\0");
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		aPreference->status = kDoNotStore;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-}
-
-
-int VisualDataStore::getValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* wasSet) {
-
-	int prefVal = 0;
-	
-	if (wasSet != NULL) {
-		*wasSet = false;
-	}
-	
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (PreferenceVectorIterator it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			if ((*it)->status == kDoNotStore) {
-				if (wasSet != NULL) {
-					*wasSet = true;
-				}
-				return (*it)->valueInt;
-			}
-		}
-	}
-	
-	return prefVal;
-}
-
-
-float VisualDataStore::getValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* wasSet) {
-	
-	float prefVal = 0;
-	
-	if (wasSet != NULL) {
-		*wasSet = false;
-	}
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (PreferenceVectorIterator it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			if ((*it)->status == kDoNotStore) {
-				if (wasSet != NULL) {
-					*wasSet = true;
-				}
-				return (*it)->valueFloat;
-			}
-		}
-	}
-
-	return prefVal;
-}
-
-
-void VisualDataStore::getValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal, bool* wasSet) {
-	
-	strcpy(outPrefVal, "\0");
-	
-	if (wasSet != NULL) {
-		*wasSet = false;
-	}
-	
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (PreferenceVectorIterator it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			if ((*it)->status == kDoNotStore) {
-				if (wasSet != NULL) {
-					*wasSet = true;
-				}
-				strncat(outPrefVal, (*it)->valueChar, strlen((*it)->valueChar));
-				return;
-			}
-		}
-	}
-	
-}
-
-
-int VisualDataStore::getDefaultPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue) {
-	char errLog[128];
-	*isDefaultValue = false;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			*isDefaultValue = true;
-			return (*it)->defaultValueInt;
-		}
-	}
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	sprintf(errLog, "Default Preference Int not found: %s", preferenceKeyStr);
-	writeLog(errLog);
-	return 0;
-}
-
-
-float VisualDataStore::getDefaultPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue) {
-	char errLog[128];
-	*isDefaultValue = false;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			*isDefaultValue = true;
-			return (*it)->defaultValueFloat;
-		}
-	}
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	sprintf(errLog, "Default Preference Float not found: %s", preferenceKeyStr);
-	writeLog(errLog);
-	return 0.0f;
-}
-
-
-bool VisualDataStore::getDefaultPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal) {
-	char errLog[128];
-	bool isDefaultValue = false;
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	strcpy(outPrefVal, "\0");
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			strcpy(outPrefVal, (*it)->defaultValueChar);
-			isDefaultValue = true;
-			return isDefaultValue;
-		}
-	}
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	sprintf(errLog, "Default Preference Char not found: %s", preferenceKeyStr);
-	writeLog(errLog);
-	return isDefaultValue;
-}
-
-
-int VisualDataStore::getPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue) {
-
-	bool isADefaultVal = false;
-	bool wasStored = false;
-	bool wasSetButNotStored = false;
-	int prefVal = 0;
-	PreferenceVectorIterator it;
-	
-	isADefaultVal = false;
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	// check the preference vector to see if the value is already marked as set and stored
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			if ((*it)->status == kPrefSetAndStored) {
-				return (*it)->valueInt;
-			}
-		}
-	}
-	
-	// the preference was not set and stored
-	// we have to check the underlying preference system for persistently stored values
-#if TARGET_OS_MAC
-	CFStringRef identifierStr;
-	CFNumberRef intRef = NULL;
-	
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	identifierStr = CFStringCreateWithCString(kCFAllocatorDefault, preferenceKeyStr, kCFStringEncodingISOLatin1);
-
-	CFStringRef appID = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingISOLatin1);
-	intRef = (CFNumberRef)CFPreferencesCopyValue(identifierStr, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-	CFRelease(appID);
-	if (intRef) {
-		if (!CFNumberGetValue(intRef, kCFNumberIntType, &prefVal)) {
-			wasStored = false;
-		} else {
-			wasStored = true;
-		}
-		CFRelease(intRef);
-	} else {
-		wasStored = false;
-	}
-	
-	CFRelease(identifierStr);
-
-#endif
-
-
-#if TARGET_OS_WIN
-
-	TCHAR szAppData[1024];
-	HRESULT hr;
-	char prefPath[512];
-	//hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);
-	BOOL createFolderIfNotAlreadyThere = true;
-	hr = SHGetSpecialFolderPath(NULL, szAppData, CSIDL_APPDATA, createFolderIfNotAlreadyThere);
-	sprintf(prefPath, "\\%s\\%s", VisualConfiguration::kVisualPluginDomainIdentifier, VisualConfiguration::kVisualPluginName);
-	strcat(szAppData, prefPath);
-	//PathAppend(szAppData);
-	int createFolderResult;
-	//createFolderResult = SHCreateDirectoryEx(NULL, szAppData, NULL);
-	createFolderResult = theVisualDataStore->make_sure_path_exists(szAppData, false);
-
-	strcat(szAppData, "\\Preferences.txt");
-	
-	HANDLE hFile;
-
-	char anIdentifierStr[128];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, anIdentifierStr);
-
-	if (theVisualDataStore->fileExists(szAppData)) {
-	 
-		hFile = CreateFile(szAppData,     			// file to create
-						   GENERIC_READ,          // open for reading
-						   FILE_SHARE_READ,       // do share (to avoid error 32)
-						   NULL,                   // default security
-						   OPEN_ALWAYS,            // open the file if it exists, else create new one
-						   FILE_ATTRIBUTE_NORMAL, // normal file (FILE_FLAG_OVERLAPPED,   // asynchronous I/O)
-						   NULL);                  // no attr. template
-
-		if (hFile == INVALID_HANDLE_VALUE) { 
-			char str [1024];
-			sprintf(str, "Could not open file %s for reading pref int val (error %d)\n", szAppData, GetLastError());
-			writeLog(str);
-			return 0;
-		}
-
-		BOOL success;
-		char str[4096] = "\0";
-		DWORD numberOfBytesRead;
-
-		success = ReadFile(hFile, &str, 4096, &numberOfBytesRead, NULL);
-
-		char* token = NULL;
-		char seps[] = "\r\n";
-		char keyStr[128];
-		char equalityChar[2];
-		char valueStr[128];
-		token = strtok(str, seps);
-		while (token != NULL) {
-
-			if (strlen(token) > 4) {
-				sscanf(token, "%s %s %s", keyStr, equalityChar, valueStr);
-
-				if (strcmp(keyStr, anIdentifierStr) == 0) {
-					prefVal = atoi(valueStr);
-					wasStored = true;
-				}
-			}
-
-			token = strtok(NULL, seps);
-		}
-
-
-		/*
-		BOOL ReadFile(
-		  HANDLE hFile,
-		  LPVOID lpBuffer,
-		  DWORD nNumberOfBytesToRead,
-		  LPDWORD lpNumberOfBytesRead,
-		  LPOVERLAPPED lpOverlapped
-		);
-		*/
-
-		CloseHandle(hFile);
-	}
-
-#endif
-	
-	if (wasStored == false) {
-		prefVal = theVisualDataStore->getDefaultPreferenceValueInt(anIdentifier, &isADefaultVal);
-	}
-
-	// check to see if we have to add the preference to the vector
-	wasSetButNotStored = false;
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kIntPrefType) {
-			if ((*it)->status == kPrefSetButNotStored) {
-				wasSetButNotStored = true;
-			}
-		}
-	}
-	if ((isADefaultVal == false) && (wasStored == true) && (wasSetButNotStored == false)) {
-		Preference* aPreference;
-		aPreference = new Preference;
-		aPreference->dataType = kIntPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = prefVal;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kPrefSetAndStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-	return prefVal;
-}
-
-
-float VisualDataStore::getPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue) {
-	
-	bool isADefaultVal = false;
-	bool wasStored = false;
-	bool wasSetButNotStored = false;
-	float prefVal = 0;
-	PreferenceVectorIterator it;
-	
-	isADefaultVal = false;
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	// check the preference vector to see if the value is already marked as set and stored
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			if ((*it)->status == kPrefSetAndStored) {
-				return (*it)->valueFloat;
-			}
-		}
-	}
-
-	// the preference was not set and stored
-	// we have to check the underlying preference system for persistently stored values
-#if TARGET_OS_MAC
-	CFStringRef identifierStr;
-	CFNumberRef floatRef = NULL;
-
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	identifierStr = CFStringCreateWithCString(kCFAllocatorDefault, preferenceKeyStr, kCFStringEncodingISOLatin1);
-
-	CFStringRef appID = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingISOLatin1);
-	floatRef = (CFNumberRef)CFPreferencesCopyValue(identifierStr, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-	CFRelease(appID);
-	if (floatRef) {
-		if (!CFNumberGetValue(floatRef, kCFNumberFloatType, &prefVal)) {
-			wasStored = false;
-		} else {
-			wasStored = true;
-		}
-		CFRelease(floatRef);
-	} else {
-		wasStored = false;
-	}
-	
-	CFRelease(identifierStr);
-
-#endif
-
-
-#if TARGET_OS_WIN
-
-	TCHAR szAppData[1024];
-	HRESULT hr;
-	char prefPath[512];
-	//hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);
-	BOOL createFolderIfNotAlreadyThere = true;
-	hr = SHGetSpecialFolderPath(NULL, szAppData, CSIDL_APPDATA, createFolderIfNotAlreadyThere);
-	sprintf(prefPath, "\\%s\\%s", VisualConfiguration::kVisualPluginDomainIdentifier, VisualConfiguration::kVisualPluginName);
-	strcat(szAppData, prefPath);
-	//PathAppend(szAppData);
-	int createFolderResult;
-	//createFolderResult = SHCreateDirectoryEx(NULL, szAppData, NULL);
-	createFolderResult = theVisualDataStore->make_sure_path_exists(szAppData, false);
-
-	strcat(szAppData, "\\Preferences.txt");
-	
-	HANDLE hFile;
-
-	char anIdentifierStr[128];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, anIdentifierStr);
-
-	if (theVisualDataStore->fileExists(szAppData)) {
-	 
-		hFile = CreateFile(szAppData,     			// file to create
-						   GENERIC_READ,          // open for reading
-						   FILE_SHARE_READ,       // do share (to avoid error 32)
-						   NULL,                   // default security
-						   OPEN_ALWAYS,            // open the file if it exists, else create new one
-						   FILE_ATTRIBUTE_NORMAL, // normal file (FILE_FLAG_OVERLAPPED,   // asynchronous I/O)
-						   NULL);                  // no attr. template
-
-		if (hFile == INVALID_HANDLE_VALUE) { 
-			char str [1024];
-			sprintf(str, "Could not open file %s for reading pref float val (error %d)\n", szAppData, GetLastError());
-			writeLog(str);
-			return 0;
-		}
-
-		BOOL success;
-		char str[4096] = "\0";
-		DWORD numberOfBytesRead;
-
-		success = ReadFile(hFile, &str, 4096, &numberOfBytesRead, NULL);
-
-		char* token = NULL;
-		char seps[] = "\r\n";
-		char keyStr[128];
-		char equalityChar[2];
-		char valueStr[128];
-		token = strtok(str, seps);
-		while (token != NULL) {
-
-			if (strlen(token) > 4) {
-				sscanf(token, "%s %s %s", keyStr, equalityChar, valueStr);
-				
-				if (strcmp(keyStr, anIdentifierStr) == 0) {
-
-					prefVal = (float)atof(valueStr);
-					wasStored = true;
-				}
-			}
-
-			token = strtok(NULL, seps);
-		}
-
-
-		/*
-		BOOL ReadFile(
-		  HANDLE hFile,
-		  LPVOID lpBuffer,
-		  DWORD nNumberOfBytesToRead,
-		  LPDWORD lpNumberOfBytesRead,
-		  LPOVERLAPPED lpOverlapped
-		);
-		*/
-
-		CloseHandle(hFile);
-	}
-
-#endif
-	
-	if (wasStored == false) {
-		prefVal = theVisualDataStore->getDefaultPreferenceValueFloat(anIdentifier, &isADefaultVal);
-	}
-
-	// check to see if we have to add the preference to the vector
-	wasSetButNotStored = false;
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kFloatPrefType) {
-			wasSetButNotStored = true;
-		}
-	}
-	if ((isADefaultVal == false) && (wasStored == true) && (wasSetButNotStored == false)) {
-		Preference* aPreference;
-		aPreference = new Preference;
-		aPreference->dataType = kFloatPrefType;
-		aPreference->key = anIdentifier;
-		aPreference->defaultValueFloat = 0.0f;
-		aPreference->valueFloat = prefVal;
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, "\0");
-		aPreference->status = kPrefSetAndStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-	return prefVal;
-}
-
-
-void VisualDataStore::getPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal, bool* isDefaultValue) {
-	
-	bool isADefaultVal = false;
-	bool wasStored = false;
-	bool wasSetButNotStored = false;
-	PreferenceVectorIterator it;
-	
-	isADefaultVal = false;
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-	
-	strcpy(outPrefVal, "\0");
-	
-	theVisualDataStore = VisualDataStore::getInstance();
-	// check the preference vector to see if the value is already marked as set and stored
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			if ((*it)->status == kPrefSetAndStored) {
-				strncat(outPrefVal, (*it)->valueChar, strlen((*it)->valueChar));
-				return;
-			}
-		}
-	}
-
-	// the preference was not set and stored
-	// we have to check the underlying preference system for persistently stored values
-#if TARGET_OS_MAC
-	CFStringRef identifierStr;
-	CFStringRef stringRef = NULL;
-
-	char preferenceKeyStr[64];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, preferenceKeyStr);
-	identifierStr = CFStringCreateWithCString(kCFAllocatorDefault, preferenceKeyStr, kCFStringEncodingISOLatin1);
-
-	CFStringRef appID = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingISOLatin1);
-	stringRef = (CFStringRef)CFPreferencesCopyValue(identifierStr, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-	CFRelease(appID);
-	if (stringRef) {
-		bool success = CFStringGetCString(stringRef, outPrefVal, 256, kCFStringEncodingISOLatin1);
-		// CFStringGetCString must know if the provided c-buffer is large enough for the cString including the null-terminator byte.
-		// So a bufferSize of 256 means a char array of size of 256 (255 characters and 1 terminating null-byte).
-		if (success) {
-			wasStored = true;
-		} else {
-			wasStored = false;
-		}
-		CFRelease(stringRef);
-	} else {
-		wasStored = false;
-	}
-	
-	CFRelease(identifierStr);
-
-#endif
-
-
-#if TARGET_OS_WIN
-
-	TCHAR szAppData[1024];
-	HRESULT hr;
-	char prefPath[512];
-	//hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);
-	BOOL createFolderIfNotAlreadyThere = true;
-	hr = SHGetSpecialFolderPath(NULL, szAppData, CSIDL_APPDATA, createFolderIfNotAlreadyThere);
-	sprintf(prefPath, "\\%s\\%s", VisualConfiguration::kVisualPluginDomainIdentifier, VisualConfiguration::kVisualPluginName);
-	strcat(szAppData, prefPath);
-	//PathAppend(szAppData);
-	int createFolderResult;
-	//createFolderResult = SHCreateDirectoryEx(NULL, szAppData, NULL);
-	createFolderResult = theVisualDataStore->make_sure_path_exists(szAppData, false);
-
-	strcat(szAppData, "\\Preferences.txt");
-
-	HANDLE hFile;
-
-	char anIdentifierStr[128];
-	VisualConfiguration::convertPreferenceKeyToString(anIdentifier, anIdentifierStr);
-
-	if (theVisualDataStore->fileExists(szAppData)) {
-	 
-		hFile = CreateFile(szAppData,     			// file to create
-						   GENERIC_READ,          // open for reading
-						   FILE_SHARE_READ,       // do share
-						   NULL,                   // default security
-						   OPEN_ALWAYS,            // open the file if it exists, else create new one
-						   FILE_ATTRIBUTE_NORMAL, // | // normal file
-						   //FILE_FLAG_OVERLAPPED,   // asynchronous I/O
-						   //NULL,   // no asynchronous I/O
-						   NULL);                  // no attr. template
-
-		if (hFile == INVALID_HANDLE_VALUE) { 
-			char str [1024];
-			sprintf(str, "Could not open file %s for reading pref char val (error %d)\n", szAppData, GetLastError());
-			writeLog(str);
-			return;
-		}
-
-
-		BOOL success;
-		char str[4096] = "\0";
-		DWORD numberOfBytesRead = 0;
-
-
-		success = ReadFile(hFile, &str, 4096, &numberOfBytesRead, NULL);
-
-		char* token = NULL;
-		char seps[] = "\r\n";
-		char keyStr[128];
-		token = strtok(str, seps);
-		//int count = 0;
-		char* valueStr;
-		char lineStr[255];
-		while (token != NULL) {
-			strcpy(lineStr, token);
-			valueStr = strchr(lineStr, '=');
-			if (valueStr) {
-				valueStr++;
-				valueStr++;
-				sscanf(token, "%s", keyStr);
-				if (strcmp(keyStr, anIdentifierStr) == 0) {
-					// move past leading quotation mark
-					valueStr++;
-					// we copy the whole string
-					// without trailing quotation mark
-					strncat(outPrefVal, valueStr, strlen(valueStr) - 1);
-					wasStored = true;
-				}
-			}
-			token = strtok(NULL, seps);
-		}
-
-
-		/*
-		BOOL ReadFile(
-		  HANDLE hFile,
-		  LPVOID lpBuffer,
-		  DWORD nNumberOfBytesToRead,
-		  LPDWORD lpNumberOfBytesRead,
-		  LPOVERLAPPED lpOverlapped
-		);
-		*/
-
-		CloseHandle(hFile);
-	}
-
-#endif
-
-	if (wasStored == false) {
-		isADefaultVal = theVisualDataStore->getDefaultPreferenceValueChar(anIdentifier, outPrefVal);
-	}
-	
-	// check to see if we have to add the preference to the vector
-	wasSetButNotStored = false;
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->key == anIdentifier && (*it)->dataType == kCharPrefType) {
-			wasSetButNotStored = true;
-		}
-	}
-	if ((isADefaultVal == false) && (wasStored == true) && (wasSetButNotStored == false)) {
-		Preference* aPreference;
-		aPreference = new Preference;
-		aPreference->dataType = kCharPrefType;
-		aPreference->key = anIdentifier;
-		strcpy(aPreference->defaultValueChar, "\0");
-		strcpy(aPreference->valueChar, outPrefVal);
-		aPreference->defaultValueInt = 0;
-		aPreference->valueInt = 0;
-		aPreference->status = kPrefSetAndStored;
-		theVisualDataStore->preferenceVector.push_back(aPreference);
-	}
-
-	if (isDefaultValue) {
-		*isDefaultValue = isADefaultVal;
-	}
-	
-}
-
-
-void VisualDataStore::storePreferences() {
-	
-#if TARGET_OS_WIN
-	BOOL success;
-#endif
-
-	PreferenceVectorIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	
-#if TARGET_OS_MAC
-	CFStringRef appID = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingISOLatin1);
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		CFStringRef identifierStr;
-		CFNumberRef intRef = NULL;
-		CFNumberRef floatRef = NULL;
-		CFStringRef prefString;
-
-		if ((*it)->status == kPrefSetButNotStored) {
-			char preferenceKeyStr[64];
-			VisualConfiguration::convertPreferenceKeyToString((*it)->key, preferenceKeyStr);
-			identifierStr = CFStringCreateWithCString(kCFAllocatorDefault, preferenceKeyStr, kCFStringEncodingISOLatin1);
-			if ((*it)->dataType == kCharPrefType) {
-				prefString = CFStringCreateWithCString(kCFAllocatorDefault, (*it)->valueChar, kCFStringEncodingISOLatin1);
-				CFPreferencesSetValue(identifierStr, prefString, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-				CFRelease(prefString);
-			} else if ((*it)->dataType == kIntPrefType) {
-				intRef = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &(*it)->valueInt);
-				CFPreferencesSetValue(identifierStr, intRef, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-				CFRelease(intRef);
-			} else if ((*it)->dataType == kFloatPrefType) {
-				floatRef = CFNumberCreate(kCFAllocatorDefault, kCFNumberFloatType, &(*it)->valueFloat);
-				CFPreferencesSetValue(identifierStr, floatRef, appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-				CFRelease(floatRef);
-			}
-			CFRelease(identifierStr);
-		}
-	}
-
-	CFPreferencesSynchronize(appID, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
-	CFRelease(appID);
-#endif
-
-
-#if TARGET_OS_WIN
-
-	// now we add the additional preferences possibly already stored in file system
-
-	TCHAR szAppData[1024];
-	HRESULT hr;
-	char prefPath[512];
-	//hr = SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, szAppData);
-	BOOL createFolderIfNotAlreadyThere = true;
-	hr = SHGetSpecialFolderPath(NULL, szAppData, CSIDL_APPDATA, createFolderIfNotAlreadyThere);
-	sprintf(prefPath, "\\%s\\%s", VisualConfiguration::kVisualPluginDomainIdentifier, VisualConfiguration::kVisualPluginName);
-	strcat(szAppData, prefPath);
-	//PathAppend(szAppData);
-	int createFolderResult;
-	//createFolderResult = SHCreateDirectoryEx(NULL, szAppData, NULL);
-	createFolderResult = theVisualDataStore->make_sure_path_exists(szAppData, false);
-
-	strcat(szAppData, "\\Preferences.txt");
-
-	HANDLE hFile;
-	
-	if (theVisualDataStore->fileExists(szAppData)) {
-	 
-		hFile = CreateFile(szAppData,     			// file to create
-						   GENERIC_READ,  // open for reading
-						   FILE_SHARE_READ,    // do share
-						   NULL,                   // default security
-						   OPEN_ALWAYS,            // open the file if it exists, else create new file
-						   FILE_ATTRIBUTE_NORMAL, // normal file
-						   //FILE_FLAG_OVERLAPPED,   // asynchronous I/O
-						   //NULL,   // no asynchronous I/O
-						   NULL);                  // no attr. template
-
-		if (hFile == INVALID_HANDLE_VALUE) { 
-			char str [1024];
-			sprintf(str, "Could not open file %s for reading prefs before storing (error %d)\n", szAppData, GetLastError());
-			writeLog(str);
-			return;
-		}
-
-		char str[4096] = "\0";
-		DWORD numberOfBytesRead = 0;
-
-		success = ReadFile(hFile, &str, 4096, &numberOfBytesRead, NULL);
-
-		char* token = NULL;
-		char seps[] = "\r\n";
-		//char seps[] = "\r\n";
-		char keyStr[128];
-		char* valueStr;
-		char valueNormalizedStr[32];
-		int intVal;
-		float floatVal;
-		char lineStr[255];
-		bool found = false;
-		bool isCharVal = false; // char value or int value
-		UInt16 aPrefDataType = 0;
-
-		if (numberOfBytesRead > 0) {
-
-			token = strtok(str, seps);
-
-			while (token != NULL) {
-
-				strcpy(lineStr, token);
-				valueStr = strchr(lineStr, '=');
-
-				if (valueStr) {
-					valueStr++;
-					valueStr++;
-
-					sscanf(token, "%s", keyStr);
-
-					if (strchr(valueStr, 34) != NULL) {
-						aPrefDataType = kCharPrefType;
-					} else if (strchr(valueStr, 46) != NULL) {
-						aPrefDataType = kFloatPrefType;
-					} else {
-						aPrefDataType = kIntPrefType;
-					}
-					
-					found = false;
-					for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-						char currKeyStr[128];
-						VisualConfiguration::convertPreferenceKeyToString((*it)->key, currKeyStr);
-						if (strcmp(currKeyStr, keyStr) == 0 && (*it)->dataType == aPrefDataType) {
-							if ((*it)->status == kDefaultPref) {
-								found = true;
-								// the value was persistently stored
-								// while preferenceVector up to now only knew the default value
-								if (aPrefDataType == kCharPrefType) {
-									// we have to re-save the already stored value
-									valueStr++;
-									strcpy(valueNormalizedStr, "\0");
-									strncat(valueNormalizedStr, valueStr, strlen(valueStr) - 1);
-									theVisualDataStore->setPreferenceValueChar((*it)->key, valueNormalizedStr);
-								} else if (aPrefDataType == kFloatPrefType) {
-									// we have to re-save the already stored value
-									floatVal = (float)atof(valueStr);
-									theVisualDataStore->setPreferenceValueFloat((*it)->key, floatVal);
-								} else if (aPrefDataType == kIntPrefType) {
-									// we have to re-save the already stored value
-									intVal = atoi(valueStr);
-									theVisualDataStore->setPreferenceValueInt((*it)->key, intVal);
-								}
-							} else {
-								// new value has been set but not stored
-								found = true;
-							}
-						}
-					}
-
-					/*
-					if (found == false) {
-						// the value was persistently stored
-						// and not known to preferenceVector
-						// because no default pref was set
-						if (aPrefDataType == kCharPrefType) {
-							valueStr++;
-							strcpy(valueNormalizedStr, "\0");
-							strncat(valueNormalizedStr, valueStr, strlen(valueStr) - 1);
-							theVisualDataStore->setPreferenceValueChar(keyStr, valueNormalizedStr);
-						} else if (aPrefDataType == kFloatPrefType) {
-							floatVal = (float)atof(valueStr);
-							theVisualDataStore->setPreferenceValueFloat(keyStr, floatVal);
-						} else if (aPrefDataType == kIntPrefType) {
-							intVal = atoi(valueStr);
-							theVisualDataStore->setPreferenceValueInt(keyStr, intVal);
-						}
-
-					}
-					*/
-					
-				}
-				token = strtok(NULL, seps);
-			}
-
-		}
-
-		CloseHandle(hFile);
-		
-	}
-
-	DWORD numberOfBytesWritten;
-
-	hFile = CreateFile(szAppData,     			// file to create
-						GENERIC_WRITE,  // open for writing
-						FILE_SHARE_READ, // do share
-						NULL,                   // default security
-						CREATE_ALWAYS,            // create new file
-						FILE_ATTRIBUTE_NORMAL, // normal file
-						NULL);                  // no attr. template
-
-	if (hFile == INVALID_HANDLE_VALUE) { 
-		char str [1024];
-		sprintf(str, "Could not open file %s for writing prefs (error %d)\n", szAppData, GetLastError());
-		writeLog(str);
-		return;
-	}
-
-	char prefLineStr[256];
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->status != kDefaultPref) {
-			// store all pref vals persistently that are not pure default preferences
-			if ((*it)->status != kDoNotStore) {
-				strcpy(prefLineStr, "\0");
-				char currKeyStr[128];
-				VisualConfiguration::convertPreferenceKeyToString((*it)->key, currKeyStr);
-				if ((*it)->dataType == kCharPrefType) {
-					sprintf(prefLineStr, "%s = \"%s\"\r\n", currKeyStr, (*it)->valueChar);
-				} else if ((*it)->dataType == kFloatPrefType) {
-					sprintf(prefLineStr, "%s = %f\r\n", currKeyStr, (*it)->valueFloat);
-				} else if ((*it)->dataType == kIntPrefType) {
-					sprintf(prefLineStr, "%s = %d\r\n", currKeyStr, (*it)->valueInt);
-				}
-				if (strlen(prefLineStr) > 0) {
-					success = WriteFile(hFile, prefLineStr, strlen(prefLineStr), &numberOfBytesWritten, NULL);
-				}
-			}
-		}
-	}
-
-	CloseHandle(hFile);
-
-#endif
-
-	for (it = theVisualDataStore->preferenceVector.begin(); it != theVisualDataStore->preferenceVector.end(); it++) {
-		if ((*it)->status == kPrefSetButNotStored) {
-			(*it)->status = kPrefSetAndStored;
-		}
-	}
-
-}
-
-
-void VisualDataStore::setAppVersionNum(UInt8 majorVersionNum, UInt8 minorVersionNum) {
-	theVisualDataStore = VisualDataStore::getInstance();
-	theVisualDataStore->appVersionMajorNum = majorVersionNum;
-	theVisualDataStore->appVersionMinorNum = minorVersionNum;
-}
-
-
-UInt8 VisualDataStore::getAppVersionMajorNum() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->appVersionMajorNum;
-}
-
-
-UInt8 VisualDataStore::getAppVersionMinorNum() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->appVersionMinorNum;
-}
-
-
-bool VisualDataStore::storeAudioTrackMetadata(const ITTrackInfo* const trackMetadata) {
-
-	bool audioTrackDidChange = false;
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	
-	VisualAudioMetaData* currAudioMetaData = new VisualAudioMetaData;
-	
-	VisualString trackName((const UniChar*)trackMetadata->name + 1, (UInt32)trackMetadata->name[0]);
-	VisualString trackArtist((const UniChar*)trackMetadata->artist + 1, (UInt32)trackMetadata->artist[0]);
-	VisualString trackAlbum((const UniChar*)trackMetadata->album + 1, (UInt32)trackMetadata->album[0]);
-	currAudioMetaData->setTrackName(trackName);
-	currAudioMetaData->setTrackArtist(trackArtist);
-	currAudioMetaData->setTrackAlbum(trackAlbum);
-	currAudioMetaData->setTrackSizeInBytes(trackMetadata->sizeInBytes);
-	currAudioMetaData->setIsStream(false);
-	
-	if (*currAudioMetaData != *theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]) {
-		theVisualDataStore->advanceAudioMetaDataHistory();
-		delete theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx];
-		theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx] = currAudioMetaData;
-		audioTrackDidChange = true;
-	} else {
-		delete currAudioMetaData;
-	}
-	
-	VisualAudioLab* theVisualAudioLab;
-	theVisualAudioLab = VisualAudioLab::getInstance();
-	theVisualAudioLab->setTotalTimeOfCurrentTrack(trackMetadata->totalTimeInMS);
-	theVisualAudioLab->setStartTimeOfCurrentTrack(trackMetadata->startTimeInMS);
-	theVisualAudioLab->setStopTimeOfCurrentTrack(trackMetadata->stopTimeInMS);
-	
-	theVisualDataStore->audioMetaDataHasBeenSentToEnsembleBool = false;
-	
-	return audioTrackDidChange;
-	
-}
-
-
-bool VisualDataStore::storeAudioStreamMetadata(const ITStreamInfo* const streamMetadata) {
-
-	bool audioTrackDidChange = false;
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	
-	VisualAudioMetaData* currAudioMetaData = new VisualAudioMetaData;
-	
-	if (streamMetadata->streamTitle[0] > 0) {
-		VisualString streamTitle((const UniChar*)streamMetadata->streamTitle + 1, (UInt32)streamMetadata->streamTitle[0]);
-		currAudioMetaData->setTrackName(streamTitle);
-	} else if (streamMetadata->streamMessage[0] > 0) {
-		VisualString streamMessage((const UniChar*)streamMetadata->streamMessage + 1, (UInt32)streamMetadata->streamMessage[0]);
-		currAudioMetaData->setTrackName(streamMessage);
-	}
-	currAudioMetaData->setIsStream(true);
-
-	if (*currAudioMetaData != *theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]) {
-		theVisualDataStore->advanceAudioMetaDataHistory();
-		delete theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx];
-		theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx] = currAudioMetaData;
-		audioTrackDidChange = true;
-	} else {
-		delete currAudioMetaData;
-	}
-	
-	VisualAudioLab* theVisualAudioLab = VisualAudioLab::getInstance();
-	theVisualAudioLab->setTotalTimeOfCurrentTrack(0);
-	
-	theVisualDataStore->audioMetaDataHasBeenSentToEnsembleBool = false;
-	
-	return audioTrackDidChange;
-	
-}
-
-
-bool VisualDataStore::audioMetaDataHasBeenSentToEnsemble() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHasBeenSentToEnsembleBool;
-}
-
-
-void VisualDataStore::setAudioMetaDataHasBeenSentToEnsemble(bool hasBeenSent) {
-	theVisualDataStore = VisualDataStore::getInstance();
-	theVisualDataStore->audioMetaDataHasBeenSentToEnsembleBool = hasBeenSent;
-}
-
-
-void VisualDataStore::advanceAudioMetaDataHistory() {
-	if ((this->currAudioMetaDataHistoryIdx + 1) >= this->audioMetaDataHistory.size()) {
-		this->currAudioMetaDataHistoryIdx = 0;
-	} else {
-		this->currAudioMetaDataHistoryIdx++;
-	}
-}
-
-
-UInt32 VisualDataStore::getTrackSizeInBytes() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getTrackSizeInBytes();
-}
-
-
-const VisualString& VisualDataStore::getNameOfCurrentTrack() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getTrackName();
-}
-
-
-const VisualString& VisualDataStore::getArtistOfCurrentTrack() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getTrackArtist();
-}
-
-
-const VisualString& VisualDataStore::getAlbumOfCurrentTrack() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getTrackAlbum();
-}
-
-
-const VisualString& VisualDataStore::getLyricsOfCurrentTrack() {
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getTrackLyrics();
-}
-
-
-bool VisualDataStore::currentlyPlayingAudioIsStream(void) {
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getIsStream();
-}
-
-
-UInt16 VisualDataStore::getNumberOfCoverArtworksOfCurrentTrack() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getNumberOfArtworks();
-}
-
-
-UInt16 VisualDataStore::evaluateCoverArtInfo(OSType* albumCoverArtworkFileType, Handle* albumCoverArtworkHandle) {
-	UInt16 numberOfArtworks = 0;
-	numberOfArtworks = VisualHostCommunication::getCurrentTrackCoverArt(albumCoverArtworkFileType, albumCoverArtworkHandle);
-	return numberOfArtworks;
-}
-
-
-OSType VisualDataStore::getCoverArtFileType() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getAlbumCoverArtworkFileType();
-}
-
-
-Handle VisualDataStore::getHandleOfCoverArt() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->getAlbumCoverArtworkHandle();
-}
-
-
-void VisualDataStore::disposeHandleOfCoverArt() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->disposeAlbumCoverArtworkHandle();
-}
-
-
-void VisualDataStore::setPreferredDisplayResolution(UInt16 minBitsPerPixel, UInt16 maxBitsPerPixel, UInt16 preferredBitsPerPixel, UInt16 horizontalPixels, UInt16 verticalPixels) {
-	OSStatus status;
-	theVisualDataStore = VisualDataStore::getInstance();
-	if (horizontalPixels > 0 && verticalPixels > 0) {
-		status = VisualHostCommunication::setPreferredDisplayResolution(minBitsPerPixel, maxBitsPerPixel, preferredBitsPerPixel, horizontalPixels, verticalPixels);
-	} else {
-		status = noErr;
-	}
-	if (status != noErr) {
-		writeLog("err PlayerSetFullScreenOptions");
-	}
-}
-
-
-void VisualDataStore::setProcessInfo(const char* const labelStr, const char* const valueStr) {
-	std::string labelString(labelStr);
-	std::string valueString(valueStr);
-	ProcessInfoMapIterator it;
-	theVisualDataStore = VisualDataStore::getInstance();
-	it = theVisualDataStore->processInfoMap.find(labelString);
-	if (it == theVisualDataStore->processInfoMap.end()) {
-		theVisualDataStore->processInfoMap[labelString] = valueString;
-	} else {
-		it->second = valueString;
-	}
-}
-
-
-const std::map<std::string, std::string>* const VisualDataStore::getProcessInfoMap() {
-	theVisualDataStore = VisualDataStore::getInstance();
-	return &theVisualDataStore->processInfoMap;
-}
-
-
-void VisualDataStore::OSTypeToString(OSType x, char* dest) {
-	// Uniform Type Identifiers Overview
-	// UTCreateStringForOSType
-	// UTType.h
-   dest[0] = (char)(x>>24);
-   dest[1] = (char)(x>>16);
-   dest[2] = (char)(x>>8);
-   dest[3] = (char)x;
-   dest[4] = '\0';
-}
-
-
-#if TARGET_OS_WIN
-
-int VisualDataStore::make_sure_path_exists(const char *iPath, bool FilenameIncluded) {
-   char *Path=(char*)iPath, 
-        *TmpPath=Path, 
-        TmpSmb=0,
-        *LastDPtr=NULL;
-   while ((TmpPath=strpbrk(TmpPath+1,"\\/"))) {
-      TmpSmb=Path[TmpPath-Path];
-      Path[TmpPath-Path]=0;
-      CreateDirectory(Path,NULL);
-      Path[TmpPath-Path]=TmpSmb;
-      LastDPtr=TmpPath;
-   }
-
-   int Res=1;
-   if(!FilenameIncluded) {
-      CreateDirectory(iPath,NULL);
-      Res=!_access(iPath,0);
-   }
-   else {
-      if(LastDPtr) {
-         Path=(char*)iPath;
-         TmpSmb=Path[LastDPtr-Path];
-         Path[LastDPtr-Path]=0;
-         Res=!_access(Path,0);
-         Path[LastDPtr-Path]=TmpSmb;
-      }
-   }
-   
-   return Res;
-}
-
-
-bool VisualDataStore::fileExists(LPCSTR szFileName) {
-	HANDLE handle;
-	WIN32_FIND_DATA findData;
-
-	handle = FindFirstFile(szFileName, &findData);
-	if (handle != INVALID_HANDLE_VALUE) {
-		FindClose(handle);
-		if (!(findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
-			return true;
-		}
-	}
-
-	return false;
-}
-
-#endif
-
-
-void VisualDataStore::createLyricsOfCurrentTrack() {
-	if (VisualDataStore::lyricsCreationThreadIsRunning == true) return;
-	VisualThreading::createThread((ThreadingFuncPtr)VisualDataStore::createLyricsOfCurrentTrackThread, "createLyricsOfCurrentTrackThread");
-}
-
-
-#if TARGET_OS_MAC
-OSStatus VisualDataStore::createLyricsOfCurrentTrackThread(void* parameter) {
-
-	VisualDataStore::lyricsCreationThreadIsRunning = true;
-
-	OSStatus status = noErr;
-	bool debug = false;
-	
-	if (debug == true) {
-		writeLog("---------------------- createLyricsOfCurrentTrackThread (begin)");
-	}
-	
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	
-	VisualString tempFileName = VisualString("VizKitLyrics.tmp.txt");
-	VisualFile tempFile;
-	status = tempFile.initWithDirectoryOfTemporaryItems();
-	if (status != noErr) {
-		return status;
-	}
-	status = tempFile.appendFileName(tempFileName);
-	if (status != noErr) {
-		return status;
-	}
-
-	if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) != kIsShowing) {
-		return (OSStatus)1001;
-	}
-
-	if (debug == true) {
-		writeLog("before executeScriptFile()");
-	}
-	
-	VisualString appleScriptFileName = VisualString("getLyrics.applescript");
-	VisualFile appleScriptFile;
-	status = appleScriptFile.initWithResourcesDirectory();
-	appleScriptFile.appendFileName(appleScriptFileName);
-	VisualAppleScript::executeScriptFile(appleScriptFile);
-
-	if (debug == true) {
-		writeLog("after executeScriptFile()");
-	}
-	
-	VisualString lyricsString;
-	lyricsString.initWithContentsOfFile(tempFile);
-
-	status = tempFile.remove();
-	if (debug == true) {
-		writeLog("tempFile.remove()");
-	}
-	if (status != noErr) {
-		return status;
-	}
-
-	theVisualDataStore = VisualDataStore::getInstance();
-	theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->setTrackLyrics(lyricsString);
-	
-	VisualNotification::post(kLyricsAreAvailableMsg);
-	
-	if (debug == true) {
-		writeLog("---------------------- createLyricsOfCurrentTrackThread (end)");
-	}
-	
-	VisualDataStore::lyricsCreationThreadIsRunning = false;
-	
-	return status;
-}
-
-#endif
-
-#if TARGET_OS_WIN
-DWORD WINAPI VisualDataStore::createLyricsOfCurrentTrackThread(LPVOID lpParam) {
-
-	VisualDataStore::lyricsCreationThreadIsRunning = true;
-
-	IiTunes* iITunes = 0;
-	IITTrack* iITrack = 0;
-
-	CoInitialize(0);
-	//HRESULT result = CoInitializeEx(0, COINIT_APARTMENTTHREADED);
-	
-	try
-	{
-		HRESULT hRes = ::CoCreateInstance(CLSID_iTunesApp, NULL, CLSCTX_LOCAL_SERVER, IID_IiTunes, (PVOID *)&iITunes);
-
-		if(hRes == S_OK && iITunes) {
-			iITunes->get_CurrentTrack(&iITrack);
-			if(iITrack) {
-
-				BSTR bstrTrack = 0;
-
-				iITrack->get_Name((BSTR *)&bstrTrack);
-
-				BSTR bstrLyricsTrack = ::SysAllocString((const OLECHAR*)(""));
-				//BSTR bstrLyricsTrack = 0;
-				IITFileOrCDTrack* iTrackFile;
-				iITrack->QueryInterface(IID_IITFileOrCDTrack, (void **)&iTrackFile);
-				iTrackFile->get_Lyrics(&bstrLyricsTrack);
-				theVisualDataStore = VisualDataStore::getInstance();
-
-				UInt16 trackLyricsStringLength = lstrlenW(bstrLyricsTrack);
-				VisualString lyrics((UniChar*)bstrLyricsTrack, trackLyricsStringLength);
-				theVisualDataStore->audioMetaDataHistory[theVisualDataStore->currAudioMetaDataHistoryIdx]->setTrackLyrics(lyrics);
-				//dynamic_cast<IITFileOrCDTrack*>(iITrack)->get_Lyrics((BSTR *)&bstrLyricsTrack);
-				//dynamic_cast<IITFileOrCDTrack*>(iITrack)->get_Lyrics((BSTR *)&theVisualDataStore->trackLyrics);
-
-			}
-		}
-		
-		iITunes->Release();
-
-	}
-	catch(...)
-	{
-		try
-		{
-			if(iITunes)
-				iITunes->Release();
-					
-			if(iITrack)
-				iITrack->Release();
-		}
-		catch(...)
-		{
-		}
-	}
-	
-	CoUninitialize();
-
-
-/*
-	iTunesLib.iTunesAppClass itl = new iTunesLib.iTunesAppClass();
-	string currTrack = itl.CurrentTrack.Name.ToString();
-	iTunesLib.IITTrack myTrack = (iTunesLib.IITTrack)itl.CurrentTrack;
-	iTunesLib.IITFileOrCDTrack test = (iTunesLib.IITFileOrCDTrack)myTrack;
-	string myLyrics = test.Lyrics;
-
-	MessageBox.Show("Track: "+currTrack+", Lyrics: "+myLyrics);
-*/
-
-	VisualNotification::post(kLyricsAreAvailableMsg);
-
-	VisualDataStore::lyricsCreationThreadIsRunning = false;
-
-	return (DWORD)noErr;
-}
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/VisualDataStore.h b/src/projectM-iTunes-VizKit/source/VisualDataStore.h
deleted file mode 100644
index 1228ec2..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualDataStore.h
+++ /dev/null
@@ -1,538 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualDataStore.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualDataStore_h
-#define VisualDataStore_h
-
-#include "VisualConfiguration.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h> // DWORD WINAPI
-#endif
-
-#include <vector>
-#include <string>
-#include <map>
-
-
-struct ITTrackInfo; // Forward declaration (to avoid include of header file).
-struct ITStreamInfo; // Forward declaration (to avoid include of header file).
-
-namespace VizKit {
-
-	class VisualAudioMetaData; // Forward declaration (to avoid include of header file).
-	class VisualString; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Stores essential data for the visualizer.
-	 * The data stored is general (neither graphics related nor audio specific).
-	 * All public methods are declared static.
-	 */
-	class VisualDataStore {
-
-	public:
-	
-		/**
-		 * Disposes the VisualDataStore.
-		 */
-		static void dispose(void);
-
-		/**
-		 * Sets a default preference value (integer).
-		 * The default preference value is set by VisualConfiguration's setDefaultPreferences().
-		 * That way there will always be a preference value present even if the user hasn't set any yet. 
-		 * If it is not possible to set a default value, at least a value has to be set and stored before the value will be returned on request.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (integer) of the preference value.
-		 */
-		static void setDefaultPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue);
-
-		/**
-		 * Sets a default preference value (float).
-		 * The default preference value is set by VisualConfiguration's setDefaultPreferences().
-		 * That way there will always be a preference value present even if the user hasn't set any yet. 
-		 * If it is not possible to set a default value, at least a value has to be set and stored before the value will be returned on request.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (float) of the preference value.
-		 */
-		static void setDefaultPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue);
-		
-		/**
-		 * Sets a default preference value (character).
-		 * The default preference value is set by VisualConfiguration's setDefaultPreferences(). 
-		 * That way there will always be a preference value present even if the user hasn't set any yet.
-		 * If it is not possible to set a default value, at least a value has to be set and stored before the value will be returned on request.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (character) of the preference value.
-		 */	
-		static void setDefaultPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue);
-
-		/**
-		 * Sets a preference value (integer).
-		 * To store a preference persistently, the method storePreferences has to be called afterwards.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (integer) of the preference value.
-		*/	
-		static void setPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue);
-
-		/**
-		 * Sets a preference value (float).
-		 * To store a preference persistently, the method storePreferences has to be called afterwards.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (float) of the preference value.
-		 */	
-		static void setPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue);
-
-		/**
-		 * Sets a preference value (character).
-		 * To store a preference persistently, the method storePreferences has to be called afterwards.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (character) of the preference value.
-		 */
-		static void setPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue);
-
-		/**
-		 * Sets a persistent value (integer) which is not stored in preferences.\ The value is accessible during runtime.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (integer) of the value.
-		 */
-		static void setValueInt(const VisualConfiguration::PreferenceKey anIdentifier, const int aValue);
-
-		/**
-		 * Sets a persistent value (float) which is not stored in preferences.\ The value is accessible during runtime.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (float) of the value.
-		 */
-		static void setValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, const float aValue);
-
-		/**
-		 * Sets a persistent value (string) which is not stored in preferences.\ The value is accessible during runtime.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param aValue The value (string) of the value.
-		 */
-		static void setValueChar(const VisualConfiguration::PreferenceKey anIdentifier, const char* const aValue);
-
-		/**
-		 * Retrieves a persistent value (integer) which was set previously but not stored in preferences.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param wasSet Optional parameter that indicates whether the values was set previously.
-		 * @return Returns a persistent value (integer) which was set previously but not stored in preferences.
-		 */
-		static int getValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* wasSet = NULL);
-
-		/**
-		 * Retrieves a persistent value (float) which was set previously but not stored in preferences.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param wasSet Optional parameter that indicates whether the values was set previously.
-		 * @return Returns a persistent value (float) which was set previously but not stored in preferences.
-		 */
-		static float getValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* wasSet = NULL);
-
-		/**
-		 * Retrieves a persistent value (string) which was set previously but not stored in preferences.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param[out] outPrefVal The character string value.
-		 * @param wasSet Optional parameter that indicates whether the values was set previously.
-		 * @return Returns a persistent value (string) which was set previously but not stored in preferences.
-		 */
-		static void getValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal, bool* wasSet = NULL);
-		
-		/**
-		 * Retrieves a default preference value (integer).
-		 * The default preference is handled as a fallback if a preference value is requested.
-		 * It is handled as an error if a preference value is requested and no default value has been specified before 
-		 * nor any value with the requested key has been saved before.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param isDefaultValue True if default preference value was found.
-		 * @return The default integer preference value.
-		 */
-		static int getDefaultPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue);
-		
-		/**
-		 * Retrieves a default preference value (float).
-		 * The default preference is handled as a fallback if a preference value is requested.
-		 * It is handled as an error if a preference value is requested and no default value has been specified before 
-		 * nor any value with the requested key has been saved before.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param isDefaultValue True if default preference value was found.
-		 * @return The default float preference value.
-		 */
-		static float getDefaultPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue);
-
-		/**
-		 * Retrieves a default preference value (character).
-		 * The default preference is handled as a fallback if a preference value is requested.
-		 * It is handled as an error if a preference value is requested and no default value has been specified before 
-		 * nor any value with the requested key has been saved before.
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param[out] outPrefVal The value of the character preference.
-		 * @return True if default preference value was found.
-		 */
-		static bool getDefaultPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal);
-
-		/**
-		 * Retrieves a persistent preference value (integer).
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param isDefaultValue True if returned value is default value.
-		 */	
-		static int getPreferenceValueInt(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue = NULL);
-
-		/**
-		 * Retrieves a persistent preference value (float).
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param isDefaultValue True if returned value is default value.
-		 */	
-		static float getPreferenceValueFloat(const VisualConfiguration::PreferenceKey anIdentifier, bool* isDefaultValue = NULL);
-
-		/**
-		 * Retrieves a persistent preference value (character).
-		 * @param anIdentifier The identifier (key) of the preference value.
-		 * @param[out] outPrefVal The value of the character preference.
-		 * @param isDefaultValue True if returned value is default value.
-		 */
-		static void getPreferenceValueChar(const VisualConfiguration::PreferenceKey anIdentifier, char* outPrefVal, bool* isDefaultValue = NULL);
-		
-		/**
-		 * Stores the preferences in persistent storage.
-		 */		
-		static void storePreferences(void);
-
-		/**
-		 * Stores the major and minor version of the host application.
-		 * @param majorVersionNum The major version number of the host application.\ 1st part of version number in BCD.
-		 * @param minorVersionNum The minor version number of the host application.\ Minor and bug revision part of version number share a byte.
-		 */	
-		static void setAppVersionNum(UInt8 majorVersionNum, UInt8 minorVersionNum);
-
-		/**
-		 * Returns the major version of the host application.
-		 * @return The major version number of the host application.
-		 */	
-		static UInt8 getAppVersionMajorNum(void);
-
-		/**
-		 * Returns the minor version of the host application.
-		 * @return The minor version number of the host application.
-		 */	
-		static UInt8 getAppVersionMinorNum(void);
-
-		/**
-		 * Stores textual audio track information.
-		 * @param trackMetadata Pointer to all accessable track information.
-		 * @return True if audio track changed compared to previous one.\ False if metadata is the same as with the previous audio track.
-		 */
-		static bool storeAudioTrackMetadata(const ITTrackInfo* const trackMetadata);
-
-		/**
-		 * Stores textual audio stream information.
-		 * @param streamMetadata Pointer to all accessable stream information.
-		 * @return True if audio track changed compared to previous one.\ False if metadata is the same as with the previous audio track.
-		 */
-		static bool storeAudioStreamMetadata(const ITStreamInfo* const streamMetadata);
-		
-		/**
-		 * Answers the question whether the audio meta data has been sent to ensemble already.
-		 * @return True if the audio meta data has been sent to ensemble already, false if not.
-		 */
-		static bool audioMetaDataHasBeenSentToEnsemble(void);
-
-		/**
-		 * Flags if the audio meta data has been sent to ensemble.
-		 * @param hasBeenSent True if audio meta data has been sent to ensemble, false if not.
-		 * @remarks This method is called when the kAudioMetadataIsAvailableMsg has been sent to ensemble members.
-		 */
-		static void setAudioMetaDataHasBeenSentToEnsemble(bool hasBeenSent);
-
-		/**
-		 * Returns the number of bytes of the current track.
-		 * @result The number of bytes of the current track.
-		 */			
-		static UInt32 getTrackSizeInBytes(void);
-		
-		/**
-		 * Returns the name of the current audio track.
-		 * @return A reference to the name of current track.
-		 */
-		static const VisualString& getNameOfCurrentTrack(void);
-
-		/**
-		 * Returns the name of the artist of the current audio track.
-		 * @return A reference to the name of artist of the current track.
-		 */
-		static const VisualString& getArtistOfCurrentTrack(void);
-
-		/**
-		 * Returns the name of the album of the current audio track.
-		 * @return A reference to the name of album of the current track.
-		 */
-		static const VisualString& getAlbumOfCurrentTrack(void);
-
-		/* Returns the lyrics of the current audio track.
-		 * After new lyrics for the current track are available, a notification is sent (kLyricsAreAvailableMsg).
-		 * Clients that are interested in being informed about the availability of new lyrics for the current track should register for the notification kLyricsAreAvailableMsg.
-		 * @return A reference to the lyrics of the current track. 
-		*/
-		static const VisualString& getLyricsOfCurrentTrack(void);
-
-		/**
-		 * Answers the question whether currently playing audio is stream or track.
-		 * @return True if currently playing audio is stream.\ False if currently playing audio is a track.
-		 */
-		static bool currentlyPlayingAudioIsStream(void);
-
-		/* The lyrics are created.
-		 * @remarks The lyrics are created in a separate thread.
-		 */
-		static void createLyricsOfCurrentTrack(void);
-
-		/* The separate thread in which lyrics are created.
-		 * @param parameter Additional parameters (ignored).
-		 * @return Status.
-		 */
-#if TARGET_OS_MAC
-		static OSStatus createLyricsOfCurrentTrackThread(void* parameter);
-#endif
-#if TARGET_OS_WIN
-		static DWORD WINAPI createLyricsOfCurrentTrackThread(LPVOID lpParam);
-#endif
-
-		/**
-		 * Returns the number of cover art works for current track.
-		 * Due to a limitation of the API interface of iTunes, currently the maximum is 1.
-		 * @return The number of cover art works for current track. 0 if none is found.
-		 */
-		static UInt16 getNumberOfCoverArtworksOfCurrentTrack(void);
-		
-		/**
-		 * Receives info about cover art of current audio track.
-		 * @param[out] albumCoverArtworkFileType The file type of the album cover artwork.
-		 * @param[out] albumCoverArtworkHandle A handle to the album cover artwork data.
-		 * @return The number of cover artworks.
-		 */
-		static UInt16 evaluateCoverArtInfo(OSType* albumCoverArtworkFileType, Handle* albumCoverArtworkHandle);
-		
-		/**
-		 * Returns the file type of cover art data.
-		 * @return The 4-char-code identification of the file type (e.g.\ JPEG, PNGf).
-		 */
-		static OSType getCoverArtFileType(void);
-		
-		/**
-		 * Returns a handle to internally stored cover art data for further processing.
-		 * @return Handle to cover art data.
-		 */
-		static Handle getHandleOfCoverArt(void);
-
-		/**
-		 * Disposes the cover art data.
-		 */
-		static void disposeHandleOfCoverArt(void);
-		
-		/**
-		 * Tells iTunes about our preferred fullscreen resolution.
-		 * Once the preferred display resolution has been set it can not be revoked.
-		 * Only with the next restart of iTunes the default resolution of iTunes can be set again (by not calling PlayerSetFullScreenOptions).
-		 * @param minBitsPerPixel Minimum bit depth.
-		 * @param maxBitsPerPixel Maximum bit depth.
-		 * @param preferredBitsPerPixel Preferred bit depth.
-		 * @param horizontalPixels Desired width.
-		 * @param verticalPixels Desired height.
-		 */	
-		static void setPreferredDisplayResolution(UInt16 minBitsPerPixel, UInt16 maxBitsPerPixel, UInt16 preferredBitsPerPixel, UInt16 horizontalPixels, UInt16 verticalPixels);
-
-		/**
-		 * Stores label and value of a process info entry that is sent later to the VisualProcessMonitor.
-		 * @param labelStr The string of the label.
-		 * @param valueStr The value of the process info.
-		 */
-		static void setProcessInfo(const char* const labelStr, const char* const valueStr);
-
-		/**
-		 * Returns a pointer to the process info map.
-		 * @return The process info map.
-		 */
-		static const std::map<std::string, std::string>* const getProcessInfoMap();
-
-		/**
-		 * Helper function to convert from data type OSType to char buffer.
-		 * @param x in: The 4-char-code OSType string.
-		 * @param[out] dest The buffer that receives the 4-char-code as string.
-		 */	
-		static void OSTypeToString(OSType x, char* dest);
-
-	private:
-
-		/** The constructor.\ VisualDataStore is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualDataStore();
-
-		/** The destructor.\ VisualDataStore is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualDataStore();
-
-		/**
-		 * Constructs a VisualDataStore.\ The VisualDataStore internally is a singleton.\ Returns a pointer to the initialized VisualDataStore.
-		 * @return A pointer to the singleton instance.
-		 */
-		static VisualDataStore* getInstance(void);
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualDataStore.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualDataStore(const VisualDataStore& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualDataStore& operator=(const VisualDataStore& other);
-
-		/** VisualDataStore is a singleton class. Pointer to private instance is handled internally. */
-		static VisualDataStore* theVisualDataStore;
-
-		/** The format of the data that is stored with the preference. */
-		typedef enum {
-			kIntPrefType = 0, /**< Integer type. */
-			kCharPrefType, /**< 8-bit character type. */
-			kFloatPrefType /**< Float type. */
-		} PrefDataType;
-
-		/** The status of the preference. */
-		typedef enum {
-			kDefaultPref = 0, /**< Default (factory) preference. */
-			kPrefSetButNotStored, /**< The preference has been set but not stored. */
-			kPrefSetAndStored, /**< The preference value is stored persistently. */
-			kDoNotStore /**< A runtime value which is not stored in preference system. */
-		} PrefStatus;
-			
-		/** Stores a key-value-pair of preferences. The type of data of the preference is set with the field dataType. */
-		class Preference {
-		public:
-			/** The key of the preference (e.g.\ kFullscreenWidth). */
-			VisualConfiguration::PreferenceKey key;
-			/** The integer value of the preference (e.g.\ 32). */
-			int valueInt;
-			/** The float value of the preference (e.g.\ 1.35). */
-			float valueFloat;
-			/** The char value of the preference (e.g.\ "LucidaGrande"). */
-			char valueChar[256];
-			/** The default integer value of the preference (e.g.\ 32). */
-			int defaultValueInt;
-			/** The default float value of the preference (e.g.\ 1.35). */
-			float defaultValueFloat;
-			/** The default char value of the preference (e.g.\ "LucidaGrande"). */
-			char defaultValueChar[256];
-			/** The format of the preference data. */
-			PrefDataType dataType;
-			/** Answers the question whether the value is persistently stored or not. Enum value prefStatus. */
-			PrefStatus status;
-		};
-		
-		/** Preferences are collected as a vector of pointers to Preferences. */
-		typedef std::vector<Preference*> PreferenceVector;
-		
-		/** The PreferenceVectorIterator is an iterator of the PreferenceVector. */
-		typedef PreferenceVector::iterator PreferenceVectorIterator;
-		
-		/** Vector of preferences. */
-		PreferenceVector preferenceVector;
-
-		/** The major version number of the host application iTunes. */
-		UInt8 appVersionMajorNum;
-		
-		/** The minor version number of the host application iTunes. */
-		UInt8 appVersionMinorNum;
-			
-		/** The number of entries in history of meta data of audio track or stream. */
-		static const size_t audioMetaDataHistoryCount;
-	
-		/** The current index of the history of meta data of audio track or stream. */
-		size_t currAudioMetaDataHistoryIdx;
-
-		/** AudioMetaData entries are collected as a vector of pointers to AudioMetaData. */
-		typedef std::vector<VisualAudioMetaData*> AudioMetaDataVector;
-		
-		/** The AudioMetaDataVectorIterator is an iterator of the AudioMetaDataVector. */
-		typedef AudioMetaDataVector::iterator AudioMetaDataVectorIterator;
-		
-		/** Vector of AudioMetaData. */
-		AudioMetaDataVector audioMetaDataHistory;
-		
-		/** Advance (increment) the history of AudioMetaData.\ The current index is moved one forward. */
-		void advanceAudioMetaDataHistory(void);	
-
-		/** True if audio meta data has been sent to ensemble of actors. */
-		bool audioMetaDataHasBeenSentToEnsembleBool;
-		
-		/** Semaphore that flags whether the lyrics creation thread is currently running. */
-		static bool lyricsCreationThreadIsRunning;
-
-		/** The ProcessInfoMap is a map of strings that denote key and value of process info records. */
-		typedef std::map<std::string, std::string> ProcessInfoMap;
-		
-		/** A map of the process monitor info key-value-pairs. */
-		ProcessInfoMap processInfoMap;
-		
-		/** The ProcessInfoMapIterator is an iterator of the ProcessInfoMap. */
-		typedef ProcessInfoMap::iterator ProcessInfoMapIterator;
-
-#if TARGET_OS_WIN
-
-		/** Helper function for Windows. Makes sure that a certain path exists.
-		 * @param iPath The path.
-		 * @param FilenameIncluded True if path contains filename, false if path is directory path.
-		 * @return Returns the access identifier.
-		 */
-		int make_sure_path_exists(const char *iPath, bool FilenameIncluded = true);
-
-		/** Helper function for Windows. Ansers the question whether a certain file exists.
-		 * @param szFileName The path to a file.
-		 * @param FilenameIncluded True if path contains filename, false if path is directory path.
-		 * @return True if file exists, false if not.
-		 * @remarks The file is not created if it does not exist.
-		 */
-		bool fileExists(LPCSTR szFileName);
-#endif
-
-	};
-
-}
-
-#endif /* VisualDataStore_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp b/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp
deleted file mode 100644
index 3fa6d1d..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualDispatch.cpp
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualDispatch.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualDispatch.h"
-
-#include "VisualErrorHandling.h"
-#include "VisualConfiguration.h"
-#include "VisualDataStore.h"
-#include "VisualPlayerState.h"
-#include "VisualAudioLab.h"
-#include "VisualGraphics.h"
-#include "VisualTiming.h"
-#include "VisualString.h"
-
-#include <iostream> // cout
-
-
-
-using namespace VizKit;
-
-
-#if TARGET_OS_MAC
-//	Function pointer prototypes to the Mach-O Cocoa wrappers
-
-typedef OSStatus (*InitCocoaForCarbonBundleProc)();
-InitCocoaForCarbonBundleProc doInitCocoaForCarbonBundle;
-
-typedef OSStatus (*GetDimensionsOfStringBitmapProc)(CFStringRef stringValue, UInt32* bitmapWidth, UInt32* bitmapHeight, const char* const fontNameStr, float* fontSize, float red, float green, float blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, const char* const alignment);
-GetDimensionsOfStringBitmapProc doGetDimensionsOfStringBitmap;
-
-typedef OSStatus (*GetStringBitmapDataProc)(CFStringRef stringValue, UInt32 bitmapWidth, UInt32 bitmapHeight, const char* const fontNameStr, float fontSize, float red, float green, float blue, const char* const alignment, UInt32** bitmapOut);
-GetStringBitmapDataProc doGetStringBitmapData;
-
-typedef void (*LogStringProc)(CFStringRef aString);
-LogStringProc doLogString;
-
-
-CFBundleRef bundleRef = NULL;
-#endif
-
-
-void setProcessInfo(const char* const labelStr, const char* const valueStr) {
-    VisualDataStore::setProcessInfo(labelStr, valueStr);
-}
-
-
-void monitorRenderMessageProcess() {
-
-	static float framesPerSecond = 0.0f;
-	static UInt16 frameCount = 0;
-	::Rect viewportRect;
-	UInt32 elapsedMilliseconds, remainingMilliseconds, totalMilliseconds = 0;
-	VisualAudioLab* theVisualAudioLab = NULL;
-	VisualPlayerState* theVisualPlayerState = NULL;
-	VisualGraphics* theVisualGraphics = NULL;
-	UInt8 playState;
-	char cStr64[64];
-	
-	theVisualPlayerState = VisualPlayerState::getInstance();
-	
-    elapsedMilliseconds = VisualTiming::getElapsedMilliSecsSinceReset("fps");
-    
-    if (elapsedMilliseconds > 1000) {
-        framesPerSecond = (float)frameCount / (float)elapsedMilliseconds * 1000.0f;
-        frameCount = 0;
-        VisualTiming::resetTimestamp("fps");
-    }
-	frameCount++;
-    
-    sprintf(cStr64, "%.2f",  framesPerSecond);
-    setProcessInfo("FramesPerSecond", cStr64);
-	
-	theVisualGraphics = VisualGraphics::getInstance();
-
-	setProcessInfo("RendererName",theVisualGraphics->getRendererName());
-
-	setProcessInfo("RendererVendor",theVisualGraphics->getRendererVendor());
-
-	setProcessInfo("RendererVersion",theVisualGraphics->getRendererVersion());
-
-	sprintf(cStr64, "%#x", theVisualGraphics->getGLVersion());
-	setProcessInfo("GLVersion", cStr64);
-	
-	sprintf(cStr64, "%ld", theVisualGraphics->getMaxTextureSize());
-	setProcessInfo("Maximum Texture Size", cStr64);
-	
-	// screen measurements
-	sprintf(cStr64, "width: %d, height: %d, refreshRate: %d", theVisualGraphics->getScreenWidth(), theVisualGraphics->getScreenHeight(), theVisualGraphics->getRefreshRateOfScreen());
-	setProcessInfo("Screen", cStr64);
-	
-	sprintf(cStr64, "%d", theVisualGraphics->getBitsPerPixelOfScreen());
-	setProcessInfo("BitsPerPixel", cStr64);
-	
-	sprintf(cStr64, "%d", theVisualGraphics->getCanvasPixelHeight());
-	setProcessInfo("CanvasPixelHeight", cStr64);
-	
-	sprintf(cStr64, "%d", theVisualGraphics->getCanvasPixelWidth());
-	setProcessInfo("CanvasPixelWidth", cStr64);
-
-	::Rect theCanvasRect;
-	theVisualGraphics->getCanvasRect(&theCanvasRect);
-	sprintf(cStr64, "top: %d, left: %d", theCanvasRect.top, theCanvasRect.left);
-	setProcessInfo("CanvasRectTopLeft", cStr64);
-	sprintf(cStr64, "bottom: %d, right: %d", theCanvasRect.bottom, theCanvasRect.right);
-	setProcessInfo("CanvasRectBottomRight", cStr64);
-
-	::Rect theCanvasSurroundingRect;
-	theVisualGraphics->getCanvasSurroundingRect(&theCanvasSurroundingRect);
-	sprintf(cStr64, "top: %d, left: %d", theCanvasSurroundingRect.top, theCanvasSurroundingRect.left);
-	setProcessInfo("CanvasSurroundRectTopLeft", cStr64);
-	sprintf(cStr64, "bottom: %d, right: %d", theCanvasSurroundingRect.bottom, theCanvasSurroundingRect.right);
-	setProcessInfo("CanvasSurroundRectBottomRight", cStr64);
-	
-	sprintf(cStr64, "top: %.2f, left: %.2f", theVisualGraphics->getMaxTopCoordOfCanvas(), theVisualGraphics->getMaxLeftCoordOfCanvas());
-	setProcessInfo("CoordMaxTopLeft", cStr64);
-	sprintf(cStr64, "bottom: %.2f, right: %.2f", theVisualGraphics->getMaxBottomCoordOfCanvas(), theVisualGraphics->getMaxRightCoordOfCanvas());
-	setProcessInfo("CoordMaxBottomRight", cStr64);
-	sprintf(cStr64, "near: %.2f, far: %.2f", theVisualGraphics->getMaxNearCoordOfCanvas(), theVisualGraphics->getMaxFarCoordOfCanvas());
-	setProcessInfo("CoordMaxNearFar", cStr64);
-
-	theVisualGraphics->getViewportRect(&viewportRect);
-	sprintf(cStr64, "top: %d, left: %d, bottom: %d, right: %d",  viewportRect.top, viewportRect.left, viewportRect.bottom, viewportRect.right);
-	setProcessInfo("ViewportRect", cStr64);
-
-	playState = theVisualPlayerState->getAudioPlayState();
-	switch (playState) {
-		case kAudioIsPlaying:
-			sprintf(cStr64, "kAudioIsPlaying");
-			break;
-		case kAudioPlayStarted:
-			sprintf(cStr64, "kAudioPlayStarted");
-			break;		
-		case kAudioPlayResumed:
-			sprintf(cStr64, "kAudioPlayResumed");
-			break;
-		case kAudioPlayPaused:
-			sprintf(cStr64, "kAudioPlayPaused");
-			break;
-		case kAudioIsNotPlaying:
-			sprintf(cStr64, "kAudioIsNotPlaying");
-			break;
-		default:
-			sprintf(cStr64, "unknown");
-	}
-	setProcessInfo("AudioPlayState", cStr64);
-	
-	elapsedMilliseconds = theVisualPlayerState->getElapsedAudioTime();
-	sprintf(cStr64, "%ld", elapsedMilliseconds);
-	setProcessInfo("TrackTimeElapsed", cStr64);
-
-	remainingMilliseconds = theVisualPlayerState->getRemainingAudioTime();
-	sprintf(cStr64, "%ld", remainingMilliseconds);
-	setProcessInfo("TrackTimeRemaining", cStr64);
-
-	theVisualAudioLab = VisualAudioLab::getInstance();
-	totalMilliseconds = theVisualAudioLab->getTotalTimeOfCurrentTrack();
-	sprintf(cStr64, "%ld", totalMilliseconds);
-	setProcessInfo("TrackTimeTotal", cStr64);
-
-}
-
-
-UInt8 graphicsDoSupportTextureRectExtension() {
-	VisualGraphics* theVisualGraphics = NULL;
-	theVisualGraphics = VisualGraphics::getInstance();
-	return (theVisualGraphics->canUseTextureRectExtension());
-}
-
-
-#if TARGET_OS_MAC
-
-void setRefsToCocoaFunctionCalls() {
-	CFStringRef pluginName;
-	pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingWindowsLatin1);
-	bundleRef = CFBundleGetBundleWithIdentifier(pluginName);
-    if (!bundleRef) {
-        writeLog("no bundleRef in setRefsToCocoaFunctionCalls");
-        return;
-    } else {
-        doInitCocoaForCarbonBundle = (InitCocoaForCarbonBundleProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("initCocoaForCarbonBundle"));
-		if (!doInitCocoaForCarbonBundle) {
-			writeLog("no function pointer for doInitCocoaForCarbonBundle");
-		}
-		doGetDimensionsOfStringBitmap = (GetDimensionsOfStringBitmapProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("getDimensionsOfStringBitmap"));
-		if (!doGetDimensionsOfStringBitmap) {
-			writeLog("no function pointer for doGetDimensionsOfStringBitmap");
-		}
-		doGetStringBitmapData = (GetStringBitmapDataProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("getStringBitmapData"));
-		if (!doGetStringBitmapData) {
-			writeLog("no function pointer for doGetStringBitmapData");
-		}
-        doLogString = (LogStringProc)CFBundleGetFunctionPointerForName(bundleRef, CFSTR("logCFString"));
-		if (!doLogString) {
-			writeLog("no function pointer for doLogString");
-		}
-    }
-	CFRelease(pluginName);
-}
-
-
-OSStatus initCocoaTextInfo() {
-    OSStatus err;
-    err = doInitCocoaForCarbonBundle();
-    if (err != noErr) {
-        writeLog("Err in initCocoaTextInfo");
-        return 1000;
-    } else {
-        return noErr;
-    }
-}
-
-
-OSStatus initCocoaBundle() {
-    OSStatus status;
-    setRefsToCocoaFunctionCalls();
-    status = initCocoaTextInfo();
-	return status;
-}
-
-
-OSStatus getDimensionsOfCocoaStringBitmap(void* aVisualString, UInt32* imageWidth, UInt32* imageHeight, char* fontNameStr, float* fontSize, float red, float green, float blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, char* alignment) {
-
-    OSStatus err = noErr;
-	
-	if (!doGetDimensionsOfStringBitmap) {
-		initCocoaBundle();
-	}
-
-	VisualString* aString = reinterpret_cast<VisualString*>(aVisualString);
-	const CFStringRef aCFStringRef = aString->getCharactersPointer();
-    err = doGetDimensionsOfStringBitmap(aCFStringRef, imageWidth, imageHeight, fontNameStr, fontSize, red, green, blue, maxPixelWidth, maxPixelHeight, alignment);
-	
-    if (err != noErr) {
-		char logStr[64];
-		sprintf(logStr, "ERR: getDimensionsOfCocoaStringBitmap: %ld", err);
-        writeLog(logStr);
-        return 1;
-    } else {
-        return 0;
-    }
-	
-	return err;
-}
-
-
-OSStatus getCocoaStringBitmapData(void* aVisualString, UInt32 bitmapWidth, UInt32 bitmapHeight, char* fontNameStr, float fontSize, float red, float green, float blue, char* alignment, UInt32** bitmapData) {
-
-    OSStatus err = noErr;
-	
-	if (!doGetStringBitmapData) {
-		initCocoaBundle();
-	}
-    
-	VisualString* aString = reinterpret_cast<VisualString*>(aVisualString);
-	CFStringRef aCFStringRef = aString->getCharactersPointer();
-    err = doGetStringBitmapData(aCFStringRef, bitmapWidth, bitmapHeight, fontNameStr, fontSize, red, green, blue, alignment, bitmapData);
-	
-    if (err != noErr) {
-		char logStr[64];
-		sprintf(logStr, "ERR: getCocoaStringBitmapData: %ld", err);
-        writeLog(logStr);
-        return 1001;
-    }
-	
-	return err;
-}
-
-
-OSStatus copyBitmapDataToTexture(UInt32 textureNumber, UInt32 width, UInt32 height, bool canUseRectExtension, UInt16 format, UInt16 dataType, UInt32** bitmapData) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->copyARGBBitmapDataToTexture(textureNumber, width, height, canUseRectExtension, format, dataType, const_cast<const UInt32**>(bitmapData));
-}
-
-
-UInt32* createCheckPixels(UInt32 width, UInt32 height) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	return theVisualGraphics->createARGBCheckPixels(width, height);
-}
-
-
-void logString(void* aVisualString) {
-	if (!doLogString) {
-		initCocoaBundle();
-	}
-	VisualString* aString = reinterpret_cast<VisualString*>(aVisualString);
-	CFStringRef aCFStringRef = aString->getCharactersPointer();
-	doLogString(aCFStringRef);
-}
-
-
-const char* getVisualPluginName() {
-	return VisualConfiguration::kVisualPluginName;
-}
-
-
-const char* getVisualPluginShowName() {
-	return VisualConfiguration::kVisualPluginShowName;
-}
-
-
-const char* getVisualPluginDomainIdentifier() {
-	return VisualConfiguration::kVisualPluginDomainIdentifier;
-}
-
-
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/VisualDispatch.h b/src/projectM-iTunes-VizKit/source/VisualDispatch.h
deleted file mode 100644
index 94611fa..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualDispatch.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualDispatch.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualDispatch_h
-#define VisualDispatch_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-
-/* The dispatcher provides a c-callable interface to the VizKit classes for the Cocoa framework. */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**
- * Adds a pair of label and value to process monitor info array.
- * The label-value-pairs of the process monitor info array are printed on canvas.
- * @param labelStr The label of the process monitor info text.
- * @param valueStr The value of the process monitor info text.
- */
-void setProcessInfo(const char* const labelStr, const char* const valueStr);
-
-/**
- * The setProcessInfo calls of VisualMain's HandleRenderMessage.
- */
-void monitorRenderMessageProcess(void);
-
-/**
- * The function queries the system and answers whether textures can have non power of 2 dimensions.
- * Textures with exact dimensions need less space.
- * To stay compatible any callee has to cope with a negative answer.
- * @return 1 if graphics system does support rectangular texture extension. 0 otherwise.
- */
-UInt8 graphicsDoSupportTextureRectExtension(void);
-
-#if TARGET_OS_MAC
-
-/** Set function pointers to Cocoa functions.\ Mac-only.
- * To call Cocoa methods from C we have to define pointers to Cocoa methods.
- */
-void setRefsToCocoaFunctionCalls(void);
-
-/** Initializes Cocoa Text Engine.\ Mac-only. */
-OSStatus initCocoaTextInfo(void);
-
-/**
- * The function returns the dimensions (width and height) of a bitmap of a styled string in pixels.
- * @param aVisualString The string to measure.
- * @param[out] imageWidth Returns the width of the embedded track title font image (measured in pixels).
- * @param[out] imageHeight Returns the height of the embedded track title font image (measured in pixels).
- * @param fontNameStr The name of the font.
- * @param fontSize The font size.
- * @param red The red color component of the text font.
- * @param green The green color component of the text font.
- * @param blue The blue color component of the text font.
- * @param maxPixelWidth The requested maximum width of the texture.
- * @param maxPixelHeight The requested maximum height of the texture.
- * @param alignment The horizontal alignment of the string.
- * @return The error status (noErr when successful).
- */
-OSStatus getDimensionsOfCocoaStringBitmap(void* aVisualString, UInt32* imageWidth, UInt32* imageHeight, char* fontNameStr, float* fontSize, float red, float green, float blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, char* alignment);
-
-/**
- * The function returns the bitmap data of a styled string.
- * @param aVisualString The string to convert into bitmap.
- * @param bitmapWidth The width of the bitmap data (measured in pixels).
- * @param bitmapHeight The height of the bitmap data (measured in pixels).
- * @param fontNameStr The name of the font.
- * @param fontSize The font size.
- * @param red The red color component of the text font.
- * @param green The green color component of the text font.
- * @param blue The blue color component of the text font.
- * @param alignment The horizontal alignment of the string.
- * @param bitmapData Pointer to a pointer to the allocated bitmap data.
- * @return The error status (noErr when successful).
- */
-OSStatus getCocoaStringBitmapData(void* aVisualString, UInt32 bitmapWidth, UInt32 bitmapHeight, char* fontNameStr, float fontSize, float red, float green, float blue, char* alignment, UInt32** bitmapData);
-
-/**
- * Copies the bitmap data into a texture.
- * @param textureNumber The texture number (texture name) of the texture.
- * @param width The width of the bitmap data.
- * @param height The height of the bitmap data.
- * @param canUseRectExtension True if graphics system does support rectangular texture extension.\ False otherwise.
- * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
- * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
- * @param bitmapData Pointer to pointer to the bitmap data.
- */
-OSStatus copyBitmapDataToTexture(UInt32 textureNumber, UInt32 width, UInt32 height, bool canUseRectExtension, UInt16 format, UInt16 dataType, UInt32** bitmapData);
-
-/**
- * Creates an image buffer with 8-bit per channel RGBA pixel data.
- * @param width The width of the bitmap data.
- * @param width The height of the bitmap data.
- * @return A pointer to pointer to pixel data.
- */
-UInt32* createCheckPixels(UInt32 width, UInt32 height);
-
-/**
- * Prints a VisualString to log.
- * @param aVisualString The string that is to be printed.
- * @remarks The passed-in file type is set to pointer-to-void to avoid include of VisualString c++ class definition.
- */
-void logString(void* aVisualString);
-
-/**
- * Returns the name of the visualizer plug-in.
- * @return The name of the visualizer plug-in.
- */
-const char* getVisualPluginName(void);
-
-/**
- * Returns the show name of the visualizer plug-in as shown in visual menu of iTunes..
- * @return The show name of the visualizer plug-in as shown in visual menu of iTunes..
- */
-const char* getVisualPluginShowName(void);
-
-/**
- * Returns the identifier of the visualizer plug-in (as used on Mac OS X for preferences identification and as CFBundleIdentifier).
- * @return The identifier of the visualizer plug-in.
- */
-const char* getVisualPluginDomainIdentifier(void);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* VisualDispatch_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp b/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp
deleted file mode 100644
index d140762..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualEnsemble.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualEnsemble.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualEnsemble.h"
-#include "VisualNotification.h"
-#include "VisualErrorHandling.h"
-#include "VisualActorGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-VisualEnsemble::VisualEnsemble() {
-    visualActorIterIndex = 0;
-}
-
-
-VisualEnsemble::~VisualEnsemble() {
-
-	for (VisualEnsembleActorsIterator it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) {
-		delete *it;
-	}
-	visualEnsembleActors.clear();
-	
-	observerMap.clear();
-	
-}
-
-
-VisualEnsemble::VisualEnsemble(const VisualEnsemble& other) {
-	copy(other);
-}
-
-
-VisualEnsemble& VisualEnsemble::operator=(const VisualEnsemble& other) {
-	if (this != &other) {
-		for (VisualEnsembleActorsIterator it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) {
-			delete *it;
-		}
-		visualEnsembleActors.clear();
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualEnsemble::copy(const VisualEnsemble& other) {
-	this->visualActorIterIndex = other.visualActorIterIndex;
-	this->visualEnsembleActors = other.visualEnsembleActors;
-	this->observerMap = other.observerMap;
-}
-
-
-void VisualEnsemble::addEnsembleMember(VisualActor* aVisualActor) {
-	this->visualEnsembleActors.push_back(aVisualActor);
-}
-
-
-UInt8 VisualEnsemble::showEnsemble(const VisualPlayerState& visualPlayerState) {
-    UInt16 graphicErrorNum;
-    char graphicErrorString[256];
-	VisualEnsembleActorsIterator it;
-
-	for (it = this->visualEnsembleActors.begin(); it != this->visualEnsembleActors.end(); it++) {
-	
-        if ((*it)->getState() != kVisActNoShow) {
-		
-			VisualActorGraphics::resetModelViewMatrix();
-			
-            (*it)->prepareShow(visualPlayerState);
-            (*it)->show();
-            (*it)->finishShow();
-
-            graphicErrorNum = (*it)->getError(graphicErrorString);
-            if (graphicErrorNum != 0) {
-                const char* visualActorName;
-				char logStr[512];
-                visualActorName = (*it)->getName();
-				sprintf(logStr, "GL error: showEnsemble: detected after show of Actor: %s: %s", visualActorName, graphicErrorString);
-                writeLog(logStr);
-            }
-        }
-		
-	}
-	
-    return 0;
-}
-
-
-void VisualEnsemble::resetVisualActorIterIndex() {
-    this->visualActorIterIndex = 0;
-}
-
-
-VisualActor* VisualEnsemble::getNextVisualActor() {
-	if (this->visualActorIterIndex < this->visualEnsembleActors.size()) {
-		this->visualActorIterIndex++;
-		return this->visualEnsembleActors[this->visualActorIterIndex - 1];
-	} else {
-		return NULL;
-	}
-}
-
-
-void VisualEnsemble::dispatchNotification(const VisualNotification& aNotification) {
-	ObserverMapIterator it;
-	VisualNotificationKey aNotificationKey = aNotification.getKey();
-
-	it = this->observerMap.find(aNotificationKey);
-	if (it == this->observerMap.end()) return;
-	
-	for (it = this->observerMap.lower_bound(aNotificationKey); it != this->observerMap.upper_bound(aNotificationKey); it++) {
-		it->second->handleNotification(aNotification);
-	}
-}
-
-
-void VisualEnsemble::registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) {
-	this->observerMap.insert(std::make_pair(aNotificationKey, aVisualActor));
-}
-
-
-void VisualEnsemble::removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey) {
-	const char* firstName;
-	const char* secondName;
-	
-	firstName = aVisualActor->getName();
-
-	ObserverMapIterator it = this->observerMap.lower_bound(aNotificationKey);
-	while (it != this->observerMap.upper_bound(aNotificationKey)) {
-		secondName = it->second->getName();
-		if (strcmp(firstName, secondName) == 0) {
-			delete it->second;
-			this->observerMap.erase(it++); // increment iterator, then call erase with old iterator
-			// after erase, accessing iterator (for increment) is invalid
-		} else {
-			it++;
-		}
-	}
-}
-
-
-VisualActorState VisualEnsemble::getStateOfVisualActor(const char* const aVisualActorName) {
-	VisualActor* aVisualActor;
-	const char* anotherVisualActorName;
-    this->resetVisualActorIterIndex();
-    while ((aVisualActor = this->getNextVisualActor())){
-        anotherVisualActorName = aVisualActor->getName();
-        if (strcmp(anotherVisualActorName, aVisualActorName) == 0) {
-			return aVisualActor->getState();
-		}
-	}
-	return kVisActUndefinedState;
-}
-
-
-VisualActor* VisualEnsemble::getVisualActorByName(const char* const aVisualActorName) {
-	VisualActor* aVisualActor;
-	const char* anotherVisualActorName;
-    this->resetVisualActorIterIndex();
-    while ((aVisualActor = this->getNextVisualActor())){
-        anotherVisualActorName = aVisualActor->getName();
-        if (strcmp(anotherVisualActorName, aVisualActorName) == 0) {
-			return aVisualActor;
-		}
-	}
-	return NULL;
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualEnsemble.h b/src/projectM-iTunes-VizKit/source/VisualEnsemble.h
deleted file mode 100644
index ef89702..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualEnsemble.h
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualEnsemble.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualEnsemble_h
-#define VisualEnsemble_h
-
-#include "VisualActor.h"
-#include "VisualNotificationKey.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-#include <vector>
-#include <map>
-
-
-namespace VizKit {
-
-	/**
-	 * The group of all actors. Only the VisualStageControl creates its own VisualEnsemble and communicates with it.
-	 * The VisualEnsemble sends VisualNotifications to VisualActors that are registered as observers.
-	 */
-
-	class VisualEnsemble {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualEnsemble();
-
-		/**
-		 * The destructor.
-		 */
-		~VisualEnsemble();
-
-		/**
-		 * Copy constructor.
-		 */		
-		VisualEnsemble(const VisualEnsemble& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualEnsemble& operator=(const VisualEnsemble& other);
-
-		/**
-		 * Adds a VisualActor to the VisualEnsemble.
-		 * @param aVisualActor A pointer to a VisualActor.
-		 * @remarks VisualEnsemble stores the pointer to the VisualActor and deletes the memory when VisualEnsemble is destructed.
-		 */
-		void addEnsembleMember(VisualActor* aVisualActor);
-
-		/**
-		 * Shows the show of the ensemble.
-		 * The show method of all active actors is called.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 * @return 0 for no error. 1 if error occured.
-		 */
-		UInt8 showEnsemble(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Resets the index of the internal iterator.
-		 * The VisualEnsemble iterates over all actors. 
-		 * This functions reset the internal pointer to the first actor.
-		 */
-		void resetVisualActorIterIndex(void);
-
-		/**
-		 * Resets the index of the internal iterator.
-		 * The VisualEnsemble iterates over all actors. 
-		 * This functions reset the internal pointer to the first actor.
-		 * @return The next VisualActor. NULL if there is no next actor.
-		 */
-		VisualActor* getNextVisualActor(void);
-
-		/**
-		 * The VisualEnsemble receives notifications that are passed to the actors of the ensemble.
-		 * Notifications ensure loose connections between external processes and the VisualEnsemble.
-		 * External processes can package and send a notification to the VisualEnsemble.
-		 * The VisualEnsemble processes the notification and each registered actor receives the notification (message/package).
-		 * @param aNotification A notification object.
-		 */
-		void dispatchNotification(const VisualNotification& aNotification);
-
-		/**
-		 * Any actor can register for an event.
-		 * Each registered actor (observer) receives a notification of the requested kind.
-		 * @param aVisualActor A visual actor.
-		 * @param aNotificationKey An enum that denotes a notification.
-		 */
-		void registerObserverForNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey);
-
-		/**
-		 * Any actor that can register for an event can also be removed from the list of observers.
-		 * @param aVisualActor A visual actor.
-		 * @param aNotificationKey An enum that denotes a notification.
-		 */
-		void removeObserverOfNotification(VisualActor* aVisualActor, const VisualNotificationKey aNotificationKey);
-
-		/**
-		 * Returns the state of the actor expressed as visualActorState.
-		 * @param aVisualActorName The name of the visual actor.
-		 * @return The state of the actor expressed as visualActorState.
-		 */
-		VisualActorState getStateOfVisualActor(const char* const aVisualActorName);
-
-		/**
-		 * Returns a pointer to a VisualActor whose name is aVisualActorName.
-		 * @param aVisualActorName The name of the visual actor.
-		 * @return A pointer to a VisualActor whose name is aVisualActorName.
-		 */	
-		VisualActor* getVisualActorByName(const char* const aVisualActorName);
-
-	private:
-		
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualEnsemble.
-		 */
-		void copy(const VisualEnsemble& other);
-		
-		/** Current index of internal iterator. */
-		UInt16 visualActorIterIndex;
-		
-		/** VisualEnsembleActors are collected as a vector of pointers to VisualActors. */
-		typedef std::vector<VisualActor*> VisualEnsembleActors;
-		
-		/** Vector of all actors of the ensemble. */
-		VisualEnsembleActors visualEnsembleActors;
-		
-		/** The VisualEnsembleActorsIterator is an iterator of the VisualEnsembleActors. */
-		typedef VisualEnsembleActors::iterator VisualEnsembleActorsIterator;
-		
-		/** The ObserverMap is a multimap of events/notifications and actors. */
-		typedef std::multimap<VisualNotificationKey, VisualActor*> ObserverMap;
-		
-		/** Multimap of all actors of the ensemble that are registered as observers. */
-		ObserverMap observerMap;
-		
-		/** The ObserverMapIterator is an iterator of the ObserverMap. */
-		typedef ObserverMap::iterator ObserverMapIterator;
-		
-	};
-
-}
-
-#endif /* VisualEnsemble_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualFile.cpp b/src/projectM-iTunes-VizKit/source/VisualFile.cpp
deleted file mode 100644
index ecd5c6f..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualFile.cpp
+++ /dev/null
@@ -1,658 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualFile.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. hand
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualFile.h"
-#include "VisualString.h"
-#include "VisualErrorHandling.h"
-#include "VisualConfiguration.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/Folders.h>
-#endif
-
-#if TARGET_OS_WIN
-#include "MacErrors.h" // eofErr
-#include <shlobj.h> // SHGetFolderPath
-//#include <io.h> // _access
-#include <QT/TextUtils.h> // CopyCStringToPascal()
-#endif
-
-
-using namespace VizKit;
-
-
-VisualFile::VisualFile() {
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = false;
-	isDirectory = false;
-#if TARGET_OS_MAC
-	currForkRefNum = 0;
-#endif
-#if TARGET_OS_WIN
-	filePathWin[0] = L'\0';
-	currHandle = NULL;
-#endif
-}
-
-
-VisualFile::~VisualFile() {
-	this->clear();
-}
-
-
-VisualFile::VisualFile(const VisualFile& other) {
-	copy(other);
-}
-
-
-VisualFile& VisualFile::operator=(const VisualFile& other) {
-	this->clear();
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-OSStatus VisualFile::initWithDirectoryOfTemporaryItems() {
-	OSStatus osStatus = noErr;
-
-	this->clear();
-	
-#if TARGET_OS_MAC
-	OSErr osErr = noErr;
-	osErr = FSFindFolder(kUserDomain, kTemporaryFolderType, kCreateFolder, &(this->fsRef)); // ~/Library/Caches/TemporaryItems/
-	if (osErr != noErr) {
-		return static_cast<OSStatus>(osErr);
-	}
-#endif
-
-#if TARGET_OS_WIN
-	BOOL createFolderIfNotAlreadyThere = true;
-	HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)filePathWin, CSIDL_INTERNET_CACHE, createFolderIfNotAlreadyThere);
-#endif
-
-	isDirectory = true;
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-
-	return osStatus;
-}
-
-
-OSStatus VisualFile::initWithUserDesktopDirectory() {
-	OSStatus osStatus = noErr;
-	
-	this->clear();
-
-#if TARGET_OS_MAC
-	OSErr osErr = noErr;
-	osErr = FSFindFolder(kUserDomain, kDesktopFolderType, kCreateFolder, &(this->fsRef));
-	if (osErr != noErr) {
-		return static_cast<OSStatus>(osErr);
-	}
-#endif
-
-#if TARGET_OS_WIN
-	BOOL createFolderIfNotAlreadyThere = true;
-	HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)this->filePathWin, CSIDL_DESKTOPDIRECTORY, createFolderIfNotAlreadyThere);
-#endif
-
-	isDirectory = true;
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-
-	return osStatus;
-}
-
-
-OSStatus VisualFile::initWithPreferenceStoreDirectory() {
-	OSStatus osStatus = noErr;
-	
-	this->clear();
-
-#if TARGET_OS_MAC
-	OSErr osErr = noErr;
-	osErr = FSFindFolder(kUserDomain, kPreferencesFolderType, kCreateFolder, &(this->fsRef));
-	if (osErr != noErr) {
-		return static_cast<OSStatus>(osErr);
-	}
-#endif
-
-#if TARGET_OS_WIN
-	BOOL createFolderIfNotAlreadyThere = true;
-	HRESULT hr = SHGetSpecialFolderPathW(NULL, (LPWSTR)this->filePathWin, CSIDL_APPDATA, createFolderIfNotAlreadyThere);
-#endif
-
-	isDirectory = true;
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-
-	return osStatus;
-}
-
-
-#if TARGET_OS_MAC
-OSStatus VisualFile::initWithResourcesDirectory() {
-	OSStatus osStatus = noErr;
-	
-	this->clear();
-
-	CFStringRef pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingWindowsLatin1);
-	CFBundleRef bundleRef = CFBundleGetBundleWithIdentifier(pluginName);
-	if (!bundleRef) {
-		return (OSStatus)1001;
-	}
-	CFURLRef resourcesDirectoryUrlRef = CFBundleCopyResourcesDirectoryURL(bundleRef);
-	if (!resourcesDirectoryUrlRef) {
-		return (OSStatus)1002;
-	}
-
-	FSRef newFsRef;
-	Boolean success = CFURLGetFSRef(resourcesDirectoryUrlRef, &newFsRef);
-	if (!success) {
-		CFRelease(resourcesDirectoryUrlRef);
-		return (OSStatus)1003;
-	} else {
-		this->fsRef = newFsRef;
-	}
-	
-	CFRelease(resourcesDirectoryUrlRef);
-
-	isDirectory = true;
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-
-	return osStatus;
-}
-#endif
-
-
-OSStatus VisualFile::appendFileName(VisualString& aFileName) {
-	OSStatus osStatus = noErr;
-
-#if TARGET_OS_MAC
-	Boolean isDir = false;
-	CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &(this->fsRef));
-	CFURLRef urlWithFileName = CFURLCreateCopyAppendingPathComponent(kCFAllocatorDefault, url, aFileName.getCharactersPointer(), isDir);
-	CFRelease(url);
-	FSRef newFsRef;
-	Boolean success = CFURLGetFSRef(urlWithFileName, &newFsRef);
-	if (!success) {
-		// FSRef can only be set for existing files or directories
-				
-		CFIndex fileNameLength = CFStringGetLength(aFileName.getCharactersPointer());
-		const UniChar* fileNameConstChars = CFStringGetCharactersPtr(aFileName.getCharactersPointer());
-		UniChar* fileNameChars = NULL;
-		if (fileNameConstChars == NULL) {
-			fileNameChars = (UniChar*)malloc(fileNameLength * sizeof(UniChar));
-			CFStringGetCharacters(aFileName.getCharactersPointer(), CFRangeMake(0, fileNameLength), fileNameChars);
-		}
-
-		FSCatalogInfoBitmap whichInfo = (FSCatalogInfoBitmap)NULL;
-		const FSCatalogInfo* catalogInfo = NULL;
-		FSSpec newSpec;
-		OSErr osErr = noErr;
-		
-		FSRef prevFsRef = this->fsRef;
-		if (fileNameConstChars == NULL) {
-			osErr = FSCreateFileUnicode(&prevFsRef, fileNameLength, fileNameChars, whichInfo, catalogInfo, &(this->fsRef), &newSpec);
-		} else {
-			osErr = FSCreateFileUnicode(&prevFsRef, fileNameLength, fileNameConstChars, whichInfo, catalogInfo, &(this->fsRef), &newSpec);
-		}
-		if (osErr != noErr) {
-			osStatus = 1000;
-		}
-
-		if (fileNameChars != NULL) {
-			free(fileNameChars);
-			fileNameChars = NULL;
-		}
-
-	} else {
-		this->fsRef = newFsRef;
-	}
-	
-	CFRelease(urlWithFileName);
-	
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-
-#endif
-
-#if TARGET_OS_WIN
-	wchar_t backslash[2];
-	backslash[0] = 0x5c;
-	backslash[1] = L'\0';
-	wcscat(this->filePathWin, backslash);
-	wcscat(this->filePathWin, aFileName.getCharactersPointer());
-	knownWhetherFileOrDirectoryExists = false;
-	doesExistBool = false;
-#endif
-
-	isDirectory = false;
-
-	return osStatus;
-
-}
-
-
-OSStatus VisualFile::open() {
-	OSErr osErr = noErr;
-#if TARGET_OS_MAC
-	osErr = FSOpenFork(&(this->fsRef), 0, NULL, fsWrDenyPerm, &(this->currForkRefNum));
-#endif
-#if TARGET_OS_WIN
-	DWORD dwDesiredAccess = GENERIC_READ;
-	DWORD dwShareMode = FILE_SHARE_READ;
-	LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
-	DWORD dwCreationDisposition = OPEN_ALWAYS; // open the file if it exists, else create new one
-	DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
-	HANDLE hTemplateFile = NULL;
-	this->currHandle = CreateFileW((LPCWSTR)this->filePathWin, 
-									dwDesiredAccess, 
-									dwShareMode, 
-									lpSecurityAttributes,
-									dwCreationDisposition,
-									dwFlagsAndAttributes,
-									hTemplateFile);
-	if (this->currHandle == INVALID_HANDLE_VALUE) {
-		osErr = 1001;
-	}
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = true;
-#endif
-	return (OSStatus)osErr;
-}
-
-
-OSStatus VisualFile::close() {
-	OSErr osErr = noErr;
-#if TARGET_OS_MAC
-	osErr = FSCloseFork(this->currForkRefNum);
-	this->currForkRefNum = 0;
-	return (OSStatus)osErr;
-#endif
-#if TARGET_OS_WIN
-	BOOL success = CloseHandle(this->currHandle);
-	if (!success) {
-		osErr = 1001;
-	}
-#endif
-	return (OSStatus)osErr;
-}
-
-
-OSStatus VisualFile::getData(void** data, UInt32& size) {
-	OSStatus status = noErr;
-
-	bool debug = false;
-	char logStr[2048];
-		
-	status = this->open();
-	if (debug == true) {
-		writeLog("aFile.open()");
-	}
-	if (status != noErr) {
-		return status;
-	}
-	
-	bool readOn = true;
-	UInt32 actualCount = 0;
-	UInt32 requestCount = 4096;
-	UInt32 offset = 0;
-	UInt32 maxNumberOfBufferFills = (size / requestCount) + 1;
-	UInt16 bufferFillCount = 0;
-	UInt32 numberOfBytesRead = 0;
-	char* buffer = (char*)malloc(requestCount * maxNumberOfBufferFills);
-	char* bufferStart = buffer;
-	while (readOn == true) {
-		actualCount = requestCount;
-		status = this->readData(buffer, actualCount, offset);
-		bufferFillCount++;
-		if (status != noErr) {
-			readOn = false;
-			if (status == eofErr) {
-				if (debug == true) {
-					writeLog("OK: readData: eofErr");
-				}
-			} else {
-				sprintf(logStr, "ERR: readData: %ld", status);
-				writeLog(logStr);
-				status = 1007;
-			}
-		} else {
-			offset += actualCount;
-			buffer = buffer + actualCount;
-			if (debug == true) {
-				sprintf(logStr, "OK: readData (cnt: %d, totalBytes: %ld, req: %ld, read: %ld)", bufferFillCount, numberOfBytesRead, requestCount, actualCount);
-				writeLog(logStr);
-				
-			}
-		}
-		numberOfBytesRead += actualCount;
-		if (debug == true) {
-			printf("----------------------\n");
-			printf("BUFFER:\n%s\n", bufferStart);
-			printf("----------------------\n");
-		}
-	}
-	
-	status = this->close();
-	if (debug == true) {
-		writeLog("aFile.close()");
-	}
-	if (status != noErr) {
-		return status;
-	}
-	
-	*data = (void*)bufferStart;
-	size = numberOfBytesRead;
-
-	return status;
-
-}
-
-
-OSStatus VisualFile::readData(char* buffer, UInt32& numberOfbytes, UInt32 startOffset) {
-	OSErr osErr = noErr;
-#if TARGET_OS_MAC
-	UInt32 numberOfbytesRequested = numberOfbytes;
-	osErr = FSReadFork(this->currForkRefNum, fsFromStart, startOffset, numberOfbytesRequested, buffer, &numberOfbytes);
-#endif
-#if TARGET_OS_WIN
-	DWORD nNumberOfBytesToRead = numberOfbytes;
-	LPOVERLAPPED lpOverlapped = NULL;
-	BOOL success = ReadFile(this->currHandle, buffer, nNumberOfBytesToRead, &numberOfbytes, lpOverlapped);
-	if (numberOfbytes == 0) osErr = eofErr;
-	if (!success) {
-		osErr = 1001;
-	}
-#endif
-	return (OSStatus)osErr;
-}
-
-
-OSStatus VisualFile::remove() {
-	OSErr osErr = noErr;
-#if TARGET_OS_MAC
-	osErr = FSDeleteObject(&(this->fsRef));
-#endif
-#if TARGET_OS_WIN
-	return (OSStatus)osErr;
-#endif
-	knownWhetherFileOrDirectoryExists = true;
-	doesExistBool = false;
-	return (OSStatus)osErr;
-}
-
-
-bool VisualFile::doesExist(void) {
-#if TARGET_OS_WIN
-	if (this->knownWhetherFileOrDirectoryExists == false) {
-		this->doesExistBool = 
-		this->knownWhetherFileOrDirectoryExists = true;
-	}
-#endif
-	return this->doesExistBool;
-}
-
-
-void VisualFile::getFilePath(VisualString& filePath) const {
-#if TARGET_OS_MAC
-	CFURLRef url = CFURLCreateFromFSRef(kCFAllocatorDefault, &(this->fsRef));
-	CFStringRef cfString = NULL;
-	if (url != NULL) {
-		cfString = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle);
-		CFRelease(url);
-	}
-	if (cfString != NULL) {
-		filePath = VisualString(cfString);
-		CFRelease(cfString);
-	}
-#endif
-#if TARGET_OS_WIN
-	if (wcslen(filePathWin) > 0) {
-		filePath = VisualString(this->filePathWin);
-	}
-#endif
-}
-
-
-OSStatus VisualFile::getSize(UInt32& size) {
-	OSErr osErr = noErr;
-#if TARGET_OS_MAC
-	FSCatalogInfo info;
-	osErr = FSGetCatalogInfo(&(this->fsRef), kFSCatInfoDataSizes, &info, NULL, NULL, NULL);
-	size = (UInt32)(info.dataLogicalSize);
-#endif
-#if TARGET_OS_WIN
-	DWORD dwDesiredAccess = GENERIC_READ;
-	DWORD dwShareMode = FILE_SHARE_READ;
-	LPSECURITY_ATTRIBUTES lpSecurityAttributes = NULL;
-	DWORD dwCreationDisposition = OPEN_ALWAYS; // open the file if it exists, else create new one
-	DWORD dwFlagsAndAttributes = FILE_ATTRIBUTE_NORMAL;
-	HANDLE hTemplateFile = NULL;
-	HANDLE fileHandle = CreateFileW((LPCWSTR)this->filePathWin, 
-									dwDesiredAccess, 
-									dwShareMode, 
-									lpSecurityAttributes,
-									dwCreationDisposition,
-									dwFlagsAndAttributes,
-									hTemplateFile);
-	if (fileHandle == INVALID_HANDLE_VALUE) {
-		osErr = 1001;
-	}
-	LARGE_INTEGER sizeUInt64;
-	BOOL success = GetFileSizeEx(fileHandle, &sizeUInt64);
-	CloseHandle(fileHandle);
-	size = (UInt32)sizeUInt64.QuadPart;
-#endif
-
-
-	return (OSStatus)osErr;
-}
-
-
-VisualFile* VisualFile::createWithDirectoryOfTemporaryItems() {
-	VisualFile* aVisualFile = new VisualFile;
-	OSStatus status = aVisualFile->initWithDirectoryOfTemporaryItems();
-	if (status != noErr) {
-		delete aVisualFile;
-		aVisualFile = NULL;
-	}
-	return aVisualFile;
-}
-
-
-VisualFile* VisualFile::createWithUserDesktopDirectory() {
-	VisualFile* aVisualFile = new VisualFile;
-	OSStatus status = aVisualFile->initWithUserDesktopDirectory();
-	if (status != noErr) {
-		delete aVisualFile;
-		aVisualFile = NULL;
-	}
-	return aVisualFile;
-}
-
-
-VisualFile* VisualFile::createWithPreferenceStoreDirectory() {
-	VisualFile* aVisualFile = new VisualFile;
-	OSStatus status = aVisualFile->initWithPreferenceStoreDirectory();
-	if (status != noErr) {
-		delete aVisualFile;
-		aVisualFile = NULL;
-	}
-	return aVisualFile;
-}
-
-
-#if TARGET_OS_MAC
-VisualFile* VisualFile::createWithResourcesDirectory() {
-	VisualFile* aVisualFile = new VisualFile;
-	OSStatus status = aVisualFile->initWithResourcesDirectory();
-	if (status != noErr) {
-		delete aVisualFile;
-		aVisualFile = NULL;
-	}
-	return aVisualFile;
-}
-#endif
-
-
-void VisualFile::copy(const VisualFile& other) {
-	this->doesExistBool = other.doesExistBool;
-	this->knownWhetherFileOrDirectoryExists = other.knownWhetherFileOrDirectoryExists;
-	this->isDirectory = other.isDirectory;
-#if TARGET_OS_MAC
-	this->fsRef = other.fsRef;
-	this->currForkRefNum = other.currForkRefNum;
-#endif
-#if TARGET_OS_WIN
-	this->currHandle = other.currHandle;
-#endif
-#if TARGET_OS_WIN
-	wcscpy(this->filePathWin, other.filePathWin);
-#endif
-}
-
-
-void VisualFile::clear() {
-#if TARGET_OS_MAC
-	this->currForkRefNum = 0;
-#endif
-#if TARGET_OS_WIN
-	this->currHandle = NULL;
-#endif
-	this->knownWhetherFileOrDirectoryExists = true;
-	this->doesExistBool = false;
-	this->isDirectory = false;
-}
-
-
-OSStatus VisualFile::setFSSpecByFileRef(const VisualFile& aFile, FSSpec& fsSpec) {
-
-	OSStatus osStatus = noErr;
-	OSErr osErr = noErr;
-	char errLog[256];
-
-	VisualString filePathString;
-	aFile.getFilePath(filePathString);
-	const char* const filePathCString = filePathString.getUtf8Representation();
-	
-#if TARGET_OS_MAC
-	FSRef fsRef;
-	
-	osStatus = FSPathMakeRef((UInt8*)filePathCString, &fsRef, false);
-	if (osStatus != noErr) {
-		sprintf(errLog, "err (%ld) in file: %s (line: %d) [%s])", osStatus, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-	}
-	if (osStatus == noErr) {
-		osErr = FSGetCatalogInfo(&fsRef, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL);
-		if (osErr != noErr) {
-			sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", osErr, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-			osStatus = static_cast<OSStatus>(osErr);
-		}
-	}
-#endif
-
-#if TARGET_OS_WIN
-	if (strlen(filePathCString) > 255) {
-		return static_cast<OSStatus>(1001);
-	}
-	Str255 filePathPascal;
-	CopyCStringToPascal(filePathCString, filePathPascal);
-	osErr = FSMakeFSSpec(0, 0, filePathPascal, &fsSpec);
-	if (osErr != noErr) {
-		sprintf(errLog, "err (%d) in file: %s (line: %d) [%s])", osErr, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		osStatus = static_cast<OSStatus>(osErr);
-	}
-#endif
-
-	return osStatus;
-}
-
-
-#if TARGET_OS_WIN
-OSStatus VisualFile::getDataOfResource(int nameId, char* type, void** data, UInt32& size) {
-
-	OSStatus osStatus = noErr;
-
-	HRSRC resInfoHandle;
-	HGLOBAL resHandle;
-	HMODULE plugInHandle;
-	char pluginFileName[256];
-	
-	sprintf(pluginFileName, "%s.dll", VisualConfiguration::kVisualPluginName);
-	plugInHandle = GetModuleHandle(pluginFileName);
-	if (plugInHandle == NULL) {
-		writeLog("pluginHandle is NULL");
-	}
-	resInfoHandle = FindResource(plugInHandle, MAKEINTRESOURCE(nameId), type);
-	if (resInfoHandle == NULL) {
-		writeLog("resInfoHandle is NULL");
-	}
-	resHandle = LoadResource(plugInHandle, resInfoHandle);
-	*data = LockResource(resHandle);
-	size = SizeofResource(plugInHandle, resInfoHandle);
-
-	return osStatus;
-}
-#endif
-
-
-OSStatus VisualFile::writeDataToFile(void** data, UInt32 size, VisualFile& aFile) {
-	OSStatus osStatus = noErr;
-	VisualString filePathString;
-	aFile.getFilePath(filePathString);
-	const char* const filePathCString = filePathString.getUtf8Representation();
-#if TARGET_OS_WIN
-	FILE* file;
-	fopen_s(&file, filePathCString, "w+b");
-	int bytesWritten = 0;
-	bytesWritten = fwrite(*data, sizeof(char), size, file);
-	fclose(file);
-#endif
-#if TARGET_OS_MAC
-	FILE* file = fopen(filePathCString, "w+b");
-	size_t bytesWritten = 0;
-	bytesWritten = fwrite(*data, sizeof(char), size, file);
-	fclose(file);
-#endif
-	return osStatus;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualFile.h b/src/projectM-iTunes-VizKit/source/VisualFile.h
deleted file mode 100644
index bb42bdd..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualFile.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualFile.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualFile_h
-#define VisualFile_h
-
-#include "VisualString.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/Files.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <QT/files.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Path information of file or directory and related operations.
-	 */
-	class VisualFile {
-	
-	public:
-
-		/**
-		 * The constructor. 
-		 */
-		VisualFile();
-
-		/**
-		 * The destructor.
-		 */
-		~VisualFile();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualFile.
-		 */
-		VisualFile(const VisualFile& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualFile.
-		 */
-		VisualFile& operator=(const VisualFile& other);
-
-		/**
-		 * Initializes the file with the directory of temporary items.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus initWithDirectoryOfTemporaryItems(void);
-
-		/**
-		 * Initializes the file with the destop directory of the current user.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus initWithUserDesktopDirectory(void);
-
-		/**
-		 * Initializes the file with the directory into which the preferences are stored.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus initWithPreferenceStoreDirectory(void);
-
-#if TARGET_OS_MAC
-		/**
-		 * Initializes the file with the directory where the resources are stored.\ Mac-only.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus initWithResourcesDirectory(void);
-#endif
-
-		/**
-		 * Appends a file name to the VisualFile.
-		 * @param aFileName A file name.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus appendFileName(VisualString& aFileName);
-
-		/**
-		 * Opens the file for write access.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus open(void);
-
-		/**
-		 * Closes the file.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks The file must have been opened first.
-		 */
-		OSStatus close(void);
-
-		/**
-		 * Reads data from the file.
-		 * @param[in,out] buffer The buffer into which the data is to be written.
-		 * @param[in,out] numberOfbytes The number of bytes requested.\ The actual number of bytes written on return.
-		 * @param startOffset The offset from where reading is supposed to begin.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks The buffer memory has to be allocated on the caller's side.
-		 */
-		OSStatus readData(char* buffer, UInt32& numberOfbytes, UInt32 startOffset = 0);
-
-		/**
-		 * Returns the data of the file.
-		 * @param[out] data A pointer to a pointer to the data of the file.
-		 * @param[in,out] size The requested size of the data memory block in bytes.\ On return the actual size of the read data in bytes.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks The memory has to be deallocated on the caller's side by calling free on the returned buffer.
-		 */
-		OSStatus getData(void** data, UInt32& size);
-		
-		/**
-		 * Deletes the file.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks Named remove instead of delete only because delete is a keyword for c++.
-		 */
-		OSStatus remove(void);
-
-		/**
-		 * Answers the question whether a file or directory at the location of the VisualFile exists.
-		 * @return True if a file or directory at the location of the VisualFile exists.
-		 */
-		bool doesExist(void);
-
-		/**
-		 * Returns the file path as VisualString.
-		 * @param[out] filePath The file path as VisualString.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		void getFilePath(VisualString& filePath) const;
-		
-		/**
-		 * Returns the logical size of the file in bytes.
-		 * @param[out] size The logical size of the file in bytes.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus getSize(UInt32& size);
-
-		/**
-		 * Creates a file with the directory of temporary items.
-		 * @return Created instance of VisualFile.
-		 * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer.
-		 */
-		static VisualFile* createWithDirectoryOfTemporaryItems(void);
-
-		/**
-		 * Creates a file with the destop directory of the current user.
-		 * @return Created instance of VisualFile.
-		 * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer.
-		 */
-		static VisualFile* createWithUserDesktopDirectory(void);
-
-		/**
-		 * Creates a file with the directory into which the preferences are stored.
-		 * @return Created instance of VisualFile.
-		 * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer.
-		 */
-		static VisualFile* createWithPreferenceStoreDirectory(void);
-
-#if TARGET_OS_MAC
-		/**
-		 * Creates a file with the directory where the resources are stored.
-		 * @return Created instance of VisualFile.
-		 * @remarks The caller has to release the allocated memory by calling delete() on the returned VisualFile pointer.\ Mac-only.
-		 */
-		static VisualFile* createWithResourcesDirectory(void);
-#endif
-
-#if TARGET_OS_WIN
-		/**
-		 * Returns a pointer to the data of a resource.
-		 * @param nameId The integer id of the name of the resource.
-		 * @param type The type of the resource as c-string.
-		 * @param[out] data Pointer to pointer of the data.
-		 * @param[out] size The size of the data memory block in bytes.
-		 * @remarks Windows-only.\ On the Mac resources are stores are regular files in Resurces directory of bundle.
-		 */
-		static OSStatus getDataOfResource(int nameId, char* type, void** data, UInt32& size);
-#endif
-
-		/**
-		 * Utility function to set an FSSpec by passing in a file path.
-		 * @param aFile Reference to a file.
-		 * @param[out] fsSpec The FSSpec of the file path.
-		 * @return Error state as SInt32 OSStatus.
-		 * @remarks Data type FSSpec is deprecated but used by QuickTime function calls.
-		 */
-		static OSStatus setFSSpecByFileRef(const VisualFile& aFile, FSSpec& fsSpec);
-
-		/**
-		 * Writes the passed in data bytes into a file.
-		 * @param data A pointer to a pointer to the data to write into file.
-		 * @param size The number of bytes of the data.
-		 * @param aFile The file into which to write the data.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		static OSStatus writeDataToFile(void** data, UInt32 size, VisualFile& aFile);
-
-	private:
-
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualImage.
-		 */
-		void copy(const VisualFile& other);
-		
-		/** Resets internally used variables and releases allocated memory. */
-		void clear(void);
-
-#if TARGET_OS_MAC
-		/** The FSRef of the VisualFile. */
-		FSRef fsRef;
-		/** Current forkRefNum used for reading and closing operations. */
-		SInt16 currForkRefNum;
-#endif
-
-#if TARGET_OS_WIN
-		/** The file path information of the VisualFile. */
-		wchar_t filePathWin[1024];
-		/** Current file handle used for reading and closing operations. */
-		HANDLE currHandle;
-#endif
-
-		/** True if VisualFile denotes a directory.\ False if VisualFile denotes a file. */
-		bool isDirectory;
-
-		/** True if it is known whethere a file or directory at the location of the VisualFile exists.\ False if not known. */
-		bool knownWhetherFileOrDirectoryExists;
-
-		/** True if a file or directory at the location of the VisualFile exists.\ False if not. */
-		bool doesExistBool;
-
-	};
-
-}
-
-#endif /* VisualImage_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp
deleted file mode 100644
index 91da5d0..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphicTypes.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualGraphicTypes.h"
-
-#if TARGET_OS_MAC
-#include <OpenGL/gl.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <windows.h>
-#include <GL/gl.h>
-#include <GL/glu.h>
-#include "win/wglext.h"
-#include "win/glext.h"
-#endif
-
-
-
-using namespace VizKit;
-
-
-const int VizKit::kGL_POINTS = GL_POINTS;
-const int VizKit::kGL_LINES = GL_LINES;
-const int VizKit::kGL_LINE_STRIP = GL_LINE_STRIP;
-const int VizKit::kGL_LINE_LOOP = GL_LINE_LOOP;
-const int VizKit::kGL_TRIANGLES = GL_TRIANGLES;
-const int VizKit::kGL_TRIANGLE_STRIP = GL_TRIANGLE_STRIP;
-const int VizKit::kGL_TRIANGLE_FAN = GL_TRIANGLE_FAN;
-const int VizKit::kGL_QUADS = GL_QUADS;
-const int VizKit::kGL_QUAD_STRIP = GL_QUAD_STRIP;
-const int VizKit::kGL_POLYGON = GL_POLYGON;
-
-const int VizKit::kGL_RGBA = GL_RGBA;
-const int VizKit::kGL_BGRA = GL_BGRA_EXT;
-const int VizKit::kGL_RGB = GL_RGB;
-const int VizKit::kGL_LUMINANCE = GL_LUMINANCE;
-const int VizKit::kGL_LUMINANCE_WITH_ALPHA = GL_LUMINANCE_ALPHA;
-const int VizKit::kGL_INTENSITY = GL_INTENSITY;
-
-const int VizKit::kGL_UNSIGNED_BYTE = GL_UNSIGNED_BYTE;
-const int VizKit::kGL_FLOAT = GL_FLOAT;
-const int VizKit::kGL_UNSIGNED_INT_8_8_8_8_REV = GL_UNSIGNED_INT_8_8_8_8_REV;
-const int VizKit::kGL_UNSIGNED_INT_8_8_8_8 = GL_UNSIGNED_INT_8_8_8_8;
-
-const int VizKit::kGL_FRONT_COLOR_BUFFER = GL_FRONT;
-const int VizKit::kGL_BACK_COLOR_BUFFER = GL_BACK;
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h b/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h
deleted file mode 100644
index acd40de..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphicTypes.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphicTypes.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualGraphicTypes_h
-#define VisualGraphicTypes_h
-
-#include <vector>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-/* The common graphics related types used by VisualGraphics and VisualActorGraphics. */
-
-namespace VizKit {
-
-	/**
-	 * A pixel contains ARGB values (alpha, red, green, blue with 8 bits for each color).
-	 */
-	typedef UInt32 Pixel;
-
-	/**
-	 * A coordPoint is a point relative to logical coordinate system.
-	 */
-	typedef struct {
-		double x; /**< Horizontal position. */
-		double y; /**< Vertical position. */
-	} CoordPoint;
-
-	/**
-	 * A pixelPoint is a point relative to physical coordinate system.
-	 */
-	typedef struct {
-		double x; /**< Horizontal position. */
-		double y; /**< Vertical position. */
-	} PixelPoint;
-
-	/**
-	 * A size relative to logical coordinate system.
-	 */
-	typedef struct {
-		double width; /**< Horizontal size. */
-		double height; /**< Vertical size. */
-		double depth; /**< Size in z-dimension. */
-	} CoordSize;
-
-	/**
-	 * A size relative to physical coordinate system.
-	 */
-	typedef struct {
-		double width; /**< Horizontal size. */
-		double height; /**< Vertical size. */
-		double depth; /**< Size in z-dimension. */
-	} PixelSize;
-
-	/**
-	 * A rectangle.
-	 */
-	typedef struct {
-		PixelSize pixelSize; /**< The size of the rectangle in pixels. */
-		CoordSize coordSize; /**< The size of the rectangle in coord dimensions. */
-	} Rect;
-
-	/**
-	 * A positioned rectangle.
-	 */
-	typedef struct {
-		PixelSize pixelSize; /**< The size of the rectangle in pixels. */
-		CoordSize coordSize; /**< The size of the rectangle in coord dimensions. */
-		PixelPoint pixelPoint; /**< A point measured in pixel. */
-		CoordPoint coordPoint; /**< A point measured in coords. */
-	} PositionedRect;
-
-	/**
-	 * ScalingAttributes specify the scaling behaviour of the texture in combination with margins.
-	 */
-	typedef enum {
-		kNoScaling = 0x1, // 00000001
-		kScalingAllowed = 0x2, // 00000010
-		kPreserveAspectRatio = 0x6, // 00000110
-		kNonproportional = 0xA, // 00001010
-		kClippingAllowed = 0x10 // 00010000
-	} ScalingBehaviour;	
-	
-	/**
-	 * Visibility specifies the visibility.\ Two states are possible: visible and invisible.
-	 */
-	typedef enum {
-		kVisible = 0,
-		kInvisible
-	} Visibility;
-
-	/**
-	 * Symbolic names for arbitrary positions in 3-dimensional space.
-	 */
-	typedef enum {
-		kTopLeft = 0,
-		kBottomLeft,
-		kBottomRight,
-		kTopRight		
-	} SpacePosition;
-
-	/**
-	 * Stores the values of a composite color of red, green, blue and alpha.
-	 */
-	typedef struct {
-		float r; /**< Red value. 0.0f .. 1.0f. */
-		float g; /**< Green value. 0.0f .. 1.0f. */
-		float b; /**< Blue value. 0.0f .. 1.0f. */
-		float a; /**< Alpha value. 0.0f .. 1.0f. */
-	} RGBAColor;
-
-	/**
-	 * Stores the color values used by a vertex.
-	 */
-	typedef RGBAColor VertexColor;
-		
-	/**
-	 * Stores the coord position values used by a vertex.
-	 */
-	typedef struct {
-		double xPos; /**< X-Position of vertex. */
-		double yPos; /**< Y-Position of vertex. */
-		double zPos; /**< Z-Position of vertex. */
-	} VertexPosition;
-
-	/** Chain of vertex positions. */
-	typedef std::vector<VertexPosition*> VertexPositionChain;
-	/** Pointer to chain of vertex positions. */
-	typedef VertexPositionChain* VertexPositionChainRef;
-	/** Constant chain of vertex positions. */
-	typedef const VertexPositionChain ConstVertexPositionChain;
-	/** Pointer to constant chain of vertex positions. */
-	typedef const VertexPositionChainRef ConstVertexPositionChainRef;
-
-	/** Iterator of chain of vertex positions. */
-	typedef VertexPositionChain::iterator VertexPositionChainIterator;
-	/** Iterator of constant chain of vertex positions. */
-	typedef ConstVertexPositionChain::iterator ConstVertexPositionChainIterator;
-	/** Constant iterator of chain of vertex positions. */
-	typedef VertexPositionChain::const_iterator VertexPositionChainConstIterator;
-	/** Constant iterator of constant chain of vertex positions. */
-	typedef ConstVertexPositionChain::const_iterator ConstVertexPositionChainConstIterator;
-
-	/**
-	 * Stores the s and t coordinate values of texture positions. 
-	 * Texture coordinates are referred to as s-, t-, r-, and q-coordinates to distinguish
-	 * them from object coordinates (x, y, z, and w) and from elevator coordinates (u and v).
-	 */
-	typedef struct {
-		double sPos; /**< Horizontal position of texture. */
-		double tPos; /**< Vertical position of texture. */
-	} TexCoordPosition;
-
-	/**
-	 * A definition of a vertex contains color information and coord position.
-	 * Texture position belongs to vertex data, too.
-	 */
-	typedef struct {
-		VertexColor vertexColor; /**< The color of the vertex. */
-		VertexPosition vertexPosition; /**< The coord position of the vertex. */
-		TexCoordPosition texCoordPosition; /**< Texture position at the vertex. */
-	} Vertex;
-
-	/** Chain of vertices. */
-	typedef std::vector<Vertex*> VertexChain;
-	/** Pointer to chain of vertices. */
-	typedef VertexChain* VertexChainRef;
-	/** Constant chain of vertices. */
-	typedef const VertexChain ConstVertexChain;
-	/** Pointer to constant chain of vertices. */
-	typedef const VertexChainRef ConstVertexChainRef;
-
-	/** Iterator of chain of vertices. */
-	typedef VertexChain::iterator VertexChainIterator;
-	/** Iterator of constant chain of vertices. */
-	typedef ConstVertexChain::iterator ConstVertexChainIterator;
-	/** Constant iterator of chain of vertices. */
-	typedef VertexChain::const_iterator VertexChainConstIterator;
-	/** Constant iterator of constant chain of vertices. */
-	typedef ConstVertexChain::const_iterator ConstVertexChainConstIterator;
-
-	extern const int kGL_POINTS; /**< Primitive GL type GL_POINTS (mode). */
-	extern const int kGL_LINES; /**< Primitive GL type GL_LINES (mode). */
-	extern const int kGL_LINE_STRIP; /**< Primitive GL type GL_LINE_STRIP (mode). */
-	extern const int kGL_LINE_LOOP; /**< Primitive GL type GL_LINE_LOOP (mode). */
-	extern const int kGL_TRIANGLES; /**< Primitive GL type GL_TRIANGLES (mode). */
-	extern const int kGL_TRIANGLE_STRIP; /**< Primitive GL type GL_TRIANGLE_STRIP (mode). */
-	extern const int kGL_TRIANGLE_FAN; /**< Primitive GL type GL_TRIANGLE_FAN (mode). */
-	extern const int kGL_QUADS; /**< Primitive GL type GL_QUADS (mode). */
-	extern const int kGL_QUAD_STRIP; /**< Primitive GL type GL_QUAD_STRIP (mode). */
-	extern const int kGL_POLYGON; /**< Primitive GL type GL_POLYGON (mode). */
-	
-	extern const int kGL_RGBA; /**< Primitive GL type GL_RGBA (format). */
-	extern const int kGL_BGRA; /**< Primitive GL type GL_BGRA (format). */
-	extern const int kGL_RGB; /**< Primitive GL type GL_RGB (format). */
-	extern const int kGL_LUMINANCE; /**< Primitive GL type GL_LUMINANCE (format). */
-	extern const int kGL_LUMINANCE_WITH_ALPHA; /**< Primitive GL type GL_LUMINANCE_ALPHA (format). */
-	extern const int kGL_INTENSITY; /**< Primitive GL type GL_INTENSITY (format). */
-	
-	extern const int kGL_UNSIGNED_BYTE; /**< Primitive GL type GL_UNSIGNED_BYTE (data type). */
-	extern const int kGL_FLOAT; /**< Primitive GL type GL_FLOAT (data type). */
-	extern const int kGL_UNSIGNED_INT_8_8_8_8_REV; /**< Primitive GL type GL_UNSIGNED_INT_8_8_8_8_REV (data type). */
-	extern const int kGL_UNSIGNED_INT_8_8_8_8; /**< Primitive GL type GL_UNSIGNED_INT_8_8_8_8 (data type). */
-	
-	extern const int kGL_FRONT_COLOR_BUFFER; /**< GL enum GL_FRONT (color buffer specification for reading or drawing pixels). */
-	extern const int kGL_BACK_COLOR_BUFFER; /**< GL enum GL_BACK (color buffer specification for reading or drawing pixels). */
-
-	/**
-	 * The measure of box values.
-	 */
-	typedef enum {
-		kPixel = 0, /**< Box attribute is measured in pixels. */
-		kPercent /**< Box attribute is measured in percent (of enclosing/surrounding VisualStageBox). */
-	} Unit;
-
-	/**
-	 * Types of horizontal alignment.
-	 */
-	typedef enum {
-		kLeftAligned = 0, /**< Left alignment. */
-		kCenterAligned, /**< Centered alignment. */
-		kRightAligned /**< Right alignment. */
-	} HorizontalAlignment;
-
-	/**
-	 * Types of vertical alignment.
-	 */
-	typedef enum {
-		kTopAligned = 0, /**< Top alignment. */
-		kMiddleAligned, /**< Middle alignment. */
-		kBottomAligned /**< Bottom alignment. */
-	} VerticalAlignment;
-
-	/**
-	 * Types of alignment in z-dimension.
-	 */
-	typedef enum {
-		kFrontAligned = 0, /**< Front alignment. */
-		kDepthCenterAligned, /**< Centered alignment. */
-		kBackAligned /**< Back alignment. */
-	} DepthAlignment;
-
-	/**
-	 * Whether the Nurbs is displayed in outlined mode or filled.
-	 */
-	typedef enum {
-		kFill = 0, /**< Fill Nurbs. */
-		kOutlinePolygon /**< Draw outline. */
-	} NurbsDisplayMode;
-	
-	/**
-	 * How to blend texture data with the framebuffer data.
-	 */
-	typedef enum {
-		kBlend = 0, /**< Blend with framebuffer data (glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA) and . */
-		kReplace /**< Replace framebuffer data. */
-	} BlendMode;
-
-}
-
-#endif /* VisualGraphicTypes_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp
deleted file mode 100644
index 28e58cd..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphics.cpp
+++ /dev/null
@@ -1,3221 +0,0 @@
-/*
- * Project: VizKitrow
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphics.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualGraphics.h"
-#include "VisualErrorHandling.h"
-#include "VisualGraphicsCore.h"
-#include "VisualConvolutionFilter.h"
-#include "VisualNurbs.h"
-#include "VisualDispatch.h"
-#include "VisualTiming.h"
-#include "VisualColorTools.h"
-#include "VisualDataStore.h"
-#include "VisualFile.h"
-#include "VisualConfiguration.h"
-
-#include <stdlib.h> // RAND_MAX
-
-#include <iostream>
-
-#include <algorithm> // sort on vector
-
-#include <math.h>
-#ifndef M_PI
-#define M_PI 3.14159265358979323846264338327950288
-#endif
-
-#if TARGET_OS_MAC
-    #include <OpenGL/gl.h>
-    #include <OpenGL/glext.h>
-    #include <OpenGL/glu.h>
-    #include <GLUT/glut.h>
-#endif
-
-#if TARGET_OS_WIN
-    #include <GL/gl.h>
-    #include <GL/glu.h>
-    #include "win/wglext.h"
-    #include "win/glext.h"
-#endif
-
-
-
-using namespace VizKit;
-
-
-#if TARGET_OS_WIN
-	UInt8 fontIsInstalledBool;
-	GLuint base; // Base Display List For The Font Set
-#endif
-
-
-
-#if TARGET_OS_WIN
-
-int CALLBACK EnumFontFamExProc(
-				ENUMLOGFONTEX *lpelfe,    // logical-font data
-				NEWTEXTMETRICEX *lpntme,  // physical-font data
-				DWORD FontType,           // type of font
-				LPARAM lParam             // application-defined data
-)
-{
-	/*
-  CString *pEnumerateFont = (CString*)lParam;
-  *pEnumerateFont += CString("|") + ((char *)lpelfe->elfLogFont.lfFaceName);
-  
-  */
-	//VisualGraphics* visualGraphics;
-	//writeLog((char *)lpelfe->elfLogFont.lfFaceName);
-
-
-	fontIsInstalledBool = 1;
-	return 1;
-}
-
-
-UInt8 VisualGraphics::fontIsInstalled(HDC currHdc, const char* const fontName) {
-
-	LOGFONT lf;
-
-	lf.lfCharSet = ANSI_CHARSET;
-	lf.lfFaceName[0]='\0';
-	strcpy(lf.lfFaceName, fontName);
-	fontIsInstalledBool = 0;
-	EnumFontFamiliesEx(currHdc, &lf, (FONTENUMPROC) EnumFontFamExProc, 0, 0);
-	if (fontIsInstalledBool == 1) {
-		return 1;
-	} else {
-		return 0;
-	}
-
-}
-
-#endif
-
-
-VisualGraphics* VisualGraphics::theVisualGraphics = NULL;  // singleton
-
-
-/**
- * Compare function for sort operation.
- */
-struct CompareDisplayResolutionAscending {
-	bool operator()(const DisplayResolution* x, const DisplayResolution* y) {
-		// Does x preceed y?
-		bool doesXPreceedYBool = true;
-		if (x->horizontalPixels == y->horizontalPixels) {
-			if (x->verticalPixels == y->verticalPixels) {
-				if (x->bitsPerPixel == y->bitsPerPixel) {
-					if (x->refreshRate == y->refreshRate) {
-						doesXPreceedYBool = true; // identical
-					} else if (x->refreshRate > y->refreshRate) {
-						doesXPreceedYBool = false;
-					} else if (x->refreshRate < y->refreshRate) {
-						doesXPreceedYBool = true;
-					}
-				} else if (x->bitsPerPixel > y->bitsPerPixel) {
-					doesXPreceedYBool = false;
-				} else if (x->bitsPerPixel < y->bitsPerPixel) {
-					doesXPreceedYBool = true;
-				}
-			} else if (x->verticalPixels > y->verticalPixels) {
-				doesXPreceedYBool = false;
-			} else if (x->verticalPixels < y->verticalPixels) {
-				doesXPreceedYBool = true;
-			}
-		} else if (x->horizontalPixels > y->horizontalPixels) {
-			doesXPreceedYBool = false;
-		} else if (x->horizontalPixels < y->horizontalPixels) {
-			doesXPreceedYBool = true;
-		}
-		return doesXPreceedYBool;
-	}
-};
-
-
-VisualGraphics::VisualGraphics() {
-	isSetUpOnFullscreen = false;
-	
-	fullscreenDisplayResolution.theFullscreenDisplayResolution.horizontalPixels = 0;
-	fullscreenDisplayResolution.theFullscreenDisplayResolution.verticalPixels = 0;
-	fullscreenDisplayResolution.theFullscreenDisplayResolution.bitsPerPixel = 0;
-	fullscreenDisplayResolution.theFullscreenDisplayResolution.refreshRate = 0;
-	strcpy(fullscreenDisplayResolution.theFullscreenDisplayResolution.showStr, "unknown display resolution");
-
-	displayResolutionIterIndex = 0;
-	
-	backgroundColor.r = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kBackgroundColorRed);
-	backgroundColor.g = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kBackgroundColorGreen);
-	backgroundColor.b = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kBackgroundColorBlue);
-	backgroundColor.a = VisualDataStore::getPreferenceValueFloat(VisualConfiguration::kBackgroundColorAlpha);
-
-}
-
-
-VisualGraphics::~VisualGraphics() {
-
-	for (DisplayResolutionVectorIterator it = theVisualGraphics->displayResolutionVector.begin(); it != theVisualGraphics->displayResolutionVector.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}
-	displayResolutionVector.clear();
-
-	for (NurbsMapIterator it = theVisualGraphics->nurbsMap.begin(); it != theVisualGraphics->nurbsMap.end(); it++) {
-		delete it->second;
-		it->second = NULL;
-	}
-	nurbsMap.clear();
-
-}
-
-
-VisualGraphics* VisualGraphics::getInstance() {
-    if (theVisualGraphics == NULL) {
-		theVisualGraphics = new VisualGraphics;
-    }
-	return theVisualGraphics;
-}
-
-
-void VisualGraphics::dispose() {
-
-	VisualGraphicsCore::dispose();
-
-	if (theVisualGraphics != NULL) {
-		delete theVisualGraphics;
-		theVisualGraphics = NULL;
-	}
-}
-
-
-bool VisualGraphics::isInitialized() {
-	if (theVisualGraphics == NULL) {
-		return false;
-	} else {
-		return true;
-	}
-}
-
-
-void VisualGraphics::setGraphicsDevicePort(const GRAPHICS_DEVICE thePort){
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	theVisualGraphicsCore->setGraphicsDevicePort(thePort);
-}
-
-
-void VisualGraphics::setCanvasRect(const ::Rect* const aCanvasRect) {
-    theVisualGraphics->canvasRect.top = aCanvasRect->top;
-    theVisualGraphics->canvasRect.left = aCanvasRect->left;
-    theVisualGraphics->canvasRect.bottom = aCanvasRect->bottom;
-    theVisualGraphics->canvasRect.right = aCanvasRect->right;
-}
-
-
-void VisualGraphics::isSetupForFullScreenMode(const bool isFullscreen) {
-	theVisualGraphics->isSetUpOnFullscreen = isFullscreen;
-}
-
-
-void VisualGraphics::getCanvasRect(::Rect* aRect) {
-	aRect->top = theVisualGraphics->canvasRect.top;
-	aRect->left = theVisualGraphics->canvasRect.left;
-	aRect->bottom = theVisualGraphics->canvasRect.bottom;
-	aRect->right = theVisualGraphics->canvasRect.right;
-}
-
-
-UInt16 VisualGraphics::getScreenWidth() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getScreenWidth();
-}
-
-
-UInt16 VisualGraphics::getScreenHeight() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getScreenHeight();
-}
-
-
-UInt16 VisualGraphics::getBitsPerPixelOfScreen() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getBitsPerPixelOfScreen();
-}
-
-
-UInt16 VisualGraphics::getRefreshRateOfScreen() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getRefreshRateOfScreen();
-}
-
-
-UInt16 VisualGraphics::getCanvasPixelWidth() {
-    return (theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left);
-}
-
-
-UInt16 VisualGraphics::getCanvasPixelHeight() {
-    return (theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top);
-}
-
-
-double VisualGraphics::getCanvasCoordWidth() {
-	return (theVisualGraphics->maxRightCoordOfGLView - theVisualGraphics->maxLeftCoordOfGLView);
-}
-
-
-double VisualGraphics::getCanvasCoordHeight() {
-	return (theVisualGraphics->maxTopCoordOfGLView - theVisualGraphics->maxBottomCoordOfGLView);
-}
-
-
-void VisualGraphics::getCanvasSurroundingRect(::Rect* aRect) {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	theVisualGraphicsCore->getCanvasSurroundingRect(aRect);
-}
-
-
-void VisualGraphics::getViewportRect(::Rect* aViewport) {
-	GLint viewportRect[4];
-    glGetIntegerv(GL_VIEWPORT, viewportRect);
-	// the x and y window coordinates of the viewport, followed by its width and height
-	aViewport->left = viewportRect[0];
-	aViewport->top = viewportRect[1];
-	aViewport->right = viewportRect[2];
-	aViewport->bottom = viewportRect[3];
-}
-
-
-bool VisualGraphics::setupContext() {
-	VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	bool success = theVisualGraphicsCore->setupContext();
-	return success;
-}
-
-
-void VisualGraphics::disposeContext() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-#if TARGET_OS_MAC
-	theVisualGraphicsCore->cleanupAGL();
-#endif
-#if TARGET_OS_WIN
-	theVisualGraphicsCore->cleanUpWGL();
-	theVisualGraphics->killFont();
-#endif
-}
-
-
-void VisualGraphics::setOrthographicProjection() {
-
-	::Rect canvasSurroundingRect;
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	theVisualGraphicsCore->getCanvasSurroundingRect(&canvasSurroundingRect);
-	theVisualGraphicsCore->setViewport(&(theVisualGraphics->canvasRect), &canvasSurroundingRect, theVisualGraphics->isSetUpOnFullscreen);
-
-	double maxTopPos, maxLeftPos, maxBottomPos, maxRightPos, maxNearPos, maxFarPos;
-
-    if ((theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) <= (theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top)) {
-    	maxLeftPos = -1.0;
-        maxRightPos = 1.0;
-        maxBottomPos = -1.0 * (GLdouble)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top) / (GLdouble)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left);
-        maxTopPos = 1.0 * (GLdouble)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top) / (GLdouble)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left);
-    } else {
-    	maxLeftPos = -1.0 * (GLdouble)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) / (GLdouble)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top);
-        maxRightPos = 1.0 * (GLdouble)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) / (GLdouble)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top);
-        maxBottomPos = -1.0;
-        maxTopPos = 1.0;
-    }
-	
-	maxNearPos = 0.0;
-	maxFarPos = 10.0;
-
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-
-	glOrtho(maxLeftPos, maxRightPos, maxBottomPos, maxTopPos, maxNearPos, maxFarPos);
-
-	glMatrixMode(GL_MODELVIEW);
-	glLoadIdentity();
-
-	theVisualGraphics->setMaxTopCoordOfCanvas(maxTopPos);
-	theVisualGraphics->setMaxLeftCoordOfCanvas(maxLeftPos);
-	theVisualGraphics->setMaxBottomCoordOfCanvas(maxBottomPos);
-	theVisualGraphics->setMaxRightCoordOfCanvas(maxRightPos);
-	theVisualGraphics->setMaxNearCoordOfCanvas(maxNearPos);
-	theVisualGraphics->setMaxFarCoordOfCanvas(maxFarPos);
-	
-}
-
-
-void VisualGraphics::setPerspectiveProjection(double maxNearCoord) {
-
-	::Rect canvasSurroundingRect;
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	theVisualGraphicsCore->getCanvasSurroundingRect(&canvasSurroundingRect);
-	theVisualGraphicsCore->setViewport(&(theVisualGraphics->canvasRect), &canvasSurroundingRect, theVisualGraphics->isSetUpOnFullscreen);
-
-	double maxTopCoord, maxLeftCoord, maxBottomCoord, maxRightCoord, maxFarCoord;
-
-    if ((theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) <= (theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top)) {
-    	maxLeftCoord = -1.0;
-        maxRightCoord = 1.0;
-        maxBottomCoord = -1.0 * (GLfloat)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top) / (GLfloat)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left);
-        maxTopCoord = 1.0 * (GLfloat)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top) / (GLfloat)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left);
-		maxFarCoord = (maxBottomCoord * -1.0) + maxTopCoord + maxNearCoord;
-	} else {
-    	maxLeftCoord = -1.0 * (GLfloat)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) / (GLfloat)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top);
-        maxRightCoord = 1.0 * (GLfloat)(theVisualGraphics->canvasRect.right - theVisualGraphics->canvasRect.left) / (GLfloat)(theVisualGraphics->canvasRect.bottom - theVisualGraphics->canvasRect.top);
-        maxBottomCoord = -1.0;
-        maxTopCoord = 1.0;
-		maxFarCoord = (maxLeftCoord * -1.0) + maxRightCoord + maxNearCoord;
-    }
-	
-    glMatrixMode(GL_PROJECTION);
-    glLoadIdentity();
-
-	glFrustum(maxLeftCoord, maxRightCoord, maxBottomCoord, maxTopCoord, maxNearCoord, maxFarCoord);
-
-	glMatrixMode(GL_MODELVIEW);
-	glLoadIdentity();
-
-	theVisualGraphics->setMaxTopCoordOfCanvas(maxTopCoord);
-	theVisualGraphics->setMaxLeftCoordOfCanvas(maxLeftCoord);
-	theVisualGraphics->setMaxBottomCoordOfCanvas(maxBottomCoord);
-	theVisualGraphics->setMaxRightCoordOfCanvas(maxRightCoord);
-	theVisualGraphics->setMaxNearCoordOfCanvas(maxNearCoord);
-	theVisualGraphics->setMaxFarCoordOfCanvas(maxFarCoord);
-	
-	char cStr64[64];
-	sprintf(cStr64, "top: %.2f, left: %.2f", maxTopCoord, maxLeftCoord);
-	setProcessInfo("PerspCoordMaxTopLeft", cStr64);
-	sprintf(cStr64, "bottom: %.2f, right: %.2f", maxBottomCoord, maxRightCoord);
-	setProcessInfo("PerspCoordMaxBottomRight", cStr64);	
-	sprintf(cStr64, "near: %.2f, far: %.2f", maxNearCoord, maxFarCoord);
-	setProcessInfo("PerspCoordMaxNearFar", cStr64);
-	
-}
-
-
-void VisualGraphics::setBackgroundColor(const RGBAColor& aColorVal) {
-	theVisualGraphics->backgroundColor.r = aColorVal.r;
-	theVisualGraphics->backgroundColor.g = aColorVal.g;
-	theVisualGraphics->backgroundColor.b = aColorVal.b;
-	theVisualGraphics->backgroundColor.a = aColorVal.a;
-}
-
-
-RGBAColor VisualGraphics::getBackgroundColor() {
-	return theVisualGraphics->backgroundColor;
-}
-
-
-void VisualGraphics::clearBackground() {
-	glClearColor(backgroundColor.r, backgroundColor.g, backgroundColor.b, backgroundColor.a);
-    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-}
-
-
-void VisualGraphics::setPixelStorageParams() {
-	glPixelStorei(GL_PACK_ROW_LENGTH, 0);
-	glPixelStorei(GL_PACK_ALIGNMENT, 4);
-	glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
-	glPixelStorei(GL_UNPACK_ALIGNMENT, 4);
-#if TARGET_OS_MAC
-	glPixelStorei(GL_UNPACK_CLIENT_STORAGE_APPLE, GL_FALSE);
-#endif
-}
-
-
-void VisualGraphics::resetModelViewMatrix() {
-	glMatrixMode(GL_MODELVIEW);
-    glLoadIdentity();
-	glTranslated(0.0, 0.0, 0.0);
-}
-
-
-void VisualGraphics::translateMatrix(double xNum, double yNum, double zNum) {
-	glTranslated(xNum, yNum, zNum);
-}
-
-
-void VisualGraphics::rotateMatrix(float angle, float xAmount, float yAmount, float zAmount) {
-	glRotatef(angle, xAmount, yAmount, zAmount);
-}
-
-
-void VisualGraphics::scaleMatrix(float xFactor, float yFactor, float zFactor) {
-	glScalef(xFactor, yFactor, zFactor);
-}
-
-
-void VisualGraphics::enableTexturing(bool useRectExtension) {
-	if (useRectExtension == false) {
-        glEnable(GL_TEXTURE_2D);
-    } else {
-#if TARGET_OS_MAC
-        glEnable(GL_TEXTURE_RECTANGLE_EXT);
-#endif
-	}
-}
-
-
-void VisualGraphics::disableTexturing(bool useRectExtension) {
-    if (useRectExtension == false) {
-        glDisable(GL_TEXTURE_2D);
-	} else {
-#if TARGET_OS_MAC
-        glDisable(GL_TEXTURE_RECTANGLE_EXT);
-#endif
-    }
-}
-
-
-void VisualGraphics::bindTexture(UInt32 textureName, bool useRectExtension) {
-	if (useRectExtension == false) {
-		glBindTexture(GL_TEXTURE_2D, (GLuint)textureName);
-	} else {
-#if TARGET_OS_MAC
-		glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureName);
-#endif
-	}
-}
-
-
-void VisualGraphics::get32BitPixelsOfCurrentTexture(bool useRectExtension, UInt16 format, UInt16 type, UInt32** buffer) {
-	glGetTexImage(GL_TEXTURE_2D, 0, format, type, *buffer);
-}
-
-
-void VisualGraphics::get8BitPixelsOfCurrentTexture(bool useRectExtension, UInt16 format, UInt16 type, UInt8** buffer) {
-	glGetTexImage(GL_TEXTURE_2D, 0, format, type, *buffer);
-}
-
-
-void VisualGraphics::enableAlphaBlending() {
-    glEnable(GL_BLEND);
-    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-}
-
-
-void VisualGraphics::disableBlending() {
-	glDisable(GL_BLEND);
-}
-
-
-void VisualGraphics::setColor(const RGBAColor& theColor) {
-	glColor4f(theColor.r, theColor.g, theColor.b, theColor.a);
-}
-
-
-void VisualGraphics::enableDepthTest() {
-	glEnable(GL_DEPTH_TEST);
-}
-
-
-void VisualGraphics::disableDepthTest() {
-	glDisable(GL_DEPTH_TEST);
-}
-
-
-void VisualGraphics::enableCullFace() {
-	glEnable(GL_CULL_FACE);
-}
-
-
-void VisualGraphics::disableCullFace() {
-	glDisable(GL_CULL_FACE);
-}
-
-
-void VisualGraphics::cullFaceFront() {
-	glCullFace(GL_FRONT);
-}
-
-
-void VisualGraphics::cullFaceBack() {
-	glCullFace(GL_BACK);
-}
-
-
-UInt8 VisualGraphics::getOpenGLError (char* outErrorString) {
-    GLenum glErrorNum;
-    const GLubyte *glErrorString;  
-
-    glErrorNum = glGetError();
-    if (glErrorNum != GL_NO_ERROR) {
-        glErrorString = gluErrorString(glErrorNum);
-        strcpy(outErrorString, (char*)glErrorString);
-        return 1;
-    } else {
-        return 0;
-    }
-}
-
-
-void VisualGraphics::gatherAvailableDisplayResolutions() {
-
-	DisplayResolution* aDisplayResolution;
-	bool found;
-	DisplayResolutionVectorIterator it;
-	UInt16 minRefreshRate = 50;
-#if TARGET_OS_WIN
-	UInt16 minBitsPerPixel = 32;
-	UInt16 maxBitsPerPixel = 32;
-#endif
-#if TARGET_OS_MAC
-	UInt16 minBitsPerPixel = 32;
-	UInt16 maxBitsPerPixel = 32;
-#endif
-	SInt16 exactMatchOfRefreshrate = -1;
-	bool displayResolutionIsAccepted = false;
-
-	theVisualGraphics = VisualGraphics::getInstance();
-
-	for (it = theVisualGraphics->displayResolutionVector.begin(); it != theVisualGraphics->displayResolutionVector.end(); it++) {
-		delete *it;
-		*it = NULL;
-	}	
-	theVisualGraphics->displayResolutionVector.clear();
-	
-	// Default: no resolution switch but the default one of iTunes
-	aDisplayResolution = new DisplayResolution;
-	aDisplayResolution->horizontalPixels = 0;
-	aDisplayResolution->verticalPixels = 0;
-	aDisplayResolution->bitsPerPixel = 0;
-	aDisplayResolution->refreshRate = 0;
-	strcpy(aDisplayResolution->showStr, "Default");
-	displayResolutionVector.push_back(aDisplayResolution);
-	exactMatchOfRefreshrate = theVisualGraphics->getRefreshRateOfScreen();
-	// we take the refresh rate as it is set now
-
-#if TARGET_OS_MAC
-	CFArrayRef displayModeArray;
-	CFDictionaryRef displayMode;
-	CFNumberRef number;
-	char str[32];
-	UInt16 theDisplayModeCount;
-	UInt16 i;
-	long height, width, bitsPerPixel, refreshRate;
-	
-	displayModeArray = CGDisplayAvailableModes(CGMainDisplayID());
-	theDisplayModeCount = CFArrayGetCount(displayModeArray);
-	
-	for (i = 0; i < theDisplayModeCount; i++) {
-		displayMode = (CFDictionaryRef)CFArrayGetValueAtIndex(displayModeArray, i);
-		
-		number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayWidth);
-		CFNumberGetValue(number, kCFNumberLongType, &width);
-		
-		number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayHeight);
-		CFNumberGetValue(number, kCFNumberLongType, &height);
-		
-		number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayBitsPerPixel);
-		CFNumberGetValue(number, kCFNumberLongType, &bitsPerPixel);
-		
-		number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayRefreshRate);
-		CFNumberGetValue(number, kCFNumberLongType, &refreshRate);
-
-		
-		if (exactMatchOfRefreshrate > 0) {
-			if (refreshRate == exactMatchOfRefreshrate) {
-				displayResolutionIsAccepted = true;
-			} else {
-				displayResolutionIsAccepted = false;
-			}
-		} else {
-			displayResolutionIsAccepted = true;
-		}
-		if (displayResolutionIsAccepted == true) {
-			if (((refreshRate >= minRefreshRate) || (refreshRate == 0)) && (bitsPerPixel >= minBitsPerPixel) && (bitsPerPixel <= maxBitsPerPixel)) {
-				displayResolutionIsAccepted = true;
-			} else {
-				displayResolutionIsAccepted = false;
-			}
-		}
-		
-		found = false;
-		
-		if (displayResolutionIsAccepted == true) {
-			for (it = theVisualGraphics->displayResolutionVector.begin(); it != theVisualGraphics->displayResolutionVector.end(); it++) {
-				if (((*it)->horizontalPixels == width) && ((*it)->verticalPixels == height)) {
-					found = true;
-					if ((*it)->bitsPerPixel < bitsPerPixel) {
-						(*it)->bitsPerPixel = bitsPerPixel;
-					}
-					if ((*it)->refreshRate < refreshRate) {
-						(*it)->refreshRate = refreshRate;
-					}
-				}
-			}
-			if (found == false) {
-				aDisplayResolution = new DisplayResolution;
-				aDisplayResolution->horizontalPixels = width;
-				aDisplayResolution->verticalPixels = height;
-				aDisplayResolution->bitsPerPixel = bitsPerPixel;
-				aDisplayResolution->refreshRate = refreshRate;
-				sprintf(str, "%ld x %ld", width, height);
-				strcpy(aDisplayResolution->showStr, str);
-				displayResolutionVector.push_back(aDisplayResolution);
-			}
-		}
-	}
-#endif
-#if TARGET_OS_WIN
-	DEVMODE devmode;
-	//CString devModeStr;
-	int iMode = 0;
-	BOOL flag;
-	char str[32];
-	UInt16 zaehler=0;
-	do
-	{
-		flag = ::EnumDisplaySettings(NULL, iMode, &devmode);
-		
-		if (flag) {
-
-			if (exactMatchOfRefreshrate > 0) {
-				if (devmode.dmDisplayFrequency == exactMatchOfRefreshrate) {
-					displayResolutionIsAccepted = true;
-				} else {
-					displayResolutionIsAccepted = false;
-				}
-			} else {
-				displayResolutionIsAccepted = true;
-			}
-			if (displayResolutionIsAccepted == true) {
-				if ((devmode.dmDisplayFrequency >= minRefreshRate) && (devmode.dmBitsPerPel >= minBitsPerPixel) && (devmode.dmBitsPerPel <= maxBitsPerPixel)) {
-					displayResolutionIsAccepted = true;
-				} else {
-					displayResolutionIsAccepted = false;
-				}
-			}
-
-			found = false;
-			if (displayResolutionIsAccepted == true) {
-				for (it = theVisualGraphics->displayResolutionVector.begin(); it != theVisualGraphics->displayResolutionVector.end(); it++) {
-					if (((*it)->horizontalPixels == devmode.dmPelsWidth) && ((*it)->verticalPixels == devmode.dmPelsHeight)) {
-						found = true;
-						if ((*it)->bitsPerPixel < (UInt16)devmode.dmBitsPerPel) {
-							(*it)->bitsPerPixel = (UInt16)devmode.dmBitsPerPel;
-						}
-						if ((*it)->refreshRate < (UInt16)devmode.dmDisplayFrequency) {
-							(*it)->refreshRate = (UInt16)devmode.dmDisplayFrequency;
-						}
-					}
-				}
-				if (found == false) {
-					aDisplayResolution = new DisplayResolution;
-					aDisplayResolution->horizontalPixels = (UInt16)devmode.dmPelsWidth;
-					aDisplayResolution->verticalPixels = (UInt16)devmode.dmPelsHeight;
-					aDisplayResolution->bitsPerPixel = (UInt16)devmode.dmBitsPerPel;
-					aDisplayResolution->refreshRate = (UInt16)devmode.dmDisplayFrequency;
-					sprintf(str, "%d x %d", devmode.dmPelsWidth, devmode.dmPelsHeight);
-					strcpy(aDisplayResolution->showStr, str);
-					theVisualGraphics->displayResolutionVector.push_back(aDisplayResolution);
-				}
-			}
-		iMode++;
-		}
-	}
-	while (flag);
-#endif
-
-	std::sort(theVisualGraphics->displayResolutionVector.begin(), theVisualGraphics->displayResolutionVector.end(), CompareDisplayResolutionAscending());
-
-}
-
-
-void VisualGraphics::resetDisplayResolutionIterIndex() {
-    theVisualGraphics->displayResolutionIterIndex = 0;
-}
-
-
-bool VisualGraphics::getNextAvailableDisplayResolution(char* showStr, UInt8* isSelected) {
-
-	if (theVisualGraphics->displayResolutionIterIndex < theVisualGraphics->displayResolutionVector.size()) {
-		if ((theVisualGraphics->displayResolutionVector[theVisualGraphics->displayResolutionIterIndex]->horizontalPixels == theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.horizontalPixels)
-			&& (theVisualGraphics->displayResolutionVector[theVisualGraphics->displayResolutionIterIndex]->verticalPixels == theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.verticalPixels)) {
-			*isSelected = 1;
-		} else {
-			*isSelected = 0;
-		}
-		strcpy(showStr, theVisualGraphics->displayResolutionVector[theVisualGraphics->displayResolutionIterIndex]->showStr);
-		theVisualGraphics->displayResolutionIterIndex++;
-		return true;
-	} else {
-		return false;
-	}
-}
-
-
-OSStatus VisualGraphics::matchDisplayResolutionShowStrWithPrefs(const char* const selectedShowStr, UInt16& horizontalPixels, UInt16& verticalPixels, UInt16& bitsPerPixel, UInt16& refreshRate) {
-	
-	OSStatus osStatus = noErr;
-	bool found = false;
-	
-	horizontalPixels = 0;
-	verticalPixels = 0;
-	bitsPerPixel = 0;
-	refreshRate = 0;
-	
-	DisplayResolutionVectorIterator it;
-	for (it = theVisualGraphics->displayResolutionVector.begin(); it != theVisualGraphics->displayResolutionVector.end(); it++) {
-		if (strcmp((*it)->showStr, selectedShowStr) == 0) {
-			horizontalPixels = (*it)->horizontalPixels;
-			verticalPixels = (*it)->verticalPixels;
-			bitsPerPixel = (*it)->bitsPerPixel;
-			refreshRate = (*it)->refreshRate;
-			found = true;
-		}
-	}
-	if (found == false) {
-		osStatus = 1001;
-	}
-	
-	return osStatus;
-}
-
-
-void VisualGraphics::evaluateFullscreenDisplayResolution() {
-	bool isDefaultValue = false;
-	if (theVisualGraphics->displayResolutionVector.size() == 0) {
-		theVisualGraphics->gatherAvailableDisplayResolutions();
-	}
-	theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.horizontalPixels = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFullscreenWidth, &isDefaultValue);
-	if (isDefaultValue == true) {
-		// no preferred resolution explicitly set, so we try to evaluate best available resolution
-		if (theVisualGraphics->displayResolutionVector.size() > 0) {
-			theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution = *(theVisualGraphics->displayResolutionVector[theVisualGraphics->displayResolutionVector.size() - 1]);
-		} else {
-			theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.horizontalPixels = 0;
-			theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.verticalPixels = 0;
-			theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.bitsPerPixel = 0;
-			theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.refreshRate = 0;
-			strcpy(theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.showStr, "unknown best display resolution");
-		}
-	} else {
-		theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.verticalPixels = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFullscreenHeight);
-		theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.bitsPerPixel = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFullscreenBitsPerPixel);
-		theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution.refreshRate = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFullscreenRefreshRate);
-	}
-	theVisualGraphics->resetDisplayResolutionIterIndex();
-}
-
-
-DisplayResolution VisualGraphics::returnPreferredDisplayResolution() {
-	theVisualGraphics->evaluateFullscreenDisplayResolution();
-	return theVisualGraphics->fullscreenDisplayResolution.theFullscreenDisplayResolution;
-}
-
-
-double VisualGraphics::getRandXScreenPos() {
-    double xPos;
-    double screenKoordWidth;
-
-    xPos = (double) rand() / (double) RAND_MAX;
-    //screenKoordWidth = getMaxRightPos() - getMaxLeftPos();
-	screenKoordWidth = theVisualGraphics->maxRightCoordOfGLView - theVisualGraphics->maxLeftCoordOfGLView;
-    //xPos = (xPos * screenKoordWidth) + getMaxLeftPos();
-	xPos = (xPos * screenKoordWidth) + theVisualGraphics->maxLeftCoordOfGLView;
-
-    return xPos;
-}
-
-
-double VisualGraphics::getRandYScreenPos() {
-    double yPos;
-    double screenKoordHeight;
-
-    yPos = (double) rand() / (double) RAND_MAX;
-    //screenKoordHeight = getMaxTopPos() - getMaxBottomPos();
-	screenKoordHeight = theVisualGraphics->maxTopCoordOfGLView - theVisualGraphics->maxBottomCoordOfGLView;
-    //yPos = (yPos * screenKoordHeight) + getMaxBottomPos();
-	yPos = (yPos * screenKoordHeight) + theVisualGraphics->maxBottomCoordOfGLView;
-
-    return yPos;
-}
-
-
-UInt16 VisualGraphics::setCurrentContext() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->setCurrentContext();
-}
-
-
-void VisualGraphics::finishGLDrawing() {
-	VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	theVisualGraphicsCore->finishGLDrawing();
-}
-
-
-int VisualGraphics::getCurrentColorBufferForPixelReadingOperations() {
-	GLint currReadBuffer;
-	glGetIntegerv(GL_READ_BUFFER, &currReadBuffer);
-	return currReadBuffer;
-}
-
-
-int VisualGraphics::getCurrentColorBufferForPixelDrawingOperations() {
-	GLint currDrawBuffer;
-	glGetIntegerv(GL_DRAW_BUFFER, &currDrawBuffer);
-	return currDrawBuffer;
-}
-
-
-void VisualGraphics::setColorBufferForPixelReadingOperations(int colorBuffer) {
-	glReadBuffer(colorBuffer);
-}
-
-
-void VisualGraphics::setColorBufferForPixelDrawingOperations(int colorBuffer) {
-	glDrawBuffer(colorBuffer);
-}
-
-
-void VisualGraphics::drawTexture(UInt32 textureNumber, ConstVertexChainRef const vertexChain, bool canUseRectExtension, BlendMode aBlendMode) {
-
-	ConstVertexChainConstIterator it;
-	bool debug = false;
-    
-	if (aBlendMode == kBlend) {
-		glEnable(GL_BLEND);
-		glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
-	}
-	
-	if (canUseRectExtension == false) {
-        glEnable(GL_TEXTURE_2D);
-    } else {
-#if TARGET_OS_MAC
-        glEnable (GL_TEXTURE_RECTANGLE_EXT);
-#endif
-	}
-
-	if (canUseRectExtension == false) {
-        glBindTexture (GL_TEXTURE_2D, (GLuint)textureNumber);
-    } else {
-#if TARGET_OS_MAC
-        glBindTexture (GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber);
-#endif
-    }
-    
-	if (aBlendMode == kBlend) {
-		glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
-	}
-	
-	glBegin (GL_POLYGON);
-
-	for (it = vertexChain->begin(); it != vertexChain->end(); it++) {
-		glColor4f((*it)->vertexColor.r, (*it)->vertexColor.g, (*it)->vertexColor.b, (*it)->vertexColor.a);
-		glTexCoord2d((*it)->texCoordPosition.sPos, (*it)->texCoordPosition.tPos);
-		glVertex3d((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, (*it)->vertexPosition.zPos);
-	}
-			
-    glEnd();
-
-    if (canUseRectExtension == false) {
-        glDisable(GL_TEXTURE_2D);
-    } else {
-#if TARGET_OS_MAC
-        glDisable(GL_TEXTURE_RECTANGLE_EXT);
-#endif
-    }
-
-	if (aBlendMode == kBlend) {
-		glDisable(GL_BLEND);
-	}
-	
-	if (debug == true) {
-		glTranslated(0.0, 0.0, 0.0);
-		glColor3f(1.0f, 0.0f, 0.0f);
-		glLineWidth(3.0f);
-		glBegin (GL_LINE_LOOP);
-		for (it = vertexChain->begin(); it != vertexChain->end(); it++) {
-			glVertex3d((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, (*it)->vertexPosition.zPos);
-		}
-		glEnd();
-		
-		glTranslated(0.0, 0.0, 0.0);
-		glColor3f(1.0f, 1.0f, 0.0f);
-		char posStr[64];
-		for (it = vertexChain->begin(); it != vertexChain->end(); it++) {
-			glVertex3d((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, (*it)->vertexPosition.zPos);
-			sprintf(posStr, "x: %.2f, y: %.2f", (*it)->texCoordPosition.sPos, (*it)->texCoordPosition.tPos);
-			showProcessInfoRow((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, posStr);
-		}
-	}
-	
-}
-
-
-void VisualGraphics::drawPixels(UInt32** pixelData, double xCoord, double yCoord, UInt32 width, UInt32 height, UInt16 format, UInt16 dataType, const VisualConvolutionFilter* const aConvolutionFilter) {
-
-	bool useGLConvolutionFilter = false;
-	GLfloat* kernel = NULL;
-
-#if TARGET_OS_WIN
-	/* Declare function pointers */
-	PFNGLCONVOLUTIONFILTER2DPROC glConvolutionFilter2D;
-	PFNGLCONVOLUTIONPARAMETERIPROC glConvolutionParameteri;
-	PFNGLCONVOLUTIONPARAMETERFVPROC glConvolutionParameterfv;
-#endif
-
-	if (aConvolutionFilter != NULL) {
-#if TARGET_OS_WIN
-		/* Obtain the address of the extension entry points. */
-		glConvolutionFilter2D = (PFNGLCONVOLUTIONFILTER2DPROC)wglGetProcAddress("glConvolutionFilter2D"); 
-		glConvolutionParameteri = (PFNGLCONVOLUTIONPARAMETERIPROC)wglGetProcAddress("glConvolutionParameteri");
-		glConvolutionParameterfv = (PFNGLCONVOLUTIONPARAMETERFVEXTPROC)wglGetProcAddress("glConvolutionParameterfv");
-		if (glConvolutionFilter2D) useGLConvolutionFilter = true;
-#endif
-#if TARGET_OS_MAC
-		useGLConvolutionFilter = this->capabilities.fImaging;
-#endif
-	}
-	
-	//useGLConvolutionFilter = false; // test
-	
-	if (useGLConvolutionFilter == false && aConvolutionFilter != NULL) {
-		UInt32* filteredPixelData = NULL;
-		filteredPixelData = (UInt32*)calloc(width * height, sizeof(UInt32));
-		aConvolutionFilter->applyToPixelData((const unsigned char* const)*pixelData, width, height, format, dataType, (unsigned char**)&filteredPixelData);
-
-		free((UInt32*)*pixelData);
-		*pixelData = NULL;
-		*pixelData = (UInt32*)calloc(width * height, sizeof(UInt32));
-		memcpy((UInt32*)*pixelData, (UInt32*)filteredPixelData, width * height * sizeof(UInt32));
-		free(filteredPixelData);
-		filteredPixelData = NULL;
-
-		//*pixelData = filteredPixelData;
-	}
-	
-	if (useGLConvolutionFilter == true) {
-		kernel = (GLfloat*)malloc(aConvolutionFilter->getNumberOfKernelValueColumns() * aConvolutionFilter->getNumberOfKernelValueRows() * sizeof(GLfloat));
-		aConvolutionFilter->copyKernelValues(kernel);
-
-		GLfloat borderColor[4];
-		borderColor[0] = 0.0f;
-		borderColor[1] = 0.0f;
-		borderColor[2] = 0.0f;
-		borderColor[3] = 0.0f;
-
-#if TARGET_OS_WIN
-		/* Call the function via function pointer */
-		(*glConvolutionFilter2D)(GL_CONVOLUTION_2D, GL_LUMINANCE, aConvolutionFilter->getNumberOfKernelValueColumns(), aConvolutionFilter->getNumberOfKernelValueRows(), GL_LUMINANCE, GL_FLOAT, kernel);
-		(*glConvolutionParameteri) (GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER);
-		(*glConvolutionParameterfv) (GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_COLOR, borderColor);
-#else
-		glConvolutionFilter2D(GL_CONVOLUTION_2D, GL_LUMINANCE, aConvolutionFilter->getNumberOfKernelValueColumns(), aConvolutionFilter->getNumberOfKernelValueRows(), GL_LUMINANCE, GL_FLOAT, kernel);
-		glConvolutionParameteri(GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_MODE, GL_CONSTANT_BORDER);
-		glConvolutionParameterfv(GL_CONVOLUTION_2D, GL_CONVOLUTION_BORDER_COLOR, borderColor);
-#endif
-		
-		glEnable(GL_CONVOLUTION_2D);
-
-		glPixelTransferf(GL_POST_CONVOLUTION_RED_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor());
-		glPixelTransferf(GL_POST_CONVOLUTION_GREEN_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor());
-		glPixelTransferf(GL_POST_CONVOLUTION_BLUE_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor());
-		glPixelTransferf(GL_POST_CONVOLUTION_ALPHA_SCALE, aConvolutionFilter->getPostConvolutionScaleFactor());
-
-		/*
-		glPixelTransferf(GL_POST_CONVOLUTION_RED_BIAS, aConvolutionFilter->getPostConvolutionBias());
-		glPixelTransferf(GL_POST_CONVOLUTION_GREEN_BIAS, aConvolutionFilter->getPostConvolutionBias());
-		glPixelTransferf(GL_POST_CONVOLUTION_BLUE_BIAS, aConvolutionFilter->getPostConvolutionBias());
-		glPixelTransferf(GL_POST_CONVOLUTION_ALPHA_BIAS, aConvolutionFilter->getPostConvolutionBias());
-		*/
-		
-		/*
-		GLfloat filterScale[4];
-		filterScale[0] = 1.0f / 9.0f;
-		filterScale[1] = 1.0f / 9.0f;
-		filterScale[2] = 1.0f / 9.0f;
-		filterScale[3] = 1.0f / 9.0f;
-		glConvolutionParameterfv(GL_CONVOLUTION_2D, GL_CONVOLUTION_FILTER_SCALE, filterScale);
-		*/
-
-	}
-	
-	//printf("xCoord: %f, yCoord: %f\n", xCoord, yCoord);
-	
-	glRasterPos2d(xCoord, yCoord);
-
-/*
-       When the GL_ARB_imaging extension  is  supported,  there  are  distinct
-       raster  texture  coordinates for each texture unit. Each texture unit's
-       current raster texture coordinates are updated by glRasterPos.
-*/
-
-	this->setPixelStorageParams();
-	
-	glDrawPixels(width, height, format, dataType, *pixelData);
-	
-	if (useGLConvolutionFilter == true) {
-		glDisable(GL_CONVOLUTION_2D);
-		free(kernel);
-	}
-	
-}
-
-
-void VisualGraphics::readPixels(double xCoord, double yCoord, UInt32 width, UInt32 height, UInt32** pixelData, UInt16 format, UInt16 dataType) {
-	UInt16 xPos, yPos;
-	xPos = xCoordToPixel(xCoord);
-	yPos = yCoordToPixel(yCoord);
-	this->setPixelStorageParams();
-	glReadPixels(xPos, yPos, width, height, format, dataType, *pixelData);
-}
-
-
-#if TARGET_OS_WIN
-OSStatus VisualGraphics::makeTextureOfStringWin(wchar_t* stringValue, 
-														int stringValueLength, 
-														UInt32 textureNumber, 
-														UInt32 &textureWidth, 
-														UInt32 &textureHeight, 
-														UInt32 &imageWidth, 
-														UInt32 &imageHeight, 
-														const char* const fontName, 
-														UInt16 fontSize, 
-														UInt8 red, 
-														UInt8 green, 
-														UInt8 blue,
-														HorizontalAlignment alignment,
-														UInt16 maxPixelWidth,
-														UInt16 maxPixelHeight) {
-//#define useGetDIBits
-
-	OSStatus osStatus = noErr;
-
-	LOGFONT lFont;
-	HDC hdcTemp;
-#ifndef useGetDIBits
-	BITMAPV5HEADER bi;
-#endif
-	BYTE* bitmapBits = NULL;
-	HBITMAP hbmpTemp;
-	unsigned long lWidthPixels;
-	unsigned long lHeightPixels;
-	HFONT trackTitleFont;
-	UInt32 stringSizeWidth = 0;
-	UInt32 stringSizeHeight = 0;
-	UInt8 fontIsInstalled = 0;
-	static UInt8 resourceFontIsPresent = 0;
-	char errStr[256];
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-
-	if (resourceFontIsPresent == 0) {
-		VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-		fontIsInstalled = theVisualGraphics->fontIsInstalled(theVisualGraphicsCore->getWindowDC(), fontName);
-		if (fontIsInstalled == 0) {
-			void* fontData = NULL;
-			UInt32 sizeOfFontResource = 0;
-			OSStatus status = VisualFile::getDataOfResource(IDR_DEVROYEFONT, "FONTRESOURCE", &fontData, sizeOfFontResource);
-			if (status == noErr) {
-				HANDLE fontResHandle = NULL;
-				DWORD numberOfFonts = 0;
-				fontResHandle = AddFontMemResourceEx(fontData, sizeOfFontResource, 0, &numberOfFonts);
-				if (!fontResHandle || numberOfFonts == 0) {
-					writeLog("unsuccessful AddFontMemResourceEx");
-				} else {
-					// system made its own copy
-					DeleteObject(fontData);
-				}
-			}
-			resourceFontIsPresent = 1;
-		} else {
-			// font was already present on system
-			resourceFontIsPresent = 1;
-		}
-	}
-
-	UINT textFormat = (DT_EXPANDTABS|DT_NOPREFIX);
-	switch (alignment) {
-		case (kLeftAligned):
-			textFormat |= DT_LEFT;
-			break;
-		case (kCenterAligned):
-			textFormat |= DT_CENTER;
-			break;
-		case (kRightAligned):
-			textFormat |= DT_RIGHT;
-			break;
-		default:
-			sprintf(errStr, "unknown switch case (%d) in file: %s (line: %d) [%s])", alignment, __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errStr);
-	}
-
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-
-	hdcTemp = CreateCompatibleDC(theVisualGraphicsCore->getWindowDC());
-
-	ZeroMemory(&lFont,sizeof(LOGFONT));
-	lFont.lfHeight = MulDiv(fontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72);
-	lFont.lfWidth = 0;
-	lFont.lfEscapement = 0;
-	lFont.lfOrientation = 0;
-	lFont.lfWeight = FW_DONTCARE;
-	lFont.lfItalic = FALSE;
-	lFont.lfUnderline = FALSE;
-	lFont.lfStrikeOut = FALSE;
-	lFont.lfCharSet = DEFAULT_CHARSET;
-	lFont.lfOutPrecision = OUT_OUTLINE_PRECIS;
-	lFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
-	lFont.lfQuality = ANTIALIASED_QUALITY;
-	lFont.lfPitchAndFamily = DEFAULT_PITCH;
-	if (strlen(fontName) > 31) {
-		sprintf(errStr, "length of fontName must not exceed 32 characters but is %d in file: %s (line: %d) [%s])", strlen(fontName), __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		strcpy(lFont.lfFaceName, "Arial"); // fallback font name
-	} else {
-		strcpy(lFont.lfFaceName, fontName); // length of fontName must not exceed 32 characters (incl. null terminator)
-	}
-
-	trackTitleFont = CreateFontIndirect(&lFont);
-
-	if (!trackTitleFont) {
-		sprintf(errStr, "err after CreateFontIndirect() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-	}
-
-	SelectObject(hdcTemp, trackTitleFont);
-	SetTextColor(hdcTemp, RGB((BYTE)red, (BYTE)green, (BYTE)blue));
-
-	RECT textDrawRect;
-	textDrawRect.top = 0;
-	textDrawRect.left = 0;
-	textDrawRect.right = theVisualGraphics->getCanvasPixelWidth();
-	textDrawRect.bottom = 0;
-	DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat);
-
-	if (textDrawRect.bottom == 0) {
-		writeLastErrorLog("makeTextureOfStringWin1");
-	}
-
-	stringSizeWidth = textDrawRect.right - textDrawRect.left;
-	stringSizeHeight = textDrawRect.bottom - textDrawRect.top;
-
-	UInt16 aFontSize = fontSize;
-	if ((maxPixelWidth > 0) && (maxPixelHeight > 0)) {
-		while ((stringSizeWidth > maxPixelWidth) || (stringSizeHeight > maxPixelHeight)) {
-			lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72);
-			DeleteObject(trackTitleFont);
-			trackTitleFont = CreateFontIndirect(&lFont);
-			SelectObject(hdcTemp, trackTitleFont);
-			//success = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize);
-			DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat);
-			stringSizeWidth = textDrawRect.right - textDrawRect.left;
-			stringSizeHeight = textDrawRect.bottom - textDrawRect.top;
-			aFontSize = aFontSize - 1;
-		}
-	} else if (maxPixelWidth > 0) {
-		while (stringSizeWidth > maxPixelWidth) {
-			lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72);
-			DeleteObject(trackTitleFont);
-			trackTitleFont = CreateFontIndirect(&lFont);
-			SelectObject(hdcTemp, trackTitleFont);
-			//success = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize);
-			DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat);
-			stringSizeWidth = textDrawRect.right - textDrawRect.left;
-			stringSizeHeight = textDrawRect.bottom - textDrawRect.top;
-			aFontSize = aFontSize - 1;
-		}
-	} else if (maxPixelHeight > 0) {
-		while (stringSizeHeight > maxPixelHeight) {
-			lFont.lfHeight = MulDiv(aFontSize, GetDeviceCaps(hdcTemp, LOGPIXELSY), 72);
-			DeleteObject(trackTitleFont);
-			trackTitleFont = CreateFontIndirect(&lFont);
-			SelectObject(hdcTemp, trackTitleFont);
-			//success = GetTextExtentPoint32W(hdcTemp, stringValue, stringValueLength, &stringSize);
-			DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, DT_CALCRECT|textFormat);
-			stringSizeWidth = textDrawRect.right - textDrawRect.left;
-			stringSizeHeight = textDrawRect.bottom - textDrawRect.top;
-			aFontSize = aFontSize - 1;
-		}
-	}
-
-	lWidthPixels = theVisualGraphics->power2Ceiling((UInt16)textDrawRect.right);
-	lHeightPixels = theVisualGraphics->power2Ceiling((UInt16)textDrawRect.bottom);
-
-#ifndef useGetDIBits
-	
-	ZeroMemory(&bi,sizeof(BITMAPV5HEADER));
-	bi.bV5Size = sizeof(BITMAPV5HEADER);
-	bi.bV5Width = lWidthPixels;
-	bi.bV5Height = lHeightPixels;
-	bi.bV5Planes = 1;
-	bi.bV5BitCount = 32;
-	bi.bV5Compression = BI_BITFIELDS;
-
-	// supported 32 BPP alpha format for Windows XP (ARGB)
-	bi.bV5RedMask = 0x00FF0000;
-	bi.bV5GreenMask = 0x0000FF00;
-	bi.bV5BlueMask = 0x000000FF;
-	bi.bV5AlphaMask = 0xFF000000;
-
-	hbmpTemp = CreateDIBSection(hdcTemp, (BITMAPINFO *)&bi, DIB_RGB_COLORS, (void**)&bitmapBits, NULL, (DWORD)0);
-
-	if (!hbmpTemp) {
-		DeleteDC(hdcTemp);
-		ReleaseDC(theVisualGraphicsCore->getGraphicsDevicePort(), hdcTemp);
-		sprintf(errStr, "err after CreateDIBSection() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return 1001;
-	}
-
-#endif
-
-#ifdef useGetDIBits
-
-	hbmpTemp = CreateCompatibleBitmap(theVisualGraphicsCore->getWindowDC(), lWidthPixels, lHeightPixels);
-	if (!hbmpTemp) {
-		sprintf(errStr, "err after CreateCompatibleBitmap() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-	}
-	
-#endif
-
-	SelectObject(hdcTemp, hbmpTemp);
-	SetBkMode(hdcTemp, TRANSPARENT);
-
-	SelectObject(hdcTemp, trackTitleFont);
-	SetBkMode(hdcTemp, TRANSPARENT);
-
-	SetTextColor(hdcTemp, RGB((BYTE)red, (BYTE)green, (BYTE)blue));
-	SetTextAlign(hdcTemp, TA_TOP | TA_LEFT);
-
-	UInt16 moveVertical = (UInt16)(lHeightPixels - stringSizeHeight);
-	textDrawRect.top += moveVertical;
-	textDrawRect.bottom += moveVertical;
-
-	DrawTextW(hdcTemp, stringValue, stringValueLength, &textDrawRect, textFormat);
-
-	GdiFlush();
-
-#ifdef useGetDIBits
-
-	bitmapBits = (BYTE*)malloc(lWidthPixels * lHeightPixels * 4);
-
-	BITMAPINFO bmi;
-	bmi.bmiHeader.biSize = sizeof(bmi.bmiHeader);
-	bmi.bmiHeader.biWidth = lWidthPixels;
-	bmi.bmiHeader.biHeight = lHeightPixels;
-	bmi.bmiHeader.biPlanes = 1;
-	bmi.bmiHeader.biBitCount = 32;
-	bmi.bmiHeader.biCompression = BI_RGB;
-
-	GetDIBits(hdcTemp, hbmpTemp, 0, lHeightPixels, bitmapBits, &bmi, DIB_RGB_COLORS);
-
-#endif
-
-	// set alpha bits
-	// alpha = 1 where not empty (where text has been rendered)
-	// alpha = 0 where no text
-	/*
-	DWORD x,y;
-	DWORD* lpdwPixels;
-	lpdwPixels = (DWORD*)bitmapBits;
-	for (x = 0; x < lWidthPixels; x++) {
-		for (y = 0; y < lHeightPixels; y++) {
-			if ((*lpdwPixels & 0x00FFFFFF) != 0x00000000) {
-				*lpdwPixels |= 0xFF000000;
-			} else {
-				*lpdwPixels &= 0x00FFFFFF;
-			}
-			lpdwPixels++;
-		}
-	}
-	*/
-
-	glBindTexture(GL_TEXTURE_2D, textureNumber);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-
-	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, lWidthPixels, lHeightPixels, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (GLubyte*)bitmapBits);
-
-	DeleteObject(trackTitleFont);
-
-#ifdef useGetDIBits
-	free(bitmapBits);
-#endif
-
-	DeleteObject(hbmpTemp);
-
-	DeleteDC(hdcTemp);
-
-	textureWidth = (UInt32)lWidthPixels;
-	textureHeight = (UInt32)lHeightPixels;
-	imageWidth = (UInt32)stringSizeWidth;
-	imageHeight = (UInt32)stringSizeHeight;
-
-	return osStatus;
-}
-#endif
-
-
-void VisualGraphics::drawSpot(const float xNum, const float yNum, const float r, const float g, const float b, UInt16 waveformIntensityVal, float intensity, const UInt8 tailSize) {
-
-    float maxRadius = 0.3f;
-    int slices = 40;
-    int i;
-    float scaleRatio;
-    //float xNum, yNum, r, g, b;
-    //UInt8 waveformIntensityVal;
-    //float intensity;
-    float rotationVal=3.0;
-    UInt8 numberOfIterations;
-    
-    /* zentrale Methode zum Malen eines Lichtpunktes */
-    /* xNum und yNum : Position */
-    /* r, g, b : Farbe */
-    /* waveformIntensityVal : Umfang (0-100) */
-    /* intensity : alphaVal (0.0 - 1.0) */
-    
-    //xNum = pLichtpunkt->xPos;
-    //yNum = pLichtpunkt->yPos;
-    //r = pLichtpunkt->redVal;
-    //g = pLichtpunkt->greenVal;
-    //b = pLichtpunkt->blueVal;
-    //waveformIntensityVal = pLichtpunkt->waveformIntensityVal;
-    //intensity = pLichtpunkt->lifetimeIntensity;
-
-
-    if (waveformIntensityVal>100) {
-    	waveformIntensityVal = 100; // max
-    }
-
-    if (intensity > 1.0) {
-        intensity = 1.0; //max
-    }
-    
-    intensity = intensity/2.2f; // max alphaVal ist < 1.0
-    
-    slices = (int)((float)slices * ((float)waveformIntensityVal/100.0));
-    
-    scaleRatio = (float)waveformIntensityVal/100.0f;
-    
-    
-    if (tailSize == 0) {
-        numberOfIterations = 1;
-    } else {
-        numberOfIterations = tailSize;
-    }
-    
-    for (int m = 1; m <= numberOfIterations; m++) {
-        rotationVal -=4.0;
-		glLoadIdentity();
-		
-        glScalef (1.0, 1.0, 1.0);
-        glRotatef(rotationVal, 0.0, 0.0, 1.0);
-        glTranslatef(xNum, yNum, 0.0);
-
-        glScalef (scaleRatio, scaleRatio, scaleRatio);
-
-        // Aussenschein
-        glBegin (GL_TRIANGLE_FAN);
-    
-    
-            //    if (intensity>0.8) {
-            //    	// das Licht scheint langsam auf
-            //    	// (und startet nicht mit full power)
-            //    	glColor4f(r,g,b, (1.0 - intensity));
-            //    } else {
-            //    	glColor4f(r,g,b, intensity*(1.0/0.8));
-            //    }
-        
-        
-            //glColor4f(r,g,b, intensity);
-            glColor4f(r,g,b, intensity/m);
-        
-            glVertex2d(0.0, 0.0);
-        
-            glColor4f(r, g, b, 0.0); //glColor4f(r,g,b, intensity*(intensity/2.0)); // aufblenden (test)
-        
-            for (i = 0; i <= slices; i++) {
-                glVertex2f (maxRadius * (float)(cos ((2.0f * (float)M_PI) * (float) i/(float) slices)),
-                    maxRadius * (float)(sin ((2.0f * (float)M_PI) * (float) i/(float) slices)));
-            }
-    
-        glEnd();
-
-        if (m==1) {
-            // (nur der Kopf hat einen Kern)
-            // Kern
-            glBegin (GL_TRIANGLE_FAN);
-        
-                //glColor4f (1.0, 1.0, 1.0, (intensity/3.0)); // weiss
-                glColor4f (1.0, 1.0, 1.0, (intensity/3.0f/m)); // weiss
-                glVertex2d(0.0, 0.0);
-                
-                glColor4f(r, g, b, 0.0);
-                
-                for (i = 0; i <= slices; i++) {
-                    glVertex2f ((maxRadius/4.0f) * (float)(cos ((2.0 * (float)M_PI) * (float) i/(float) slices)),
-                            (maxRadius/4.0f) * (float)(sin ((2.0f * (float)M_PI) * (float) i/(float) slices)));
-                }
-        
-            glEnd();
-        }
-    }
-
-}
-
-
-void VisualGraphics::drawTriangle() {
-
-	GLfloat topPos = 1.0f;
-	static GLfloat red;
-	GLfloat green;
-	GLfloat blue;
-
-	static GLfloat rotateAngle = 0.0;
-
-	red = red + 0.003f;
-    
-    green = red;
-    blue = 1.0f - red;
-    
-    rotateAngle = rotateAngle + 0.3f;
-    if (rotateAngle > 360.0) {
-        rotateAngle = 0.0;
-    }
-	
-    glRotatef(rotateAngle,0.0,1.0,0.0);
-
-    glBegin(GL_TRIANGLES);
-    	glColor3d(red,0.0,0.0);
-        glVertex2d(0.0, topPos);
-        glColor3d(0.0,green,0.0);
-        glVertex2d(-1.0,-1.0);
-		glColor3d(0.0,0.0,blue);
-        glVertex2d( 1.0,-1.0);
-                
-    glEnd();
-	
-}
-
-
-void VisualGraphics::spotGL(double zPlane) {
-	glEnable(GL_POINT_SMOOTH);
-	glPointSize(5.0);
-	glBegin(GL_POINTS);
-		glColor3d(1.0, 1.0, 0.0);
-		glVertex3d( 0.0, 0.0, zPlane);
-	glEnd();
-	glDisable(GL_POINT_SMOOTH);
-}
-
-
-void VisualGraphics::drawPerspectiveRect(UInt32 textureNumber) {
-	glColor4f(1.0f, 0.3f, 0.0f, 1.0f); // orange
-	if (textureNumber) {
-		glEnable(GL_TEXTURE_2D);
-		glBindTexture(GL_TEXTURE_2D, textureNumber);
-	}
-	glBegin(GL_QUADS);
-	
-	if (textureNumber) {
-		glTexCoord2d(0.0, 0.0);
-	}
-	glVertex3d(maxLeftCoordOfGLView, maxBottomCoordOfGLView, 0.0);
-	if (textureNumber) {
-		glTexCoord2d(1.0, 0.0);
-	}
-	glVertex3d(maxRightCoordOfGLView, maxBottomCoordOfGLView, 0.0);
-	if (textureNumber) {
-		glTexCoord2d(1.0, 1.0);
-	}
-	glVertex3d(maxRightCoordOfGLView, maxBottomCoordOfGLView, -7.0);
-	if (textureNumber) {
-		glTexCoord2d(0.0, 1.0);
-	}
-	glVertex3d(maxLeftCoordOfGLView, maxBottomCoordOfGLView, -7.0);
-	glEnd();
-	if (textureNumber) {
-		glDisable(GL_TEXTURE_2D);
-	}
-	// some numbers along the z-axis
-	glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
-	char str[4];
-	for (int i = 0; i < 10; i++) {
-		glRasterPos3d(maxLeftCoordOfGLView, maxBottomCoordOfGLView, (double)i * -1.0);
-		sprintf(str, "-%d-", i);
-		theVisualGraphics->drawCStringWithGL(str, strlen(str));
-	}
-}
-
-
-void VisualGraphics::drawBeatHistogram(const UInt32* const beatHistogram) {
-    GLdouble xPos;
-    GLdouble xPosIncVal;
-	GLdouble height;
-	UInt32 maxval=0;
-	UInt8 i;
-	for (i = 0; i < 100; i++) {
-		if (beatHistogram[i] > maxval) {
-			maxval = beatHistogram[i];
-		}
-	}
-	xPos = theVisualGraphics->maxLeftCoordOfGLView + 0.2;
-	xPosIncVal = ((theVisualGraphics->maxRightCoordOfGLView - theVisualGraphics->maxLeftCoordOfGLView) / 2.0 / 100.0);
-	height = theVisualGraphics->maxTopCoordOfGLView - theVisualGraphics->maxBottomCoordOfGLView;
-	height /= 3.5;
-	//glLoadIdentity();
-	glLineWidth(1.0);
-	glColor3d(1.0, 1.0, 0.0);
-	//glTranslatef(0.5f, 0.0f, 0.0f);
-	glBegin (GL_LINE_STRIP);
-	xPos = xPos + xPosIncVal;
-	for (i = 0; i < 100; i++) {
-		glVertex2d(xPos, (height * ((GLdouble)beatHistogram[i] / (GLdouble)maxval)));
-		xPos = xPos + xPosIncVal;
-		glVertex2d(xPos, (height * ((GLdouble)beatHistogram[i] / (GLdouble)maxval)));
-	}
-	glEnd();
-}
-
-
-void VisualGraphics::drawColorlessGLPrimitive(UInt16 primitiveType, ConstVertexChainRef const vertexChain) {
-	ConstVertexChainConstIterator it;
-	glBegin(primitiveType);
-	for (it = vertexChain->begin(); it != vertexChain->end(); it++) {
-		glVertex3d((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, (*it)->vertexPosition.zPos);
-	}
-	glEnd();
-}
-
-
-void VisualGraphics::drawGLPrimitive(UInt16 primitiveType, ConstVertexChainRef const vertexChain) {
-	ConstVertexChainConstIterator it;
-	glBegin(primitiveType);
-	for (it = vertexChain->begin(); it != vertexChain->end(); it++) {
-		glColor4f((*it)->vertexColor.r, (*it)->vertexColor.g, (*it)->vertexColor.b, (*it)->vertexColor.a);
-		glVertex3d((*it)->vertexPosition.xPos, (*it)->vertexPosition.yPos, (*it)->vertexPosition.zPos);
-	}
-	glEnd();
-}
-
-
-bool VisualGraphics::canUseTextureRectExtension() {
-#if TARGET_OS_MAC
-/*
-	printf(theVisualGraphics->capabilities.strRendererName);
-	printf("\n");
-	printf(theVisualGraphics->capabilities.strRendererVendor);
-	printf("\n");
-	printf(theVisualGraphics->capabilities.strRendererVersion);
-	printf("\n");
-	if (theVisualGraphics->capabilities.glVersion >= 0x0140) {
-		printf("Open GL 1.4\n");
-	} else if (theVisualGraphics->capabilities.glVersion >= 0x0130) {
-		printf("Open GL 1.3\n");
-	} else if (theVisualGraphics->capabilities.glVersion >= 0x0120) {
-		printf("Open GL 1.2\n");
-	} else if (theVisualGraphics->capabilities.glVersion >= 0x0110) {
-		printf("Open GL 1.1\n");
-	} else if (theVisualGraphics->capabilities.glVersion >= 0x0100) {
-		printf("Open GL 1.0\n");
-	} else {
-		printf("Open GL ?.?");
-	}
-*/	
-	//return false; // test
-	
-	if (theVisualGraphics->capabilities.fTexRect) {
-		//printf("fTexRect true\n");
-		return true;
-	} else {
-		//printf("fTexRect false\n");
-		return false;
-	}
-
-	//const GLubyte* strExt;
-	//strExt = glGetString (GL_EXTENSIONS);
-	//return false;
-	//return (gluCheckExtension ("GL_EXT_texture_rectangle", strExt));
-#endif
-#if TARGET_OS_WIN
-	return false;
-#endif
-}
-
-
-void VisualGraphics::drawWaveform(const SInt16 historyNum, const UInt16 maxNumberOfHistories, const UInt32 numberOfWaveformEntries, SInt16** waveformDataMonoArray) {
-    
-	if (historyNum == -1) return;
-
-	GLdouble heightOfWaveform;
-	GLdouble widthOfWaveform;
-	GLdouble bottomCoord;
-	GLdouble rightCoord;
-    SInt16 historyIdx;
-	UInt32 i, k;
-	
-    GLdouble xPos;
-    GLdouble xPosIncVal;
-
-	widthOfWaveform = theVisualGraphics->getCanvasCoordWidth() - theVisualGraphics->xPixelToCoord(300) - theVisualGraphics->xPixelToCoord(30);
-	heightOfWaveform = theVisualGraphics->getCanvasCoordHeight() / 7.0;
-	bottomCoord = theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->yPixelToCoord(10);
-	rightCoord = theVisualGraphics->maxLeftCoordOfGLView + theVisualGraphics->xPixelToCoord(10) + widthOfWaveform;
-	xPosIncVal = widthOfWaveform / ((float)numberOfWaveformEntries * (float)maxNumberOfHistories);
-
-    glLineWidth(1.0);
-    glColor3d(0.7, 0.7, 0.7);
-    
-	glLoadIdentity();
-	glTranslated(0.0, theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->xPixelToCoord(60) + heightOfWaveform, 0.0f);
-
-	// waveform history
-	historyIdx = historyNum;
-	xPos = rightCoord;
-	for (i = 0; i < maxNumberOfHistories; i++) {
-		glBegin(GL_LINE_STRIP);
-		for (k = 0; k < numberOfWaveformEntries; k++) {
-			//glVertex2f (xPos, static_cast<GLfloat>(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform);
-			//waveformDataMonoArray[historyIdx][k] = 128;
-			glVertex2d(xPos, static_cast<GLdouble>(waveformDataMonoArray[historyIdx][k]) / 128.0 * heightOfWaveform);
-			//glVertex2f (xPos, heightOfWaveform);
-			xPos -= xPosIncVal;
-		}
-		glEnd();
-		if ((historyIdx - 1) < 0) {
-			historyIdx = maxNumberOfHistories - 1;
-		} else {
-			historyIdx--;
-		}
-	}
-
-	// waveform of current waveform data chunk
-	glLoadIdentity();
-	glTranslated(0.0, theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->xPixelToCoord(10) + (heightOfWaveform / 2.0), 0.0);
-
-	xPos = rightCoord;
-	xPosIncVal = widthOfWaveform / (float)numberOfWaveformEntries;
-	glBegin (GL_LINE_STRIP);
-	for (k = 0; k < numberOfWaveformEntries; k++) {
-		//glVertex2f(xPos, static_cast<GLfloat>(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform);
-		//glVertex2f(xPos, static_cast<GLfloat>(waveformDataMonoArray[historyIdx * numberOfWaveformEntries + k]) / 128.0f * heightOfWaveform);
-		glVertex2d(xPos, static_cast<GLdouble>(waveformDataMonoArray[historyNum][k]) / 128.0 * heightOfWaveform);
-		xPos -= xPosIncVal;
-	}
-	glEnd();
-    
-}
-
-
-void VisualGraphics::drawHistoryDiagram(std::vector<double>& aVector, size_t baseIdx, double minVal, double maxVal) {
-
-	bool drawBorder = true;
-
-	theVisualGraphics = VisualGraphics::getInstance();
-
-	GLdouble diagramCoordWidth = theVisualGraphics->getCanvasCoordWidth() / 3.0;
-	GLdouble diagramCoordHeight = theVisualGraphics->getCanvasCoordHeight() / 7.0;
-	GLdouble topCoord = theVisualGraphics->maxTopCoordOfGLView - theVisualGraphics->xPixelToCoord(10);;
-	GLdouble leftCoord = theVisualGraphics->maxLeftCoordOfGLView + theVisualGraphics->xPixelToCoord(10);
-	GLdouble xCoordStepWidth = diagramCoordWidth / static_cast<GLdouble>(aVector.size());
-
-    glLineWidth(1.0);
-    glColor3d(0.0, 0.0, 1.0);
-
-	glBegin (GL_LINE_STRIP);
-	
-	GLdouble xCoord = leftCoord + diagramCoordWidth;
-	size_t count = 0;
-	size_t currIdx = baseIdx;
-	double valueRange = maxVal - minVal;
-	while (count < aVector.size()) {
-
-		glVertex2d(xCoord, topCoord - diagramCoordHeight + (static_cast<GLdouble>(aVector[currIdx] / valueRange * diagramCoordHeight)));
-		xCoord -= xCoordStepWidth;
-		
-		if (currIdx == 0) {
-			currIdx = (aVector.size() - 1);
-		} else {
-			currIdx--;
-		}
-		count++;
-	}
-	
-	glEnd();
-	
-	if (drawBorder == true) {
-		glLineWidth(1.0);
-		glColor4d(0.0, 0.0, 1.0, 0.7);
-		glBegin (GL_LINE_LOOP);
-			glVertex2d(leftCoord, topCoord - diagramCoordHeight);
-			glVertex2d(leftCoord, topCoord);
-			glVertex2d(leftCoord + diagramCoordWidth, topCoord);
-			glVertex2d(leftCoord + diagramCoordWidth, topCoord - diagramCoordHeight);
-		glEnd();
-	}
-	
-}
-
-
-void VisualGraphics::drawWaveformSpiral(const UInt16 currHistoryNum, const UInt16 numberOfWaveformEntries, const SInt16* const waveformDataMonoArray) {
-    // eine Spriale der waveform-History
-
-     
-     // neue Version der drawWaveformSpiral
-     //20030129 (HW)
-     //
-     
-    UInt16 index;
-    UInt16 historyIndex;
-    GLfloat waveformVal;
-    static GLfloat cosTwoTimesPi = 0.0;
-    static GLfloat sinTwoTimesPi = 0.0;
-    // float radius = 0.25;
-    float radius = 0.02f;
-    float waveRadius;
-    //UInt8 waveformHistory[20][kVisualNumWaveformEntries];
-    //UInt16 timeStoreIndex;
-    //static UInt16 accuElapsedMilliSecs;
-    UInt32 accuElapsedMilliSecs;
-    //UInt8 oneSecondIsOverBool = 0;
-    static SInt8 redHistoryNum = 0;
-	UInt16 theCurrHistoryNum;
-	
-	theCurrHistoryNum = currHistoryNum;
-
-    if (cosTwoTimesPi == 0.0) {
-        cosTwoTimesPi = (float)(cos(2.0f * M_PI));
-    }
-
-    if (sinTwoTimesPi == 0.0) {
-        sinTwoTimesPi = (float)(sin(2.0f * M_PI));
-    }
-    
-    //currMusicDataHistoryNum = pMusicStatsStruct->getCurrMusicDataHistory();
-
-    //timeStoreIndex = pTiming->storeMyTime("waveformSpiral");
-    //accuElapsedMilliSecs += pTiming->getMyElapsedMilliseconds(timeStoreIndex);
-    accuElapsedMilliSecs = VisualTiming::getElapsedMilliSecsSinceReset("waveformSpiral");
-
-/*
-    if (accuElapsedMilliSecs > 1000) {
-        oneSecondIsOverBool = 1;
-        //accuElapsedMilliSecs = 0;
-        //pTiming->clearMyTimeStore(timeStoreIndex);
-        pTiming->resetTimestamp("waveformSpiral");
-        redHistoryNum = theCurrHistoryNum;
-    } else {
-        redHistoryNum--;
-        if (redHistoryNum == -1) {
-            redHistoryNum = 20;
-        }
-    }
-*/	
-	redHistoryNum--;
-	if (redHistoryNum == -1) {
-		redHistoryNum = 20;
-	}
-        
-    //pMusicStatsStruct->getMonoWaveformData(waveformHistory);
-	//pMusicStatsStruct->getMonoWaveformData((UInt8*)waveformHistory, 20);
-    
-	glColor4f(0.0, 0.0, 0.0, 1.0);
-    glLineWidth(1.0);
-    glEnable (GL_BLEND);
-    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-    glBegin (GL_LINE_STRIP);
-    
-    for (historyIndex = 0; historyIndex < 20; historyIndex++) {
-
-        theCurrHistoryNum ++;
-        if (theCurrHistoryNum == 20) {
-            theCurrHistoryNum = 0;
-        }
-    
-        for (index = 0; index < numberOfWaveformEntries; index++) {
-
-			waveformVal = waveformDataMonoArray[theCurrHistoryNum * numberOfWaveformEntries + index];
-            
-            radius = radius + 0.00009f;
-            // radius = radius + (0.0004 * ((float)index2/18.0));
-            // waveRadius = radius + (waveformVal/1024.0);
-            waveRadius = radius + ((waveformVal/255.0f) * 0.1f);
-            //waveRadius = radius + ((waveformVal/255.0)*0.6);
-            if (historyIndex == redHistoryNum) {
-                glColor4f(1.0, 0.0, 0.0, 1.0); // rot
-            } else {
-                glColor4f(0.0, 0.0, 0.0, 1.0);
-            }
-            // nur jeder 10te Punkt wird gemalt
-            if (index%10 == 0) {
-            glVertex2f (waveRadius * (float)(cos ((2.0f * M_PI) * (float) index/(float) numberOfWaveformEntries)),
-                        waveRadius * (float)(sin ((2.0f * M_PI) * (float) index/(float) numberOfWaveformEntries)));
-            }
-
-        }
-    }
-    
-    glEnd();
-    glDisable (GL_BLEND);
-
-}
-
-
-void VisualGraphics::drawSpectrumAnalyzer(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray) {
-    
-	if (currHistoryNum == -1) return;
-	
-    GLdouble xPos;
-	GLdouble yPos;
-	GLdouble coordWidth;
-	GLdouble coordHeight;
-    UInt16 index, i, k;
-    GLdouble spectrumVal;
-	UInt16 numberOfSubBands = 15;
-	float* spectrumDataSubBands;
-	float maxSpectrumSum = 0;
-	UInt32 numberOfEntriesPerBarGraph;
-	UInt16 numberOfBlocksPerBarGraph = 10;
-	GLdouble heightOfCell; // heightOfCell = heightOfBlock + heightOfGapBetweenBlocks
-	GLdouble heightOfBlock;
-	GLdouble heightOfGapBetweenBlocks;
-	GLdouble widthOfCell;
-	GLdouble widthOfBlock;
-	
-	spectrumDataSubBands = (float*)malloc(numberOfSubBands * sizeof(float));
-	for (i = 0; i < numberOfSubBands; i++) {
-		spectrumDataSubBands[i] = 0.0f;
-	}
-	numberOfEntriesPerBarGraph = numberOfSpectrumEntries / 2 / numberOfSubBands;
-	
-	// position on screen
-	coordWidth = theVisualGraphics->xPixelToCoord(300);
-	coordHeight = theVisualGraphics->yPixelToCoord(70);
-	heightOfCell = coordHeight / (float)numberOfBlocksPerBarGraph;
-	heightOfBlock = heightOfCell * 0.8;
-	heightOfGapBetweenBlocks = heightOfCell * 0.2;
-	widthOfCell = coordWidth / (float)numberOfSubBands;
-	widthOfBlock = widthOfCell * 0.9;
-	
-	xPos = theVisualGraphics->maxRightCoordOfGLView - coordWidth;
-	xPos -= theVisualGraphics->xPixelToCoord(10);
-    
-    glLineWidth(1.0);
-    glColor3d(0.7,0.7,0.7);
-    
-	glLoadIdentity();
-	
-	glPointSize(1.0);
-    
-	glTranslated(0.0, theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->xPixelToCoord(10), 0.0);
-	
-	// collect values for each subBand
-	index = 0;
-	for (i = 0; i < (numberOfSpectrumEntries / 2); i++) {
-		if ((i > 0) && (i%numberOfEntriesPerBarGraph == 0)) index++;
-		if (index < (numberOfSubBands - 1)) {
-			//spectrumDataSubBands[index] += (float)spectrumDataArray[currHistoryNum * numberOfAudioChannels * numberOfSpectrumEntries + i + 0]; // channel 0
-			spectrumDataSubBands[index] += (float)spectrumDataArray[currHistoryNum][0][i]; // channel 0
-			//spectrumDataSubBands[index] += (float)10;
-		}
-	}
-
-	for (i = 0; i < numberOfSubBands; i++) {
-		if (spectrumDataSubBands[i] > maxSpectrumSum) {
-			maxSpectrumSum = spectrumDataSubBands[i];
-		}
-	}
-	for (i = 0; i < numberOfSubBands; i++) {
-		spectrumDataSubBands[i] =  spectrumDataSubBands[i] / maxSpectrumSum; // maximum value 1.0
-	}
-    
-
-    glEnable (GL_BLEND);
-    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-	
-	glBegin (GL_QUADS);
-	for (i = 0; i < numberOfSubBands; i++) {
-		spectrumVal = spectrumDataSubBands[i];
-		for (k = 0; k < numberOfBlocksPerBarGraph; k++) {
-			if ((spectrumVal * coordHeight) > (k * heightOfCell)) {
-				glColor4f(0.0f, 0.0f, 0.0f, 0.6f);
-			} else {
-				glColor4f(0.8f, 0.8f, 0.8f, 0.1f);
-			}
-			yPos = (float)k * heightOfCell + (float)heightOfGapBetweenBlocks;
-			glVertex2d(xPos, 0.0 + yPos);
-			glVertex2d(xPos + widthOfBlock, 0.0 + yPos);
-			glVertex2d(xPos + widthOfBlock, 0.0 + yPos + heightOfBlock);
-			glVertex2d(xPos, 0.0 + yPos + heightOfBlock);
-		}
-		xPos += widthOfCell;
-	}
-	glEnd();
-    glDisable (GL_BLEND);
-
-	free(spectrumDataSubBands);
-    
-}
-
-
-void VisualGraphics::drawSpectrogram(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray) {
-    
-	if (currHistoryNum == -1) return;
-
-	GLdouble heightOfSpectrogram;
-	GLdouble widthOfSpectrogram;
-	GLdouble bottomCoord;
-	GLdouble leftCoord;
-	GLdouble rowCoordHeight;
-	GLdouble xCoordStepSize;
-	GLdouble xCoordPos;
-	GLdouble yCoordPos;
-	UInt16 i;
-	UInt16 k;
-	SInt16 historyIdx;
-	char strInC[32];
-	
-	widthOfSpectrogram = theVisualGraphics->xPixelToCoord(300);
-	heightOfSpectrogram = theVisualGraphics->getCanvasCoordHeight() - theVisualGraphics->yPixelToCoord(95);
-	bottomCoord = theVisualGraphics->getMaxBottomCoordOfCanvas() + theVisualGraphics->yPixelToCoord(85);
-	leftCoord = theVisualGraphics->getMaxRightCoordOfCanvas() - widthOfSpectrogram - theVisualGraphics->yPixelToCoord(10);
-	rowCoordHeight = heightOfSpectrogram / (float)numberOfHistories;
-	xCoordStepSize = widthOfSpectrogram / (numberOfSpectrumEntries / 2);
-	
-    
-	//glEnable (GL_BLEND);
-    //glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-	//glBlendFunc (GL_SRC_ALPHA, GL_ZERO);
-	sprintf(strInC, "%d", currHistoryNum);
-	setProcessInfo ("CurrHistoryNum", strInC);
-	
-	yCoordPos = bottomCoord;
-	historyIdx = currHistoryNum;
-	
-	for (i = 0; i < numberOfHistories; i++) {
-		xCoordPos = leftCoord;
-		glBegin(GL_TRIANGLE_STRIP);
-		for (k = 0; k < (numberOfSpectrumEntries / 2); k++) {
-			//glColor4f((float)spectrumDataArray[historyIdx * numberOfAudioChannels * numberOfSpectrumEntries + k + 0] / 255.0f, 0.0f, 0.0f, 0.8f);
-			glColor4f((float)spectrumDataArray[historyIdx][0][k] / 255.0f, 0.0f, 0.0f, 0.8f);
-			glVertex2d(xCoordPos, yCoordPos + rowCoordHeight);
-			glVertex2d(xCoordPos, yCoordPos);
-			xCoordPos+= xCoordStepSize;
-		}
-		glEnd();
-		yCoordPos+= rowCoordHeight;
-		if ((historyIdx - 1) < 0) {
-			historyIdx = numberOfHistories - 1;
-		} else {
-			historyIdx--;
-		}
-	}
-	
-	//glDisable (GL_BLEND);
-	
-}
-
-
-void VisualGraphics::drawWaveformCircle (const float xNum, const float yNum, const float rotVal, const float radius) {
-	GLUquadricObj *qobj;
-
-	// glLoadIdentity();
-
-	glRotatef(rotVal, 0.0, 0.0, 1.0);
-	glTranslatef(xNum, yNum, 0.0);
-
-	// glCallList(startList);
-
-	glClearColor(0.0, 0.0, 0.0, 0.0);
-
-	qobj = gluNewQuadric();
-
-	gluQuadricDrawStyle(qobj, GLU_SILHOUETTE);
-
-	gluDisk (qobj, 0.0, radius, 10, 1);
-
-}
-
-
-void VisualGraphics::drawWaveformShape(const SInt8* const waveformShapeArray, const UInt16 maxNumberOfWaveformShapeHistory) {
-    UInt16 index;
-    GLdouble xPoint;
-    
-	xPoint = theVisualGraphics->maxLeftCoordOfGLView;
-    
-    glLineWidth(0.6f);
-    glEnable (GL_BLEND);
-    glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-    glColor4f(1.0f, 1.0f, 1.0f, 0.3f); // white
-    glBegin (GL_LINES);
-    for (index = 0; index < maxNumberOfWaveformShapeHistory; index++) {
-        xPoint += 0.004f;
-		glVertex2d(xPoint, (GLfloat)waveformShapeArray[index * 2 + 0]/256.0);
-        glVertex2d(xPoint, (GLfloat)waveformShapeArray[index * 2 + 1]/256.0);
-    }
-    glEnd();
-    glDisable (GL_BLEND);
-}
-
-
-void VisualGraphics::drawCStringWithGL (const char* const cString, const UInt16 stringLength) {
-#if TARGET_OS_MAC
-    for (UInt16 i = 0; i < stringLength; i++) {
-        glutBitmapCharacter(GLUT_BITMAP_9_BY_15, cString[i]);
-    }
-#endif
-#if TARGET_OS_WIN
-	theVisualGraphics->glPrint(cString);
-#endif
-}
-
-
-void VisualGraphics::doFallbackActorShow(const char* const visualActorName) {
-	GLdouble xCoordPos, yCoordPos;
-    int len;
-	char fallbackActorString[128];
-	strcpy(fallbackActorString, visualActorName);
-	strcat(fallbackActorString, ": unimplemented show() method in VisualActor implementation");
-	len = (int)strlen(fallbackActorString);
-
-	xCoordPos = theVisualGraphics->maxLeftCoordOfGLView + theVisualGraphics->xPixelToCoord(10);
-	yCoordPos = theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->yPixelToCoord(62);
-	glColor3d(1.0, 1.0, 0.0);
-	glRasterPos3d(xCoordPos, yCoordPos, 0.0);
-    theVisualGraphics->drawCStringWithGL(fallbackActorString, len);
-}
-
-
-float VisualGraphics::getCosTwoTimesPi() {
-    return (float)(cos (2.0f * (float)M_PI));
-}
-
-
-float VisualGraphics::getSinTwoTimesPi() {
-    return (float)(sin (2.0f * (float)M_PI));
-}
-
-
-UInt32 VisualGraphics::getNextFreeTextureName() {
-	GLuint aTextureName;
-	glGenTextures(1, &aTextureName);
-	return (UInt32)aTextureName;
-}
-
-
-void VisualGraphics::deleteTextures(const UInt16 numberOfTextures, const UInt32* const textureNames) {
-	glDeleteTextures(numberOfTextures, (GLuint*)textureNames);
-}
-
-
-void VisualGraphics::showProcessInfoRow(double xNum, double yNum, const char* const textRowStr) {
-    int len;
-	glRasterPos3d(xNum, yNum, 0.0);
-    len = (int)strlen(textRowStr);
-    theVisualGraphics->drawCStringWithGL(textRowStr, len);
-}
-
-
-void VisualGraphics::showProcessInfoNote() {
-	char noteStr[128];
-	GLdouble xCoordPos, yCoordPos;
-	glColor3f(1.0f, 1.0f, 1.0f);
-	strcpy(noteStr, "Press [s] on the keyboard to hide Process Monitor Info");
-	xCoordPos = theVisualGraphics->maxLeftCoordOfGLView + theVisualGraphics->xPixelToCoord(10);
-	yCoordPos = theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->yPixelToCoord(36);
-	glRasterPos3d(xCoordPos, yCoordPos, 0.0);
-	theVisualGraphics->drawCStringWithGL(noteStr, strlen(noteStr));
-	strcpy(noteStr, "Press [a] on the keyboard to hide Process Monitor Audio Info");
-	xCoordPos = theVisualGraphics->maxLeftCoordOfGLView + theVisualGraphics->xPixelToCoord(10);
-	yCoordPos = theVisualGraphics->maxBottomCoordOfGLView + theVisualGraphics->yPixelToCoord(18);
-	glRasterPos3d(xCoordPos, yCoordPos, 0.0);
-	theVisualGraphics->drawCStringWithGL(noteStr, strlen(noteStr));
-}
-
-
-#if TARGET_OS_MAC
-CGContextRef VisualGraphics::createBitmapContext(size_t pixelWidth, size_t pixelHeight) {
- 
-	size_t bitsPerComponent = 8;
-	
-    UInt16 bitmapBytesPerRow = pixelWidth * 4;
-    UInt32 bitmapByteCount = bitmapBytesPerRow * pixelHeight;
- 
-    //CGColorSpaceRef colorSpace = CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB);
-	CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); // In Mac OS X v10.4 and later, this color space is no longer device-dependent and is replaced by the generic counterpart—kCGColorSpaceGenericRGB 
-	
-    UInt8* bitmapData = (UInt8*)malloc(bitmapByteCount);
-    if (bitmapData == NULL) {
-        writeLog("bitmapData is NULL in createBitmapContext");
-        return NULL;
-    }
-	memset(bitmapData, 0, bitmapByteCount);
-
-	CGContextRef context = CGBitmapContextCreate(bitmapData, pixelWidth, pixelHeight, bitsPerComponent, bitmapBytesPerRow, colorSpace, kCGImageAlphaPremultipliedFirst);
-    if (context == NULL) {
-		free (bitmapData);
-        writeLog("context is NULL in createBitmapContext");
-        return NULL;
-    }
-    CGColorSpaceRelease(colorSpace);
- 
-    return context;
-}
-#endif
-
-
-UInt32* VisualGraphics::createARGBCheckPixels(UInt32 width, UInt32 height) {
-
-	const char* color = "red"; // red, green, blue, white
-	
-	UInt8 numberOfChannels = 4; // ARGB
-	char* argbPixels = (char*)malloc(width * height * numberOfChannels * sizeof(char));
-	if (argbPixels == NULL) {
-		char errStr[256];
-		sprintf(errStr, "argbPixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return (UInt32*)argbPixels;
-	}
-
-	UInt32 cnt = 0;
-	UInt32 i;
-	UInt32 j;
-	UInt32 c;
-	for (i = 0; i < height; i++) {
-		for (j = 0; j < width; j++) {
-			c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255;
-			if (c == 255) {
-				argbPixels[cnt + 0] = (char)255; // alpha
-			} else {
-				argbPixels[cnt + 0] = (char)0; // alpha
-			}
-			if (strcmp(color, "red") == 0 || strcmp(color, "white") == 0) {
-				argbPixels[cnt + 1] = (char)c;
-			} else {
-				argbPixels[cnt + 1] = (char)0;
-			}
-			if (strcmp(color, "green") == 0 || strcmp(color, "white") == 0) {
-				argbPixels[cnt + 2] = (char)c;
-			} else {
-				argbPixels[cnt + 2] = (char)0;
-			}
-			if (strcmp(color, "blue") == 0 || strcmp(color, "white") == 0) {
-				argbPixels[cnt + 3] = (char)c;
-			} else {
-				argbPixels[cnt + 3] = (char)0;
-			}
-			cnt += 4;
-		}
-	}
-	
-	return (UInt32*)argbPixels;
-}
-
-
-UInt32* VisualGraphics::createBGRACheckPixels(UInt32 width, UInt32 height) {
-
-	const char* color = "red"; // red, green, blue, white
-	
-	UInt8 numberOfChannels = 4; // BGRA
-	char* bgraPixels = (char*)malloc(width * height * numberOfChannels * sizeof(char));
-	if (bgraPixels == NULL) {
-		char errStr[256];
-		sprintf(errStr, "bgraPixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return (UInt32*)bgraPixels;
-	}
-
-	UInt32 cnt = 0;
-	UInt32 i;
-	UInt32 j;
-	UInt32 c;
-	for (i = 0; i < height; i++) {
-		for (j = 0; j < width; j++) {
-			c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255;
-			if (strcmp(color, "blue") == 0 || strcmp(color, "white") == 0) {
-				bgraPixels[cnt + 0] = (char)c;
-			} else {
-				bgraPixels[cnt + 0] = (char)0;
-			}
-			if (strcmp(color, "green") == 0 || strcmp(color, "white") == 0) {
-				bgraPixels[cnt + 1] = (char)c;
-			} else {
-				bgraPixels[cnt + 1] = (char)0;
-			}
-			if (strcmp(color, "red") == 0 || strcmp(color, "white") == 0) {
-				bgraPixels[cnt + 2] = (char)c;
-			} else {
-				bgraPixels[cnt + 2] = (char)0;
-			}
-			if (c == 255) {
-				bgraPixels[cnt + 3] = (char)255; // alpha
-			} else {
-				bgraPixels[cnt + 3] = (char)0; // alpha
-			}
-			cnt += 4;
-		}
-	}
-	
-	return (UInt32*)bgraPixels;
-}
-
-
-UInt32* VisualGraphics::createRGBACheckPixels(UInt32 width, UInt32 height) {
-
-	const char* color = "red"; // red, green, blue, white
-	
-	UInt8 numberOfChannels = 4; // RGBA
-	char* rgbaPixels = (char*)malloc(width * height * numberOfChannels * sizeof(char));
-	if (rgbaPixels == NULL) {
-		char errStr[256];
-		sprintf(errStr, "rgbaPixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return (UInt32*)rgbaPixels;
-	}
-
-	UInt32 cnt = 0;
-	UInt32 i;
-	UInt32 j;
-	UInt32 c;
-	for (i = 0; i < height; i++) {
-		for (j = 0; j < width; j++) {
-			c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255;
-			if (strcmp(color, "red") == 0 || strcmp(color, "white") == 0) {
-				rgbaPixels[cnt + 0] = (char)c;
-			} else {
-				rgbaPixels[cnt + 0] = (char)0;
-			}
-			if (strcmp(color, "green") == 0 || strcmp(color, "white") == 0) {
-				rgbaPixels[cnt + 1] = (char)c;
-			} else {
-				rgbaPixels[cnt + 1] = (char)0;
-			}
-			if (strcmp(color, "blue") == 0 || strcmp(color, "white") == 0) {
-				rgbaPixels[cnt + 2] = (char)c;
-			} else {
-				rgbaPixels[cnt + 2] = (char)0;
-			}
-			if (c == 255) {
-				rgbaPixels[cnt + 3] = (char)255; // alpha
-			} else {
-				rgbaPixels[cnt + 3] = (char)0; // alpha
-			}
-			cnt += 4;
-		}
-	}
-	
-	return (UInt32*)rgbaPixels;
-}
-
-
-UInt32* VisualGraphics::createABGRCheckPixels(UInt32 width, UInt32 height) {
-
-	const char* color = "red"; // red, green, blue, white
-	
-	UInt8 numberOfChannels = 4; // ABGR
-	char* abgrPixels = (char*)malloc(width * height * numberOfChannels * sizeof(char));
-	if (abgrPixels == NULL) {
-		char errStr[256];
-		sprintf(errStr, "abgrPixels == NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return (UInt32*)abgrPixels;
-	}
-
-	UInt32 cnt = 0;
-	UInt32 i;
-	UInt32 j;
-	UInt32 c;
-	for (i = 0; i < height; i++) {
-		for (j = 0; j < width; j++) {
-			c = (((i & 0x8) == 0) ^ ((j & 0x8) == 0)) * 255;
-			if (c == 255) {
-				abgrPixels[cnt + 0] = (char)255; // alpha
-			} else {
-				abgrPixels[cnt + 0] = (char)0; // alpha
-			}
-			if (strcmp(color, "blue") == 0 || strcmp(color, "white") == 0) {
-				abgrPixels[cnt + 1] = (char)c;
-			} else {
-				abgrPixels[cnt + 1] = (char)0;
-			}
-			if (strcmp(color, "green") == 0 || strcmp(color, "white") == 0) {
-				abgrPixels[cnt + 2] = (char)c;
-			} else {
-				abgrPixels[cnt + 2] = (char)0;
-			}
-			if (strcmp(color, "red") == 0 || strcmp(color, "white") == 0) {
-				abgrPixels[cnt + 3] = (char)c;
-			} else {
-				abgrPixels[cnt + 3] = (char)0;
-			}
-			cnt += 4;
-		}
-	}
-	
-	return (UInt32*)abgrPixels;
-}
-
-
-void VisualGraphics::createCheckTexture(UInt32& textureNumber, UInt32& textureWidth, UInt32& textureHeight, UInt32& imageWidth, UInt32& imageHeight) {
-
-	GLuint texid;
-	textureWidth = 64;
-	textureHeight = 64;
-	imageWidth = 64;
-	imageHeight = 64;
-	
-	UInt32* rgbaPixels = this->createARGBCheckPixels(textureWidth, textureHeight);
-
-	glEnable(GL_TEXTURE_2D);
-
-	glGenTextures(1, &texid);
-
-	glBindTexture(GL_TEXTURE_2D, texid);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-	
-	this->setPixelStorageParams();
-
-#if TARGET_OS_MAC
-	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_BGRA, GL_UNSIGNED_INT_8_8_8_8_REV, (GLuint*)rgbaPixels);
-#endif
-#if TARGET_OS_WIN
-	glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, textureWidth, textureHeight, 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, (GLubyte*)rgbaPixels);
-#endif
-
-	glDisable(GL_TEXTURE_2D);
-
-	free(rgbaPixels);
-
-	textureNumber = texid;
-
-}
-
-
-OSStatus VisualGraphics::copyARGBBitmapDataToTexture(UInt32 textureNumber, UInt32 width, UInt32 height, bool canUseRectExtension, UInt16 format, UInt16 dataType, const UInt32** bitmapData) {
-
-	bool debug = false;
-
-	OSStatus status = noErr;
-
-	GLuint* argbBitmapData;
-	if (debug == true) {
-		argbBitmapData = (GLuint*)this->createARGBCheckPixels(width, height);
-	} else {
-		argbBitmapData = (GLuint*)*bitmapData;
-	}
-
-	if (canUseRectExtension == false) {
-		glEnable (GL_TEXTURE_2D);
-	} else {
-#if TARGET_OS_MAC
-		glEnable (GL_TEXTURE_RECTANGLE_EXT);
-#endif
-	}
-
-	if (canUseRectExtension == false) {
-		glBindTexture (GL_TEXTURE_2D, (GLuint)textureNumber);
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-		glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-	} else {
-#if TARGET_OS_MAC
-		glBindTexture (GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber);
-#endif
-	}
-	
-	this->setPixelStorageParams();
-
-	if (canUseRectExtension == false) {
-		glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, format, dataType, argbBitmapData);
-	} else {
-#if TARGET_OS_MAC
-		glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, width, height, 0, format, dataType, argbBitmapData);
-#endif
-	}
-
-	if (canUseRectExtension == false) {
-		glDisable (GL_TEXTURE_2D);
-	} else {
-#if TARGET_OS_MAC
-		glDisable (GL_TEXTURE_RECTANGLE_EXT);
-#endif
-	}
-	
-	if (debug == true) {
-		free(argbBitmapData);
-	}
-	
-	return status;
-
-}
-
-
-#if TARGET_OS_WIN
-
-
-void VisualGraphics::buildFont()								// Build Our Bitmap Font
-{
-	HFONT	font;										// Windows Font ID
-	HFONT	oldfont;									// Used For Good House Keeping
-
-	base = glGenLists(96);								// Storage For 96 Characters
-
-	font = CreateFont(	-15,							// Height Of Font
-						0,								// Width Of Font
-						0,								// Angle Of Escapement
-						0,								// Orientation Angle
-						FW_NORMAL,						// Font Weight
-						FALSE,							// Italic
-						FALSE,							// Underline
-						FALSE,							// Strikeout
-						ANSI_CHARSET,					// Character Set Identifier
-						OUT_TT_PRECIS,					// Output Precision
-						CLIP_DEFAULT_PRECIS,			// Clipping Precision
-						DEFAULT_QUALITY,			// Output Quality
-						FF_DONTCARE|DEFAULT_PITCH,		// Family And Pitch
-						"Arial");					// Font Name
-
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-
-	oldfont = (HFONT)SelectObject(theVisualGraphicsCore->getWindowDC(), font);           // Selects The Font We Want
-	wglUseFontBitmaps(theVisualGraphicsCore->getWindowDC(), 32, 96, base);				// Builds 96 Characters Starting At Character 32
-	SelectObject(theVisualGraphicsCore->getWindowDC(), oldfont);							// Selects The Font We Want
-	DeleteObject(font);									// Delete The Font
-}
-
-
-void VisualGraphics::killFont(void) {
-	// Delete All 96 Characters
-	glDeleteLists(base, 96);
-}
-
-
-void VisualGraphics::glPrint(const char *fmt, ...) {
-	// Custom GL "Print" Routine
-	char		text[256];								// Holds Our String
-	va_list		ap;										// Pointer To List Of Arguments
-
-	if (fmt == NULL)									// If There's No Text
-		return;											// Do Nothing
-
-	va_start(ap, fmt);									// Parses The String For Variables
-	    vsprintf(text, fmt, ap);						// And Converts Symbols To Actual Numbers
-	va_end(ap);											// Results Are Stored In Text
-
-	glPushAttrib(GL_LIST_BIT);							// Pushes The Display List Bits
-	glListBase(base - 32);								// Sets The Base Character to 32
-	glCallLists(strlen(text), GL_UNSIGNED_BYTE, text);	// Draws The Display List Text
-	glPopAttrib();										// Pops The Display List Bits
-
-}
-
-#endif
-
-
-void VisualGraphics::setMaxTopCoordOfCanvas(double theMaxTopCoordOfGLView) {
-	theVisualGraphics->maxTopCoordOfGLView = theMaxTopCoordOfGLView;
-}
-
-
-void VisualGraphics::setMaxLeftCoordOfCanvas(double theMaxLeftCoordOfGLView) {
-	theVisualGraphics->maxLeftCoordOfGLView = theMaxLeftCoordOfGLView;
-}
-
-
-void VisualGraphics::setMaxBottomCoordOfCanvas(double theMaxBottomCoordOfGLView) {
-	theVisualGraphics->maxBottomCoordOfGLView = theMaxBottomCoordOfGLView;
-}
-
-
-void VisualGraphics::setMaxRightCoordOfCanvas(double theMaxRightCoordOfGLView) {
-	theVisualGraphics->maxRightCoordOfGLView = theMaxRightCoordOfGLView;
-}
-
-
-void VisualGraphics::setMaxNearCoordOfCanvas(double theMaxNearCoordOfGLView) {
-	theVisualGraphics->maxNearCoordOfGLView = theMaxNearCoordOfGLView;
-}
-
-
-void VisualGraphics::setMaxFarCoordOfCanvas(double theMaxFarCoordOfGLView) {
-	theVisualGraphics->maxFarCoordOfGLView = theMaxFarCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxTopCoordOfCanvas() {
-	return theVisualGraphics->maxTopCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxLeftCoordOfCanvas() {
-	return theVisualGraphics->maxLeftCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxBottomCoordOfCanvas() {
-	return theVisualGraphics->maxBottomCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxRightCoordOfCanvas() {
-	return theVisualGraphics->maxRightCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxNearCoordOfCanvas() {
-	return theVisualGraphics->maxNearCoordOfGLView;
-}
-
-
-double VisualGraphics::getMaxFarCoordOfCanvas() {
-	return theVisualGraphics->maxFarCoordOfGLView;
-}
-
-
-int VisualGraphics::getCanvasXOriginOffset() {
-	VisualGraphicsCore* theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getCanvasXOriginOffset();
-}
-
-
-int VisualGraphics::getCanvasYOriginOffset() {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	return theVisualGraphicsCore->getCanvasYOriginOffset();
-}
-
-
-const char* const VisualGraphics::getRendererName() {
-	return theVisualGraphics->capabilities.strRendererName;
-}
-
-
-const char* const VisualGraphics::getRendererVendor() {
-	return theVisualGraphics->capabilities.strRendererVendor;
-}
-
-
-const char* const VisualGraphics::getRendererVersion() {
-	return theVisualGraphics->capabilities.strRendererVersion;
-}
-
-
-unsigned short VisualGraphics::getGLVersion() {
-	return theVisualGraphics->capabilities.glVersion;
-}
-
-
-long VisualGraphics::getMaxTextureSize() {
-	return (long)theVisualGraphics->capabilities.maxTextureSize;
-}
-
-
-double VisualGraphics::xPixelToCoord(UInt32 pixelPos) {
-	return ((double)pixelPos * (theVisualGraphics->getCanvasCoordWidth() / (double)theVisualGraphics->getCanvasPixelWidth()));
-}
-
-
-double VisualGraphics::yPixelToCoord(UInt32 pixelPos) {
-	return ((double)pixelPos * (theVisualGraphics->getCanvasCoordHeight() / (double)theVisualGraphics->getCanvasPixelHeight()));
-}
-
-
-UInt16 VisualGraphics::xCoordToPixel(double coordPos) {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	double tempCoord = coordPos + (theVisualGraphics->getCanvasCoordWidth() / 2.0);
-	
-	return (UInt16)(tempCoord * ((double)theVisualGraphics->getCanvasPixelWidth() / theVisualGraphics->getCanvasCoordWidth()));
-}
-
-
-UInt16 VisualGraphics::yCoordToPixel(double coordPos) {
-	VisualGraphicsCore* theVisualGraphicsCore;
-	theVisualGraphicsCore = VisualGraphicsCore::getInstance();
-	double tempCoord = coordPos + (theVisualGraphics->getCanvasCoordHeight() / 2.0);
-	
-	return (UInt16)(tempCoord * ((double)theVisualGraphics->getCanvasPixelHeight() / theVisualGraphics->getCanvasCoordHeight()));
-}
-
-
-bool VisualGraphics::getCoordsOfPixelPosition(
-												double xPixelPos, 
-												double yPixelPos, 
-												double zAxisPos, 
-												double* xCoordPos,
-												double* yCoordPos,
-												double* zCoordPos) {
-	bool success = false;
-	
-	GLdouble modelviewMatrix[16];
-	GLdouble projectionMatrix[16];
-	GLint viewport[4];
-	GLint retVal;
-	glGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);
-	glGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);
-	glGetIntegerv(GL_VIEWPORT, viewport);
-	retVal = gluUnProject(xPixelPos,
-									yPixelPos,
-									zAxisPos,
-									modelviewMatrix,
-									projectionMatrix,
-									viewport,
-									xCoordPos,
-									yCoordPos,
-									zCoordPos);
-	if (retVal == GL_TRUE) {
-		success = true;
-	}
-	return success;
-}
-
-
-bool VisualGraphics::getPixelsOfCoordPosition(
-												double xCoordPos,
-												double yCoordPos,
-												double zCoordPos,
-												double* xPixelPos, 
-												double* yPixelPos, 
-												double* zAxisPos) {
-	bool success = false;
-	
-	GLdouble modelviewMatrix[16];
-	GLdouble projectionMatrix[16];
-	GLint viewport[4];
-	GLint retVal;
-	glGetDoublev(GL_MODELVIEW_MATRIX, modelviewMatrix);
-	glGetDoublev(GL_PROJECTION_MATRIX, projectionMatrix);
-	glGetIntegerv(GL_VIEWPORT, viewport);
-/*	
-	for (int i = 0; i < 16; i++) {
-		printf("modelviewMatrix: %.2f\n", modelviewMatrix[i]);
-	}
-
-	for (int i = 0; i < 16; i++) {
-		printf("projectionMatrix: %.2f\n", projectionMatrix[i]);
-	}
-
-	for (int i = 0; i < 4; i++) {
-		printf("viewport: %d\n", viewport[i]);
-	}
-*/	
-	retVal = gluProject(xCoordPos,
-									yCoordPos,
-									zCoordPos,
-									modelviewMatrix,
-									projectionMatrix,
-									viewport,
-									xPixelPos,
-									yPixelPos,
-									zAxisPos);
-	if (retVal == GL_TRUE) {
-		success = true;
-	}
-	return success;
-}
-
-
-void VisualGraphics::gatherOpenGLCapabilities() {
-
-	const GLubyte* strExt;
-
-	const GLubyte* strRend;
-	const GLubyte* strVers;
-	const GLubyte* strVend;
-
-	GLint maxTextureSize;
-	
-	theVisualGraphics->capabilities.glVersion = 0;
-
-	// get renderer strings
-	strRend = glGetString (GL_RENDERER);
-	strncpy (theVisualGraphics->capabilities.strRendererName, (char*)strRend, 255);
-	strVend = glGetString (GL_VENDOR);
-	strncpy (theVisualGraphics->capabilities.strRendererVendor, (char*)strVend, 255);
-	strVers = glGetString (GL_VERSION);
-	strncpy (theVisualGraphics->capabilities.strRendererVersion, (char*)strVers, 255);
-	{ // get BCD version
-		short j = 0;
-		short shiftVal = 8;
-		while (((strVers[j] <= '9') && (strVers[j] >= '0')) || (strVers[j] == '.')) { 
-			// get only basic version info (until first non-digit or non-.)
-			if ((strVers[j] <= '9') && (strVers[j] >= '0')) {
-				theVisualGraphics->capabilities.glVersion += (strVers[j] - '0') << shiftVal;
-				shiftVal -= 4;
-			}
-			j++;
-		}
-	}
-
-	strExt = glGetString (GL_EXTENSIONS);
-	//writeLog((char*)strExt);
-
-/*
-	UInt16 cnt = 0;
-	char* token = NULL;
-	char* text=(char *)malloc(strlen((char *)glGetString(GL_EXTENSIONS))+1);	// Allocate Memory For Our Extension String
-	strcpy (text,(char *)glGetString(GL_EXTENSIONS));		// Grab The Extension List, Store In Text
-
-	token=strtok(text," ");									// Parse 'text' For Words, Seperated By " " (spaces)
-	UInt16 maxtokens = 80;
-	while(token!=NULL)										// While The Token Isn't NULL
-	{
-
-		//glColor3f(0.5f,1.0f,0.5f);							// Set Color To Bright Green
-		//glPrint(0,96+(cnt*32)-scroll,0,"%i",cnt);			// Print Current Extension Number
-		//glColor3f(1.0f,1.0f,0.5f);							// Set Color To Yellow
-		//glPrint(50,96+(cnt*32)-scroll,0,token);				// Print The Current Token (Parsed Extension Name)
-		writeLog(token);
-		token=strtok(NULL," ");								// Search For The Next Token
-		cnt++;												// Increase The Counter
-		if (cnt>maxtokens)									// Is 'maxtokens' Less Than 'cnt'
-		{
-			token = NULL;									// If So, Set 'maxtokens' Equal To 'cnt'
-		}
-	}
-*/
-
-
-
-	glGetIntegerv (GL_MAX_TEXTURE_SIZE, &maxTextureSize);
-	theVisualGraphics->capabilities.maxTextureSize = (long)maxTextureSize;
-
-	// get caps
-#if TARGET_OS_MAC
-	glGetIntegerv (GL_MAX_TEXTURE_UNITS, 
-		&theVisualGraphics->capabilities.textureUnits);
-	glGetIntegerv (GL_MAX_3D_TEXTURE_SIZE, 
-		&theVisualGraphics->capabilities.max3DTextureSize);
-	glGetIntegerv (GL_MAX_CUBE_MAP_TEXTURE_SIZE, 
-		&theVisualGraphics->capabilities.maxCubeMapTextureSize);
-
-	// get functionality info
-	theVisualGraphics->capabilities.fSpecularVector = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_specular_vector", strExt);
-	theVisualGraphics->capabilities.fTransformHint = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_transform_hint", strExt);
-	theVisualGraphics->capabilities.fPackedPixels = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_packed_pixels", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_packed_pixel", strExt)  || 
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fClientStorage = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_client_storage", strExt);
-	theVisualGraphics->capabilities.fYCbCr = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_ycbcr_422", strExt);
-	theVisualGraphics->capabilities.fTextureRange = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_texture_range", strExt);
-	theVisualGraphics->capabilities.fFence = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_fence", strExt);
-	theVisualGraphics->capabilities.fVAR = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_vertex_array_range", strExt);
-	theVisualGraphics->capabilities.fVAO = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_vertex_array_object", strExt);
-	theVisualGraphics->capabilities.fElementArray = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_element_array", strExt);
-	theVisualGraphics->capabilities.fVPEvals = 
-		gluCheckExtension((GLubyte*)"GL_APPLE_vertex_program_evaluators",strExt);
-	theVisualGraphics->capabilities.fFloatPixels = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_float_pixels", strExt);
-	theVisualGraphics->capabilities.fFlushRenderer = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_flush_render", strExt);
-	theVisualGraphics->capabilities.fPixelBuffer = 
-		gluCheckExtension ((GLubyte*)"GL_APPLE_pixel_buffer", strExt);
-	theVisualGraphics->capabilities.fImaging = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fTransposeMatrix = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_transpose_matrix", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fMultitexture = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_multitexture", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexEnvAdd = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_add", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture_env_add", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexEnvCombine = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_combine", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexEnvDot3 = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_dot3", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexEnvCrossbar = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_env_crossbar", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fTexCubeMap = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_cube_map", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexCompress = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_compression", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fMultisample = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_multisample", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fTexBorderClamp = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_border_clamp", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0130);
-	theVisualGraphics->capabilities.fPointParam = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_point_parameters", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fVertexProg = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_vertex_program", strExt);
-	theVisualGraphics->capabilities.fFragmentProg = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_fragment_program", strExt);
-	theVisualGraphics->capabilities.fTexMirrorRepeat = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_texture_mirrored_repeat", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fDepthTex = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_depth_texture", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fShadow = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_shadow", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fShadowAmbient = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_shadow_ambient", strExt);
-	theVisualGraphics->capabilities.fVertexBlend = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_vertex_blend", strExt);
-	theVisualGraphics->capabilities.fWindowPos = 
-		gluCheckExtension ((GLubyte*)"GL_ARB_window_pos", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fTex3D = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture3D", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fClipVolHint = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_clip_volume_hint", strExt);
-	theVisualGraphics->capabilities.fRescaleNorm = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_rescale_normal", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fBlendColor = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_blend_color", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fBlendMinMax = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_blend_minmax", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fBlendSub = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_blend_subtract", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fCVA = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_compiled_vertex_array", strExt);
-	theVisualGraphics->capabilities.fTexLODBias = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture_lod_bias", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fABGR = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_abgr", strExt);
-	theVisualGraphics->capabilities.fBGRA = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_bgra", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fTexFilterAniso = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture_filter_anisotropic",strExt);
-	theVisualGraphics->capabilities.fPaletteTex = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_paletted_texture", strExt);
-	theVisualGraphics->capabilities.fShareTexPalette = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_shared_texture_palette", strExt);
-	theVisualGraphics->capabilities.fSecColor = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_secondary_color", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fTexCompressS3TC = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture_compression_s3tc", strExt);
-	theVisualGraphics->capabilities.fTexRect = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_texture_rectangle", strExt);
-	theVisualGraphics->capabilities.fFogCoord = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_fog_coord", strExt);
-	theVisualGraphics->capabilities.fDrawRangeElements = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_draw_range_elements", strExt);
-	theVisualGraphics->capabilities.fStencilWrap = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_stencil_wrap", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fBlendFuncSep = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_blend_func_separate", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fMultiDrawArrays = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_multi_draw_arrays", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fShadowFunc = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_shadow_funcs", strExt);
-	theVisualGraphics->capabilities.fStencil2Side = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_stencil_two_side", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fColorSubtable = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_color_subtable", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fConvolution = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_convolution", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fHistogram = 
-		gluCheckExtension ((GLubyte*)"GL_EXT_histogram", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fColorTable = 
-		gluCheckExtension ((GLubyte*)"GL_SGI_color_table", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fColorMatrix = 
-		gluCheckExtension ((GLubyte*)"GL_SGI_color_matrix", strExt) || 
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-	theVisualGraphics->capabilities.fTexEdgeClamp = 
-		gluCheckExtension ((GLubyte*)"GL_SGIS_texture_edge_clamp", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fGenMipmap = 
-		gluCheckExtension ((GLubyte*)"GL_SGIS_generate_mipmap", strExt);
-	theVisualGraphics->capabilities.fTexLOD = 
-		gluCheckExtension ((GLubyte*)"GL_SGIS_texture_lod", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0120);
-	theVisualGraphics->capabilities.fPointCull = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_point_cull_mode", strExt);
-	theVisualGraphics->capabilities.fTexMirrorOnce = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_texture_mirror_once", strExt);
-	theVisualGraphics->capabilities.fPNtriangles = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_pn_triangles", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_ATIX_pn_triangles", strExt);
-	theVisualGraphics->capabilities.fTextFragShader = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_text_fragment_shader", strExt);
-	theVisualGraphics->capabilities.fBlendEqSep = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_blend_equation_separate", strExt);
-	theVisualGraphics->capabilities.fBlendWeightMinMax = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_blend_weighted_minmax", strExt);
-	theVisualGraphics->capabilities.fCombine3 = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_texture_env_combine3", strExt);
-	theVisualGraphics->capabilities.fSepStencil = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_separate_stencil", strExt);
-	theVisualGraphics->capabilities.fArrayRevComps4Byte = 
-		gluCheckExtension ((GLubyte*)"GL_ATI_array_rev_comps_in_4_bytes",strExt);
-	theVisualGraphics->capabilities.fPointSprite = 
-		gluCheckExtension ((GLubyte*)"GL_NV_point_sprite", strExt);
-	theVisualGraphics->capabilities.fRegCombiners = 
-		gluCheckExtension ((GLubyte*)"GL_NV_register_combiners", strExt);
-	theVisualGraphics->capabilities.fRegCombiners2 = 
-		gluCheckExtension ((GLubyte*)"GL_NV_register_combiners2", strExt);
-	theVisualGraphics->capabilities.fTexEnvCombine4 = 
-		gluCheckExtension ((GLubyte*)"GL_NV_texture_env_combine4", strExt);
-	theVisualGraphics->capabilities.fBlendSquare = 
-		gluCheckExtension ((GLubyte*)"GL_NV_blend_square", strExt) ||
-		(theVisualGraphics->capabilities.glVersion >= 0x0140);
-	theVisualGraphics->capabilities.fFogDist = 
-		gluCheckExtension ((GLubyte*)"GL_NV_fog_distance", strExt);
-	theVisualGraphics->capabilities.fMultisampleFilterHint = 
-		gluCheckExtension ((GLubyte*)"GL_NV_multisample_filter_hint", strExt);
-	theVisualGraphics->capabilities.fTexGenReflect = 
-		gluCheckExtension ((GLubyte*)"GL_NV_texgen_reflection", strExt);
-	theVisualGraphics->capabilities.fTexShader = 
-		gluCheckExtension ((GLubyte*)"GL_NV_texture_shader", strExt);
-	theVisualGraphics->capabilities.fTexShader2 = 
-		gluCheckExtension ((GLubyte*)"GL_NV_texture_shader2", strExt);
-	theVisualGraphics->capabilities.fTexShader3 = 
-		gluCheckExtension ((GLubyte*)"GL_NV_texture_shader3", strExt);
-	theVisualGraphics->capabilities.fDepthClamp = 
-		gluCheckExtension ((GLubyte*)"GL_NV_depth_clamp", strExt);
-	theVisualGraphics->capabilities.fLightMaxExp = 
-		gluCheckExtension ((GLubyte*)"GL_NV_light_max_exponent", strExt);
-	theVisualGraphics->capabilities.fRasterPosClip = 
-		gluCheckExtension ((GLubyte*)"GL_IBM_rasterpos_clip", strExt);
-	theVisualGraphics->capabilities.fConvBorderModes = 
-		gluCheckExtension ((GLubyte*)"GL_HP_convolution_border_modes", strExt) ||
-		gluCheckExtension ((GLubyte*)"GL_ARB_imaging", strExt);
-
-	if (theVisualGraphics->capabilities.fTexRect) {
-		// only check if extension supported
-		glGetIntegerv (GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT, &theVisualGraphics->capabilities.maxRectTextureSize);
-	} else {
-		theVisualGraphics->capabilities.maxRectTextureSize = 0;
-	}
-#endif
-}
-
-
-UInt32 VisualGraphics::power2Ceiling(UInt32 n) {
-    UInt32 i = 1;
-    while (i < n) i <<= 1;
-    return i;
-}
-
-
-#if TARGET_OS_WIN
-DWORD VisualGraphics::getBestModeForDisplayResolution(const DisplayResolution* const aDisplayResolution) {
-	DWORD iModeNum = 0;
-	DWORD iModeNumFound = 0;
-	DWORD bestRefreshRate = 0;
-	DEVMODE devMode;
-	bool found = false;
-	
-	ZeroMemory(&devMode, sizeof (DEVMODE));
-	devMode.dmSize = sizeof(DEVMODE);
-
-	while (EnumDisplaySettings(NULL, iModeNum, &devMode)) {
-		if ((devMode.dmPelsWidth == aDisplayResolution->horizontalPixels) &&
-			(devMode.dmPelsHeight == aDisplayResolution->verticalPixels) &&
-			(devMode.dmBitsPerPel == aDisplayResolution->bitsPerPixel) &&
-			(devMode.dmDisplayFrequency == aDisplayResolution->refreshRate)) {
-			iModeNumFound = iModeNum;
-			found = true;
-		}
-		iModeNum++;
-	}
-
-	if (found == false) {
-		// find a resolution with best refresh rate
-		iModeNum = 0;
-		ZeroMemory(&devMode, sizeof (DEVMODE));
-		devMode.dmSize = sizeof(DEVMODE);
-		while (EnumDisplaySettings(NULL, iModeNum, &devMode)) {
-			if ((devMode.dmPelsWidth == aDisplayResolution->horizontalPixels) &&
-				(devMode.dmPelsHeight == aDisplayResolution->verticalPixels) &&
-				(devMode.dmBitsPerPel == aDisplayResolution->bitsPerPixel)) {
-				if (devMode.dmDisplayFrequency > bestRefreshRate) {
-					bestRefreshRate = devMode.dmDisplayFrequency;
-					iModeNumFound = iModeNum;
-					found = true;
-				}
-			}
-			iModeNum++;
-		}
-	}
-	return iModeNumFound;
-}
-#endif
-
-
-VisualNurbs* VisualGraphics::createNurbsObject(const VisualItemIdentifier& identifier, UInt8 sNumKnots, float* sKnots, UInt8 tNumKnots, float* tKnots, UInt16 sStride, UInt16 tStride, UInt16 sOrder, UInt16 tOrder) {
-
-	VisualNurbs* aVisualNurbs = new VisualNurbs(sNumKnots, sKnots, tNumKnots, tKnots, sStride, tStride, sOrder, tOrder);
-
-	NurbsMapIterator it;
-	it = theVisualGraphics->nurbsMap.find(identifier);
-	if (it == theVisualGraphics->nurbsMap.end()) {
-		theVisualGraphics->nurbsMap[identifier] = aVisualNurbs;
-	} else {
-		if (it->second) {
-			delete it->second;
-		}
-		it->second = aVisualNurbs;
-	}
-	return aVisualNurbs;
-}
-
-
-VisualNurbs* VisualGraphics::getNurbsObject(const VisualItemIdentifier& identifier) {
-	NurbsMapIterator it = theVisualGraphics->nurbsMap.find(identifier);
-	if (it != theVisualGraphics->nurbsMap.end()) {
-		return it->second;
-	}
-	return NULL;
-}
-
-
-void VisualGraphics::deleteNurbsObject(const VisualItemIdentifier& identifier) {
-	NurbsMapIterator it = theVisualGraphics->nurbsMap.find(identifier);
-	if (it != theVisualGraphics->nurbsMap.end()) {
-		delete it->second;
-		theVisualGraphics->nurbsMap.erase(it);
-	}
-}
-
-
-void VisualGraphics::copyFramebufferToTexture(UInt32 textureNumber, bool canUseRectExtension, UInt32 xPos, UInt32 yPos, UInt32 width, UInt32 height, UInt16 pixelFormat, UInt16 dataType) {
-
-	bool debug = false;
-
-	theVisualGraphics = VisualGraphics::getInstance();
-	int drawRectOriginXPos = theVisualGraphics->getCanvasXOriginOffset() + xPos;
-	int drawRectOriginYPos = theVisualGraphics->getCanvasYOriginOffset() + yPos;
-
-	if (canUseRectExtension == false) {
-        glEnable(GL_TEXTURE_2D);
-    } else {
-#if TARGET_OS_MAC
-        glEnable (GL_TEXTURE_RECTANGLE_EXT);
-#endif
-	}
-
-	if (canUseRectExtension == false) {
-        glBindTexture(GL_TEXTURE_2D, (GLuint)textureNumber);
-    } else {
-#if TARGET_OS_MAC
-        glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)textureNumber);
-#endif
-    }
-
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-	glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-
-	if (debug == false) {
-		if (canUseRectExtension == false) {
-			glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, drawRectOriginXPos, drawRectOriginYPos, width, height, 0);
-		} else {
-#if TARGET_OS_MAC
-			glCopyTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, drawRectOriginXPos, drawRectOriginYPos, width, height, 0);
-#endif
-		}
-	} else {
-		UInt32* image = NULL;
-#if TARGET_OS_WIN
-		image = this->createBGRACheckPixels(width, height);
-#endif
-#if TARGET_OS_MAC
-		image = this->createARGBCheckPixels(width, height);
-#endif
-		this->setPixelStorageParams();
-		if (canUseRectExtension == false) {
-#if TARGET_OS_WIN
-			glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, pixelFormat, dataType, (GLubyte*)image);
-#endif
-#if TARGET_OS_MAC
-			glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, pixelFormat, dataType, (GLuint*)image);
-#endif
-		} else {
-#if TARGET_OS_MAC
-			glTexImage2D(GL_TEXTURE_RECTANGLE_EXT, 0, GL_RGBA, width, height, 0, pixelFormat, dataType, (GLuint*)image);
-#endif
-		}
-		free(image);
-	}
-
-    if (canUseRectExtension == false) {
-        glDisable(GL_TEXTURE_2D);
-	} else {
-#if TARGET_OS_MAC
-        glDisable(GL_TEXTURE_RECTANGLE_EXT);
-#endif
-    }
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphics.h b/src/projectM-iTunes-VizKit/source/VisualGraphics.h
deleted file mode 100644
index 050832d..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphics.h
+++ /dev/null
@@ -1,1249 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphics.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualGraphics_h
-#define VisualGraphics_h
-
-
-#include "VisualGraphicTypes.h"
-
-#include <map>
-#include <vector>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#include <ApplicationServices/../Frameworks/QD.framework/Headers/Quickdraw.h> // CGrafPtr
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h>
-#endif
-
-#ifndef GRAPHICS_DEVICE
-	#if TARGET_OS_WIN
-		#define GRAPHICS_DEVICE	HWND
-	#endif
-	#if TARGET_OS_MAC
-		#define GRAPHICS_DEVICE	CGrafPtr
-	#endif
-#endif
-
-
-namespace VizKit {
-
-	class VisualItemIdentifier; // Forward declaration (to avoid include of header file).
-	class VisualNurbs; // Forward declaration (to avoid include of header file).
-	class VisualConvolutionFilter; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Stores the attributes of a display resolution.
-	 */
-	class DisplayResolution {
-	public:
-		UInt16 horizontalPixels; /**< The horizontal dimension of the resolution measured in pixels. */
-		UInt16 verticalPixels; /**< The vertical dimension of the resolution measured in pixels. */
-		UInt16 bitsPerPixel; /**< The number of bits per pixel of the resolution. */
-		UInt16 refreshRate; /**< The refresh rate of the resolution. */
-		char showStr[32]; /**< The string that is presented to the user. */
-	};
-
-	/**
-	 * Communicates with the graphics device. Language of choice is OpenGL.
-	 * Any function needing drawing can use a method of Visual Graphics class.
-	 * That way only the header file of Visual Graphics needs to be included 
-	 * and no strong binding to a specific graphics language is needed inside other classes than this one.
-	 */
-	class VisualGraphics {
-
-	public:
-
-		/**
-		 * Returns a pointer to the instance. 
-		 * Initializes the Visual Graphics class if neccessary. 
-		 * The visual graphics class is of singleton type.
-		 * @return A pointer to the initialized VisualGraphics.
-		 */
-		static VisualGraphics* getInstance(void);
-
-		/**
-		 * Cleans up the Visual Graphics singleton class.
-		 */	
-		static void dispose(void);
-
-		/**
-		 * Answers the question whether the Visual Graphics singleton class is initialized or not.
-		 * @return True if VisualGraphics singleton class is initialized.\ False if not.
-		 */	
-		static bool isInitialized(void);
-		
-		/**
-		 * Stores the port of the graphics device internally.
-		 * @param thePort The drawing port of the graphics device.
-		 */
-		void setGraphicsDevicePort(const GRAPHICS_DEVICE thePort);
-
-		/**
-		 * Stores the canvas rect.
-		 * The canvas rect defines the rectangle where the drawing takes place.
-		 * The rectangle is passed in by iTunes and can be scaled in fullscreen mode.
-		 * @param aCanvasRect Pointer to rectangle definition.
-		 */
-		void setCanvasRect(const ::Rect* const aCanvasRect);
-		
-		/**
-		 * Stores whether the visualizer is expected to show in fullscreen mode or in windowed mode.
-		 * @param isFullscreen True if fullscreen mode is expected. False if windowed mode is expected.
-		 */
-		void isSetupForFullScreenMode(const bool isFullscreen);
-
-		/**
-		 * Returns the draw rect relative to window rect.
-		 * @param[out] aRect The draw rect. Coordinates are relative to window rect.
-		 */
-		void getCanvasRect(::Rect* aRect);
-
-		/**
-		 * Returns the current width of the screen in pixels.
-		 * @return The current width of the screen in pixels.
-		 */
-		UInt16 getScreenWidth(void);
-
-		/**
-		 * Returns the current height of the screen in pixels.
-		 * @return The current height of the screen in pixels.
-		 */
-		UInt16 getScreenHeight(void);
-
-		/**
-		 * Returns the current number of bits per pixel of the frame buffer.
-		 * @return The current number of bits per pixel of the frame buffer.
-		 */
-		UInt16 getBitsPerPixelOfScreen(void);
-
-		/**
-		 * Returns the current refresh rate of the screen.
-		 * Can return 0 if refresh rate can't be determined.
-		 * @return The current refresh rate of the screen.
-		 */
-		UInt16 getRefreshRateOfScreen(void);
-
-		/**
-		 * Returns the width of the canvas in pixels.
-		 * @return The width of the canvas in pixels.
-		 */
-		UInt16 getCanvasPixelWidth(void);
-
-		/**
-		 * Returns the height of the canvas in pixels.
-		 * @return The height of the canvas in pixels.
-		 */
-		UInt16 getCanvasPixelHeight(void);
-		
-		/**
-		 * Returns the width of the canvas in coords.
-		 * @return The width of the canvas in coords.
-		 */	
-		double getCanvasCoordWidth(void);
-
-		/**
-		 * Returns the height of the canvas in coords.
-		 * @return The height of the canvas in coords.
-		 */	
-		double getCanvasCoordHeight(void);
-
-		/**
-		 * Returns the bounding rectangle of the canvas rectangle.
-		 * If in fullscreen mode, the screen rect is returned.
-		 * If in windowed mode, the rect of the window is returned 
-		 * (the position values are relative to the screen rectangle).
-		 * @param[out] aRect The dimensions of the bounding rect.
-		 */
-		void getCanvasSurroundingRect(::Rect* aRect);
-
-		/**
-		 * Returns the OpenGL viewport.
-		 * @param[out] aViewport The dimensions of the OpenGL viewport.
-		 */
-		void getViewportRect(::Rect* aViewport);
-
-		/**
-		 * Sets up an OpenGL context of the operating system.
-		 * OS windowing system and OpenGL get connected.
-		 * @return true on success, false on failure.
-		 */
-		bool setupContext();
-
-		/**
-		 * Tears down the OpenGL allocations.
-		 */
-		void disposeContext();
-
-		/**
-		 * Sets up an orthographic projection matrix of GL.
-		 */
-		void setOrthographicProjection();
-
-		/**
-		 * Sets up the perspective projection matrix of GL.
-		 * @param maxNearCoord The maximum near position.\ With the maxNearCoord the position of the near clipping plane of the viewing volume is set.\ By setting maxNearCoord the perspective projection (the shape of the viewing volume) can be adjusted.\ The value of maxNearCoord must be positive.
-		 * @remarks Default value for maxNearCoord is 1.0.
-		 */
-		void setPerspectiveProjection(double maxNearCoord = 1.0);
-
-		/**
-		 * Sets the value of the background color.
-		 * @param aColorVal The RGBA values.
-		 */	
-		void setBackgroundColor(const RGBAColor& aColorVal);
-		
-		/**
-		 * Returns the value of the background color.
-		 * @return The RGBA values of the background color.
-		 */	
-		RGBAColor getBackgroundColor(void);
-
-		/**
-		 * Clears the screen with the background color.
-		 */
-		void clearBackground(void);
-		
-		/**
-		 * Specifies the storage parameters for pixel packing and unpacking (copying from GPU to CPU and vice versa).
-		 */
-		void setPixelStorageParams(void);
-
-		/**
-		 * Resets the model view matrix.
-		 */
-		void resetModelViewMatrix(void);
-		
-		/**
-		 * Call of glTranslatef().
-		 * @param xNum Horizontal coord value.
-		 * @param yNum Vertical coord value.
-		 * @param zNum Z-coord value.
-		 */	
-		void translateMatrix(double xNum, double yNum, double zNum);
-
-		/**
-		 * Call of glRotatef().
-		 * @param angle The angle of the rotation.
-		 * @param xAmount The amount of the rotation around the horizontal axis.
-		 * @param yAmount The amount of the rotation around the vertical axis.
-		 * @param zAmount The amount of the rotation around the z-axis.
-		 */	
-		void rotateMatrix(float angle, float xAmount, float yAmount, float zAmount);
-
-		/**
-		 * Call of glScalef().
-		 * @param xFactor The scale factor in the horizontal dimension.
-		 * @param yFactor The scale factor in the vertical dimension.
-		 * @param zFactor The scale factor in the z-dimension.
-		 */	
-		void scaleMatrix(float xFactor, float yFactor, float zFactor);
-
-		/**
-		 * Enables texturing by calling glEnable(GL_TEXTURE_2D) or glEnable(GL_TEXTURE_RECTANGLE_EXT).
-		 * @param useRectExtension If true texturing is enabled with GL_TEXTURE_RECTANGLE_EXT, if false texturing is enabled with GL_TEXTURE_2D.
-		 */
-		void enableTexturing(bool useRectExtension);
-
-		/**
-		 * Disables texturing by calling glDisable(GL_TEXTURE_2D) or glDisable(GL_TEXTURE_RECTANGLE_EXT).
-		 * @param useRectExtension If true texturing is disabled with GL_TEXTURE_RECTANGLE_EXT, if false texturing is disabled with GL_TEXTURE_2D.
-		 */
-		void disableTexturing(bool useRectExtension);
-
-		/**
-		 * Binds a texture (sets it current) by calling glBindTexture().
-		 * @param textureName The name/number/id of the texture.
-		 * @param useRectExtension If true texture is bound with GL_TEXTURE_RECTANGLE_EXT, if false texture is bound with GL_TEXTURE_2D.
-		 */
-		void bindTexture(UInt32 textureName, bool useRectExtension);
-
-		/**
-		 * Writes the pixels of the current texture (last one binded) into the provided buffer.
-		 * @param useRectExtension If true texture has rectangular dimensions.
-		 * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param type The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 * @param[out] buffer Pointer to pointer to allocated buffer of 32bit chunks (one chunk is one pixel with four 8bit channels).
-		 */
-		void get32BitPixelsOfCurrentTexture(bool useRectExtension, UInt16 format, UInt16 type, UInt32** buffer);
-
-		/**
-		 * Writes the pixels of the current texture (last one binded) into the provided buffer.
-		 * @param useRectExtension If true texture has rectangular dimensions.
-		 * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param type The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 * @param[out] buffer Pointer to pointer to allocated buffer of 8bit chunks (four chunks are one pixel with four channels).
-		 */
-		void get8BitPixelsOfCurrentTexture(bool useRectExtension, UInt16 format, UInt16 type, UInt8** buffer);
-
-		/**
-		 * Enables blending by calling glEnable(GL_BLEND) followed by function glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA).
-		 * The alpha value of the source is taken and blended with the destination color values.
-		 */
-		void enableAlphaBlending(void);
-
-		/**
-		 * Disables blending by calling glDisable(GL_BLEND).
-		 */
-		void disableBlending(void);
-
-		/**
-		 * Sets a color value by calling glColor4f().
-		 * @param theColor The color values to set.
-		 */
-		void setColor(const RGBAColor& theColor);
-		
-		/**
-		 * Enables GL_DEPTH_TEST.
-		 */
-		void enableDepthTest(void);
-
-		/**
-		 * Disables GL_DEPTH_TEST.
-		 */
-		void disableDepthTest(void);
-
-		/**
-		 * Enables GL_CULL_FACE.
-		 */
-		void enableCullFace(void);
-
-		/**
-		 * Disables GL_CULL_FACE.
-		 */
-		void disableCullFace(void);
-		
-		/**
-		 * Specifies that front-facing facets can be culled.
-		 */
-		void cullFaceFront(void);
-
-		/**
-		 * Specifies that back-facing facets can be culled.
-		 */
-		void cullFaceBack(void);
-
-#if TARGET_OS_MAC
-		/**
-		 * Creates a bitmap context.
-		 * @param pixelWidth The width of the bitmap in pixels.
-		 * @param pixelHeight The height of the bitmap in pixels.
-		 * @return A bitmap context.\ The caller has to issue a CGContextRelease() call on the context to release it.
-		 */
-		CGContextRef createBitmapContext(size_t pixelWidth, size_t pixelHeight);
-#endif
-
-		/**
-		 * Returns an error string (if there was an error).
-		 * @param[out] outErrorString Pointer to character buffer to receive the error string.
-		 * @return Error number. 
-		 */
-		UInt8 getOpenGLError(char* outErrorString);
-
-		/**
-		 * Iterator function.
-		 * @param[out] showStr The string that can be presented to the user.
-		 * @param[out] isSelected 1 if current resolution is preferred by user (preference value), 0 otherwise.
-		 * @return true if there are more DisplayResolutions; false if the last DisplayResolution has been processed.
-		 */
-		bool getNextAvailableDisplayResolution(char* showStr, UInt8* isSelected);
-
-		/**
-		 * Sets the values according to the showString.
-		 * @param selectedShowStr The passed-in show string as it is presented on select control.
-		 * @param[out] horizontalPixels The horizontal dimension of the resolution measured in pixels.
-		 * @param[out] verticalPixels The vertical dimension of the resolution measured in pixels.
-		 * @param[out] bitsPerPixel The number of bits per pixel of the resolution.
-		 * @param[out] refreshRate The refresh rate of the resolution.
-		 * @return Error state as SInt32 OSStatus.
-		 */
-		OSStatus matchDisplayResolutionShowStrWithPrefs(const char* const selectedShowStr, UInt16& horizontalPixels, UInt16& verticalPixels, UInt16& bitsPerPixel, UInt16& refreshRate);
-
-		/**
-		 * Returns the initially determimed preferred or best display resolution for full screen display.
-		 * @return The initially determimed preferred or best display resolution for full screen display.
-		 */
-		DisplayResolution returnPreferredDisplayResolution(void);
-
-		/**
-		 * Returns a randomly picked horizontal position.
-		 * @return Randomly picks possible position in horizontal dimension.
-		 */
-		double getRandXScreenPos(void);
-
-		/**
-		 * Returns a randomly picked vertical position.
-		 * @return Randomly picks possible position in vertical dimension.
-		 */
-		double getRandYScreenPos(void);
-		
-		/**
-		 * Sets the current context to the one that has been set up before with the setupContext() call.
-		 * @return errNum: 0 if no error, > 0 error.
-		 * @remarks The context must be set back to the one set up initially with each render action in case Cover Flow did change it in the meantime.
-		 */
-		UInt16 setCurrentContext(void);
-
-		/**
-		 * Ends the GL drawing by flushing, finishing and swaping the buffer content.
-		 * Every executed drawing command should show its result on screen.
-		 * The function is called at the end of each RenderMessage.
-		 */
-		void finishGLDrawing(void);
-		
-		/**
-		 * Returns the current color buffer specification for reading pixels.
-		 * @return The current color buffer specification for reading pixels.
-		 */
-		int getCurrentColorBufferForPixelReadingOperations(void);
-		
-		/**
-		 * Returns the current color buffer specification for drawing pixels.
-		 * @return The current color buffer specification for drawing pixels.
-		 */
-		int getCurrentColorBufferForPixelDrawingOperations(void);
-		
-		/**
-		 * Sets the color buffer specification for reading pixels.
-		 * @param colorBuffer The color buffer to use for reading pixels.
-		 */
-		void setColorBufferForPixelReadingOperations(int colorBuffer);
-
-		/**
-		 * Sets the color buffer specification for drawing pixels.
-		 * @param colorBuffer The color buffer to use for drawing pixels.
-		 */
-		void setColorBufferForPixelDrawingOperations(int colorBuffer);
-
-		/**
-		 * Draws a texture on screen.
-		 * If the texture is stored in texture memory, this function can be called to put the texture on screen.
-		 * @param textureNumber The number/id/name of the texture.
-		 * @param vertexChain A vector of vertices.
-		 * @param canUseRectExtension True if graphics system does support rectangular texture extension.\ False otherwise.\ Default false.
-		 * @param aBlendMode How to blend texture data with the framebuffer data.\ Default kBlend.
-		 */
-		void drawTexture(UInt32 textureNumber, ConstVertexChainRef const vertexChain, bool canUseRectExtension = false, BlendMode aBlendMode = kBlend);
-
-		/**
-		 * Draws image data to framebuffer.
-		 * @param pixelData Pointer to pointer to image data.
-		 * @param xCoord The bottom left x coord.
-		 * @param yCoord The bottom top y coord.
-		 * @param width The width of the rectangle.
-		 * @param height The height of the rectangle.
-		 * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 * @param aConvolutionFilter An optional convolution filter that is used when drawing the pixels.
-		 */	
-		void drawPixels(UInt32** pixelData, double xCoord, double yCoord, UInt32 width, UInt32 height, UInt16 format, UInt16 dataType, const VisualConvolutionFilter* const aConvolutionFilter = NULL);
-
-		/**
-		 * Reads image data from framebuffer into processor memory.
-		 * @param xCoord The bottom left x coord.
-		 * @param yCoord The bottom top y coord.
-		 * @param width The width of the rectangle.
-		 * @param height The height of the rectangle.
-		 * @param[out] pixelData Pointer to pointer of buffer to write image data to.
-		 * @param format The format of the requested pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param dataType The data type of the requested pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 */	
-		void readPixels(double xCoord, double yCoord, UInt32 width, UInt32 height, UInt32** pixelData, UInt16 format, UInt16 dataType);
-
-		/**
-		 * Creates a texture of the track title. The function uses a DIB section. 
-		 * A custom font is loaded and the string is printed using OS specific funcionality. Windows-only.
-		 * @param stringValue The string to plot to texture.
-		 * @param stringValueLength The length of the string to plot to texture.
-		 * @param textureNumber The texture number (texture name) of the generated texture.
-		 * @param[out] textureWidth The width of the generated texture.
-		 * @param[out] textureHeight The height of the generated texture.
-		 * @param[out] imageWidth The width of the image data of the generated texture.
-		 * @param[out] imageHeight The height of the image data of the generated texture.
-		 * @param fontName The name of the font.
-		 * @param fontSize The size of the font in points.\ The point size denotes the cell height of the font.
-		 * @param red The red color component of the text font.
-		 * @param green The green color component of the text font.
-		 * @param blue The blue color component of the text font.
-		 * @param alignment The horizontal alignment of the string.
-		 * @param maxPixelWidth The requested maximum width of the texture.\ If 0 the argument is ignored.
-		 * @param maxPixelHeight The requested maximum height of the texture.\ If 0 the argument is ignored.
-		 * @param On Windows it is common to measure the point font height excluding internal leading.\ On Mac the point font size is measured including internal leading.
-		 */
-#if TARGET_OS_WIN
-		OSStatus makeTextureOfStringWin(wchar_t* stringValue, int stringValueLength, UInt32 textureNumber, UInt32 &textureWidth, UInt32 &textureHeight, UInt32 &imageWidth, UInt32 &imageHeight, const char* const fontName, UInt16 fontSize, UInt8 red, UInt8 green, UInt8 blue, HorizontalAlignment alignment, UInt16 maxPixelWidth = 0, UInt16 maxPixelHeight = 0);
-#endif
-
-		/**
-		 * Draws a single spot.
-		 * @param xNum The horizontal position of the spot.
-		 * @param yNum The vertical position of the spot.
-		 * @param r The red component of the RGB-Color.
-		 * @param g The green component of the RGB-Color.
-		 * @param b The blue component of the RGB-Color.
-		 * @param waveformIntensityVal The current radius of the spot.
-		 * @param intensity The current intensity of the spot.
-		 * @param tailSize The current tailSize of the spot.
-		 */		
-		void drawSpot(const float xNum, const float yNum, const float r, const float g, const float b, UInt16 waveformIntensityVal, float intensity, const UInt8 tailSize);
-
-		/**
-		 * Draws a triangle.
-		 * For testing purposes.
-		 */
-		void drawTriangle(void);
-		
-		/**
-		 * Draws a spot (for testing purpose).
-		 * @param zPlane The z-Coord (optional parameter, default = 0.0).
-		 */
-		void spotGL(double zPlane = 0.0);
-
-		/**
-		 * Draws a perspective rectangle.
-		 * @param textureNumber The number/id/name of the texture (if any).
-		 */	
-		void drawPerspectiveRect(UInt32 textureNumber = NULL);
-
-		/**
-		 * Draws a histogram of the beat values.
-		 * In use?
-		 * @param beatHistogram The beat histogram.
-		 */
-		void drawBeatHistogram(const UInt32* const beatHistogram);
-
-		/**
-		 * Draws a colorless GL primitive by calling glVertex() between glBegin() and glEnd(). 
-		 * The color of the vertices can be set before calling this method.
-		 * @param primitiveType Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, 
-		 * GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.
-		 * @param vertexChain A vector of vertices.
-		 */
-		void drawColorlessGLPrimitive(UInt16 primitiveType, ConstVertexChainRef const vertexChain);
-
-		/**
-		 * Draws a GL primitive by calling glVertex() between glBegin() and glEnd(). 
-		 * The color of the vertices can be set before calling this method.
-		 * @param primitiveType Ten symbolic constants are accepted: GL_POINTS, GL_LINES, GL_LINE_STRIP, GL_LINE_LOOP, GL_TRIANGLES, 
-		 * GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN, GL_QUADS, GL_QUAD_STRIP, and GL_POLYGON.
-		 * @param vertexChain A vector of vertices.
-		 */
-		void drawGLPrimitive(UInt16 primitiveType, ConstVertexChainRef const vertexChain);
-
-		/**
-		 * The function queries the system and answers whether textures can have non power of 2 dimensions.
-		 * @return true if graphics system does support rectangular texture extension. false otherwise.
-		 */	
-		bool canUseTextureRectExtension(void);
-
-		/**
-		 * Draws the waveform data.
-		 * @param historyNum The index of the history the waveform data is taken from.
-		 * @param maxNumberOfHistories Maximum number of histories stored in waveformDataMonoArray.
-		 * @param numberOfWaveformEntries The number of waveform values.
-		 * @param waveformDataMonoArray Pointer to waveform data of all histories. The array has two dimensions: history and index.
-		 */		
-		void drawWaveform(const SInt16 historyNum, const UInt16 maxNumberOfHistories, const UInt32 numberOfWaveformEntries, SInt16** waveformDataMonoArray);
-
-		/**
-		 * Draws the data of a vector.
-		 * @param aVector Reference to a vextor that holds the data.
-		 * @param baseIdx The current start index.
-		 * @param minVal The (possible) minumum value.\ The value is used for calculating the vertical dimension of the diagram.
-		 * @param maxVal The (possible) maximum value.\ The value is used for calculating the vertical dimension of the diagram.
-		 * @remarks The vector can act as a ringbuffer by letting baseIdx point to the current start of the vector.
-		 */	
-		static void drawHistoryDiagram(std::vector<double>& aVector, size_t baseIdx, double minVal, double maxVal);
-		
-		/**
-		 * Draws the waveform data in spiral form.
-		 * @param currHistoryNum The current history of the waveform data.
-		 * @param numberOfWaveformEntries The number of waveform values.
-		 * @param waveformDataMonoArray Pointer to waveform data of all histories.
-		 */
-		void drawWaveformSpiral(const UInt16 currHistoryNum, const UInt16 numberOfWaveformEntries, const SInt16* const waveformDataMonoArray);
-
-		/**
-		 * Draws a graphical representation of the spectral data with subband bar graphs.
-		 * @param currHistoryNum The index of the history the spectrum data is taken from.
-		 * @param numberOfHistories The maximum number of histories.
-		 * @param numberOfSpectrumEntries The number of spectrum data values.
-		 * @param numberOfAudioChannels The number of audio channels.
-		 * @param spectrumDataArray Pointer to spectrum data of all histories.
-		 */
-		void drawSpectrumAnalyzer(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray);
-
-		/**
-		 * Draws a graphical representation of the spectral data as spectrogram.
-		 * @param currHistoryNum The index of the history the spectrum data is taken from.
-		 * @param numberOfHistories The maximum number of histories.
-		 * @param numberOfSpectrumEntries The number of spectrum data values.
-		 * @param numberOfAudioChannels The number of audio channels.
-		 * @param spectrumDataArray Pointer to spectrum data of all histories.
-		 */
-		void drawSpectrogram(const SInt16 currHistoryNum, const UInt16 numberOfHistories, const UInt32 numberOfSpectrumEntries, const UInt16 numberOfAudioChannels, const UInt8*** const spectrumDataArray);
-
-		/**
-		 * Draws a circle representing the waveform data.
-		 * @param xNum The horizontal position.
-		 * @param yNum The vertical position.
-		 * @param rotVal The degree of rotation.
-		 * @param radius Radius.
-		 */
-		void drawWaveformCircle(const float xNum, const float yNum, const float rotVal, const float radius);
-
-		/**
-		 * Draws a shape constucted by waveform data.
-		 * @param waveformShapeArray Pointer to the waveform data.
-		 * @param maxNumberOfWaveformShapeHistory Maximum of history.
-		 */
-		void drawWaveformShape(const SInt8* const waveformShapeArray, const UInt16 maxNumberOfWaveformShapeHistory);
-
-		/**
-		 * Draws a 7bit char buffer string to screen.
-		 * Mac uses GLUT_BITMAP_9_BY_15. Win uses Arial font created by wglUseFontBitmaps.
-		 */
-		void drawCStringWithGL(const char* const cString, const UInt16 stringLength);
-
-		/**
-		 * The default implementation of the show() method of the VisualActor interface class.
-		 * @param visualActorName The name of the VisualActor.
-		 */
-		void doFallbackActorShow(const char* const visualActorName);
-
-		/**
-		 * Returns cos(2.0 * _PI).
-		 * @return cos(2.0 * _PI).
-		 */		
-		float getCosTwoTimesPi(void);
-
-		/**
-		 * Returns sin(2.0 * _PI).
-		 * @return sin(2.0 * _PI).
-		 */		
-		float getSinTwoTimesPi(void);
-		
-		/**
-		 * Returns a free texture name/index/number/id.
-		 * @return A free texture name/index/number.
-		 */
-		UInt32 getNextFreeTextureName(void);
-
-		/**
-		 * Frees memory bound by OpenGL textures.
-		 * @param numberOfTextures The number of textures to free.
-		 * @param textureNames Pointer to texture names (texture numbers) to free.
-		 */
-		void deleteTextures(const UInt16 numberOfTextures, const UInt32* const textureNames);
-
-		/**
-		 * Shows a row of Process Monitor Info.
-		 * The graphical operations involved in putting a row of textual process info on screen is encapsulated within this function.
-		 * @param xNum Horizontal position.
-		 * @param yNum Vertical position.
-		 * @param textRowStr Pointer to character buffer with process info string (label and value).
-		 */
-		void showProcessInfoRow(double xNum, double yNum, const char* const textRowStr);
-
-		/**
-		 * Shows a note about Process Monitor.
-		 */	
-		void showProcessInfoNote(void);
-		
-		/**
-		 * Creates an image buffer with 8-bit per channel ARGB pixel data.
-		 * @param width The width of the bitmap data.
-		 * @param height The height of the bitmap data.
-		 * @return A pointer to pointer to pixel data.
-		 */
-		UInt32* createARGBCheckPixels(UInt32 width, UInt32 height);
-
-		/**
-		 * Creates an image buffer with 8-bit per channel BGRA pixel data.
-		 * @param width The width of the bitmap data.
-		 * @param height The height of the bitmap data.
-		 * @return A pointer to pointer to pixel data.
-		 */
-		UInt32* createBGRACheckPixels(UInt32 width, UInt32 height);
-
-		/**
-		 * Creates an image buffer with 8-bit per channel RGBA pixel data.
-		 * @param width The width of the bitmap data.
-		 * @param height The height of the bitmap data.
-		 * @return A pointer to pointer to pixel data.
-		 */
-		UInt32* createRGBACheckPixels(UInt32 width, UInt32 height);
-
-		/**
-		 * Creates an image buffer with 8-bit per channel ABGR pixel data.
-		 * @param width The width of the bitmap data.
-		 * @param height The height of the bitmap data.
-		 * @return A pointer to pointer to pixel data.
-		 */
-		UInt32* createABGRCheckPixels(UInt32 width, UInt32 height);
-
-		/**
-		 * Creates a texture of squares. Useful for testing purposes.
-		 * @param[out] textureNumber The texture number (texture name) of the generated texture.
-		 * @param[out] textureWidth The width of the generated texture.
-		 * @param[out] textureHeight The height of the generated texture.
-		 * @param[out] imageWidth The width of the image data.
-		 * @param[out] imageHeight The height of the image data.
-		 */
-		void createCheckTexture(UInt32& textureNumber, UInt32& textureWidth, UInt32& textureHeight, UInt32& imageWidth, UInt32& imageHeight);
-
-		/**
-		 * Copies ARGB bitmap data into texture.
-		 * @param textureNumber The texture number (texture name) of the generated texture.
-		 * @param width The width of the bitmap data (and therefore width of texture, too).
-		 * @param height The height of the bitmap data (and therefore height of texture, too).
-		 * @param canUseRectExtension True if the texture does support rectangular texture extension.\ False otherwise.
-		 * @param format The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 * @param bitmapData Pointer to pointer to the bitmap data.
-		 */
-		OSStatus copyARGBBitmapDataToTexture(UInt32 textureNumber, UInt32 width, UInt32 height, bool canUseRectExtension, UInt16 format, UInt16 dataType, const UInt32** bitmapData);
-
-#if TARGET_OS_WIN
-		/**
-		 * The function queries the system to determine if the font is installed. Windows-only.
-		 * @param currHdc Pointer to the current device.
-		 * @param fontName The name of the font.
-		 * @return 1 if font is installed, 0 if font is not installed.
-		 */
-		UInt8 fontIsInstalled(HDC currHdc, const char* const fontName);
-
-		/**
-		 * Builds the GL font.
-		 * The built font can be used in OpenGL as a glList. Uses wglUseFontBitmaps to build font bitmap. Windows-only.
-		 */
-		void buildFont(void);
-
-		/**
-		 * Destroys the built GL font. Windows-only.
-		 */
-		void killFont(void);
-
-		/**
-		 * Prints the character buffer with GL bitmap font. Windows-only.
-		 * @param fmt Pointer to character buffer.
-		 */
-		void glPrint(const char *fmt, ...);
-#endif
-
-		/**
-		 * Stores the maximum top position internally.
-		 * @param theMaxTopCoordOfGLView The maximum top position.
-		 */
-		void setMaxTopCoordOfCanvas(double theMaxTopCoordOfGLView);
-
-		/**
-		 * Stores the maximum left position internally.
-		 * @param theMaxLeftCoordOfGLView The maximum left position.
-		 */
-		void setMaxLeftCoordOfCanvas(double theMaxLeftCoordOfGLView);
-
-		/**
-		 * Stores the maximum bottom position internally.
-		 * @param theMaxBottomCoordOfGLView The maximum bottom position.
-		 */
-		void setMaxBottomCoordOfCanvas(double theMaxBottomCoordOfGLView);
-
-		/**
-		 * Stores the maximum right position internally.
-		 * @param theMaxRightCoordOfGLView The maximum right position.
-		 */
-		void setMaxRightCoordOfCanvas(double theMaxRightCoordOfGLView);
-
-		/**
-		 * Stores the maximum near position internally.
-		 * @param theMaxNearCoordOfGLView The maximum near position.
-		 */
-		void setMaxNearCoordOfCanvas(double theMaxNearCoordOfGLView);
-		
-		/**
-		 * Stores the maximum far position internally.
-		 * @param theMaxFarCoordOfGLView The maximum far position.
-		 */
-		void setMaxFarCoordOfCanvas(double theMaxFarCoordOfGLView);
-
-		/**
-		 * Returns the maximum top position.
-		 * @return The maximum top position.
-		 */
-		double getMaxTopCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum left position.
-		 * @return The maximum left position.
-		 */
-		double getMaxLeftCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum bottom position.
-		 * @return The maximum bottom position.
-		 */
-		double getMaxBottomCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum right position.
-		 * @return The maximum right position.
-		 */
-		double getMaxRightCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum near position.
-		 * @return The maximum near position.
-		 */
-		double getMaxNearCoordOfCanvas(void);
-
-		/**
-		 * Returns the maximum far position.
-		 * @return The maximum far position.
-		 */
-		double getMaxFarCoordOfCanvas(void);
-		
-		/**
-		 * Returns the horizontal origin of the scissor rect.
-		 * @return The horizontal origin of the scissor rect.
-		 */
-		int getCanvasXOriginOffset(void);
-
-		/**
-		 * Returns the vertical origin of the scissor rect.
-		 * @return The vertical origin of the scissor rect.
-		 */
-		int getCanvasYOriginOffset(void);
-
-		/**
-		 * Returns the name of the renderer of the graphic card.
-		 * @return The name of the renderer of the graphic card.
-		 */
-		const char* const getRendererName(void);
-
-		/**
-		 * Returns the name of the vendor of the graphic card.
-		 * @return The name of the vendor of the graphic card.
-		 */
-		const char* const getRendererVendor(void);
-
-		/**
-		 * Returns the version of the renderer.
-		 * @return The version of the renderer.
-		 */
-		const char* const getRendererVersion(void);
-
-		/**
-		 * Returns the version of OpenGL.
-		 * @return The version of OpenGL.
-		 */
-		unsigned short getGLVersion(void);
-
-		/**
-		 * Returns the maximum texture size.
-		 * @return the maximum texture size.
-		 */
-		long getMaxTextureSize(void);
-
-		/**
-		 * Converts a horizontal pixel position to a horizontal coordinate.
-		 * @param pixelPos The canvas pixel position.
-		 * @return The canvas coord position.
-		 */	
-		double xPixelToCoord(UInt32 pixelPos);
-
-		/**
-		 * Converts a vertical pixel position to a vertical coordinate.
-		 * @param pixelPos The canvas pixel position.
-		 * @return The canvas coord position.
-		 */		
-		double yPixelToCoord(UInt32 pixelPos);
-
-		/**
-		 * Converts a horizontal coordinate to a horizontal pixel position.
-		 * @param coordPos The canvas coord position.
-		 * @return The canvas pixel position.
-		 */	
-		UInt16 xCoordToPixel(double coordPos);
-
-		/**
-		 * Converts a vertical coordinate to a horizontal pixel position.
-		 * @param coordPos The canvas coord position.
-		 * @return The canvas pixel position.
-		 */	
-		UInt16 yCoordToPixel(double coordPos);
-
-		/**
-		 * Maps window coordinates to object coordinates.
-		 * @param xPixelPos The horizontal pixel position.
-		 * @param yPixelPos The vertical pixel position.
-		 * @param zAxisPos The position on the z-axis.\ 0: near clipping plane, 1: far clipping plane.
-		 * @param xCoordPos Returns: The x-CoordPosition.
-		 * @param yCoordPos Returns: The y-CoordPosition.
-		 * @param zCoordPos Returns: The z-CoordPosition.
-		 * @return True on success, false on error.
-		 */	
-		bool getCoordsOfPixelPosition(
-										double xPixelPos, 
-										double yPixelPos, 
-										double zAxisPos, 
-										double* xCoordPos,
-										double* yCoordPos,
-										double* zCoordPos);
-
-		/**
-		 * Maps object coordinates to window coordinates.
-		 * @param xCoordPos The x-CoordPosition.
-		 * @param yCoordPos The y-CoordPosition.
-		 * @param zCoordPos The z-CoordPosition.
-		 * @param xPixelPos Returns: The horizontal pixel position.
-		 * @param yPixelPos Returns: The vertical pixel position.
-		 * @param zAxisPos Returns: The position on the z-axis.
-		 * @return True on success, false on error.
-		 */	
-		bool getPixelsOfCoordPosition(
-										double xCoordPos,
-										double yCoordPos,
-										double zCoordPos,
-										double* xPixelPos, 
-										double* yPixelPos, 
-										double* zAxisPos);
-
-		/**
-		 * Determines the openGL capabilities and stores them internally.
-		 */
-		void gatherOpenGLCapabilities(void);
-
-		/**
-		 * Creates a NURBS object and returns a pointer to it.
-		 * @param identifier Identifier of the NURBS.\ The Nurbs can later be addressed by that token.
-		 * @param sNumKnots The number of knots in horizontal direction.
-		 * @param sKnots An array of horizontal knot values.
-		 * @param tNumKnots The number of knots in vertical direction.
-		 * @param tKnots An array of vertical knot values.
-		 * @param sStride The offset between successive control points in u direction.
-		 * @param tStride The offset between successive control points in v direction.
-		 * @param sOrder The order of the NURBS surface in u direction.
-		 * @param tOrder The order of the NURBS surface in v direction.
-		 * @return The newly created NURBS object with the identifierName.
-		 */
-		VisualNurbs* createNurbsObject(const VisualItemIdentifier& identifier, UInt8 sNumKnots, float* sKnots, UInt8 tNumKnots, float* tKnots, UInt16 sStride, UInt16 tStride, UInt16 sOrder, UInt16 tOrder);
-
-		/**
-		 * Deletes a NURBS object.
-		 * @param identifier The identifier of the NURBS.
-		 */
-		void deleteNurbsObject(const VisualItemIdentifier& identifier);
-
-		/**
-		 * Returns a pointer to a NURBS object.
-		 * @param identifier The identifier of the NURBS.
-		 * @return The NURBS object with the identifier.
-		 */		
-		VisualNurbs* getNurbsObject(const VisualItemIdentifier& identifier);
-
-		/**
-		 * Copies the content of a screen rectangle into a texture buffer.
-		 * @param textureNumber The number/id/name of the texture.
-		 * @param canUseRectExtension True if graphics system does support rectangular texture extension.\ False otherwise.\ Default false.
-		 * @param xPos The horizontal x position of the screen rect.
-		 * @param yPos The vertical y position of the screen rect.
-		 * @param width The width of the rectangle.
-		 * @param height The height of the rectangle.
-		 * @param pixelFormat The format of the pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param dataType The data type of the pixels (kGL_UNSIGNED_BYTE, kGL_FLOAT).
-		 * @remarks The pixels are copied from the framebuffer.
-		 */	
-		void copyFramebufferToTexture(UInt32 textureNumber, bool canUseRectExtension, UInt32 xPos, UInt32 yPos, UInt32 width, UInt32 height, UInt16 pixelFormat, UInt16 dataType);
-
-		/**
-		 * Returns the nearest power of 2 integer following the input integer.
-		 * @param n The input integer.
-		 * @return A power of 2 integer.
-		 */
-		UInt32 power2Ceiling(UInt32 n);
-
-		/**
-		 * Evaluates the preferred or best available display resolution for fullscreen display.
-		 */		
-		void evaluateFullscreenDisplayResolution(void);
-
-	private:
-
-		/** The constructor.\ VisualGraphics is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualGraphics();
-
-		/** The destructor.\ VisualGraphics is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualGraphics();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualGraphics.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualGraphics(const VisualGraphics& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualGraphics& operator=(const VisualGraphics& other);
-
-		/** VisualGraphics is a singleton class. Pointer to private instance is handled internally. */
-		static VisualGraphics* theVisualGraphics;
-
-		/**
-		 * Returns the iModeNum for requested screen resolution settings.\ Windows-only.
-		 * @param aDisplayResolution The requested screen resoltion values.
-		 * @return The iModeNum for requested screen resolution settings.
-		 */
-#if TARGET_OS_WIN
-		DWORD getBestModeForDisplayResolution(const DisplayResolution* const aDisplayResolution);
-#endif
-
-		/** The rectangle where the drawing takes place. */
-		::Rect canvasRect;
-		
-		/** The rectangle of the window. */
-		::Rect windowRect;
-		
-		/** True if set up on full screen, false if set up in windowed mode. */
-		bool isSetUpOnFullscreen;
-
-		/** The maximum top position. */
-		double maxTopCoordOfGLView;
-		
-		/** The maximum left position. */
-		double maxLeftCoordOfGLView;
-		
-		/** The maximum bottom position. */
-		double maxBottomCoordOfGLView;
-		
-		/** The maximum right position. */
-		double maxRightCoordOfGLView;
-		
-		/** The maximum near position. */
-		double maxNearCoordOfGLView;
-		
-		/** The maximum far position. */
-		double maxFarCoordOfGLView;
-		
-		/** The color of the background. */
-		RGBAColor backgroundColor;
-
-		/**
-		 * A struct containing OpenGL capabilities.
-		 * A collection of OpenGL capabilities. 
-		 * The capabilities are not complete and can be extended or reduced as appropriate.
-		 */
-		typedef struct {
-
-			// current (at time of look up) device geometry
-			long deviceWidth; /**< Pixel width. */
-			long deviceHeight; /**< Pixel height. */
-			long deviceOriginX; /**< left location of device (relative to main device) */
-			long deviceOriginY; /**< upper location of device (relative to main device) */
-			short deviceDepth; /**< pixel depth in bits */
-			short deviceRefresh; /**< integer refresh rate in Hz */
-
-			// Renderer info
-			long deviceVRAM; /**< video memory in bytes */
-			long deviceTextureRAM; /**< uses current mode (geometry, pixel depth, etc.) */
-			unsigned long rendererID; /**< renderer ID */
-			char strRendererName [256]; /**< name of hardware renderer */
-			char strRendererVendor [256]; /**< name of hardware renderer vendor */
-			char strRendererVersion [256]; /**< string rep of hardware renderer version */
-			bool fullScreenCapable; /**< does device support full screen */
-
-			// Renderer Caps
-			long textureUnits; /**< standard gl path max number of texture units */
-			long maxTextureSize; /**< maximum 1D and 2D texture size supported */
-			long max3DTextureSize; /**< maximum 3D texture size supported */
-			long maxCubeMapTextureSize; /**< maximum cube map texture size supported */
-			long maxRectTextureSize; /**< maximum rectangular texture size supported */
-
-			// OpenGL version support
-			unsigned short glVersion; /**< bcd gl version (ie. 1.4 is 0x0140) */
-
-			// Functionality
-			bool fSpecularVector; /**< GL_APPLE_specular_vector */
-			bool fTransformHint; /**< GL_APPLE_transform_hint */
-			bool fPackedPixels; /**< GL_APPLE_packed_pixels or 1.2+ */
-			bool fClientStorage; /**< GL_APPLE_client_storage */
-			bool fYCbCr; /**< GL_APPLE_ycbcr_422 (YUV texturing) */
-			bool fTextureRange; /**< GL_APPLE_texture_range (AGP texturing) */
-			bool fFence; /**< GL_APPLE_fence */
-			bool fVAR; /**< GL_APPLE_vertex_array_range */
-			bool fVAO; /**< GL_APPLE_vertex_array_object */
-			bool fElementArray; /**< GL_APPLE_element_array */
-			bool fVPEvals; /**< GL_APPLE_vertex_program_evaluators */
-			bool fFloatPixels; /**< GL_APPLE_float_pixels */
-			bool fFlushRenderer; /**< GL_APPLE_flush_render */
-			bool fPixelBuffer; /**< GL_APPLE_pixel_buffer */
-			bool fImaging; /**< GL_ARB_imaging  (not required in 1.2+) */
-			bool fTransposeMatrix; /**< GL_ARB_transpose_matrix or 1.3+ */
-			bool fMultitexture; /**< GL_ARB_multitexture or 1.3+ */
-			bool fTexEnvAdd; /**< GL_ARB_texture_env_add, GL_EXT_texture_env_add or 1.3+ */
-			bool fTexEnvCombine; /**< GL_ARB_texture_env_combine or 1.3+ */
-			bool fTexEnvDot3; /**< GL_ARB_texture_env_dot3 or 1.3+ */
-			bool fTexEnvCrossbar; /**< GL_ARB_texture_env_crossbar or 1.4+ */
-			bool fTexCubeMap; /**< GL_ARB_texture_cube_map or 1.3+ */
-			bool fTexCompress; /**< GL_ARB_texture_compression or 1.3+ */
-			bool fMultisample; /**< GL_ARB_multisample or 1.3+ (Anti-aliasing) */
-			bool fTexBorderClamp; /**< GL_ARB_texture_border_clamp or 1.3+ */
-			bool fPointParam; /**< GL_ARB_point_parameters or 1.4+ */
-			bool fVertexProg; /**< GL_ARB_vertex_program */
-			bool fFragmentProg; /**< GL_ARB_fragment_program */
-			bool fTexMirrorRepeat; /**< GL_ARB_texture_mirrored_repeat or 1.4+ */
-			bool fDepthTex; /**< GL_ARB_depth_texture or 1.4+ */
-			bool fShadow; /**< GL_ARB_shadow or 1.4+ */
-			bool fShadowAmbient; /**< GL_ARB_shadow_ambient */
-			bool fVertexBlend; /**< GL_ARB_vertex_blend */
-			bool fWindowPos; /**< GL_ARB_window_pos or 1.4+ */
-			bool fTex3D; /**< GL_EXT_texture3D or 1.2+ */
-			bool fClipVolHint; /**< GL_EXT_clip_volume_hint */
-			bool fRescaleNorm; /**< GL_EXT_rescale_normal or 1.2+ */
-			bool fBlendColor; /**< GL_EXT_blend_color or GL_ARB_imaging */
-			bool fBlendMinMax; /**< GL_EXT_blend_minmax or GL_ARB_imaging */
-			bool fBlendSub; /**< GL_EXT_blend_subtract or GL_ARB_imaging */
-			bool fCVA; /**< GL_EXT_compiled_vertex_array */
-			bool fTexLODBias; /**< GL_EXT_texture_lod_bias or 1.4+ */
-			bool fABGR; /**< GL_EXT_abgr */
-			bool fBGRA; /**< GL_EXT_bgra or 1.2+ */
-			bool fTexFilterAniso; /**< GL_EXT_texture_filter_anisotropic */
-			bool fPaletteTex; /**< GL_EXT_paletted_texture */
-			bool fShareTexPalette; /**< GL_EXT_shared_texture_palette */
-			bool fSecColor; /**< GL_EXT_secondary_color or 1.4+ */
-			bool fTexCompressS3TC; /**< GL_EXT_texture_compression_s3tc */
-			bool fTexRect; /**< GL_EXT_texture_rectangle */
-			bool fFogCoord; /**< GL_EXT_fog_coord */
-			bool fDrawRangeElements; /**< GL_EXT_draw_range_elements */
-			bool fStencilWrap; /**< GL_EXT_stencil_wrap or 1.4+ */
-			bool fBlendFuncSep; /**< GL_EXT_blend_func_separate or 1.4+ */
-			bool fMultiDrawArrays; /**< GL_EXT_multi_draw_arrays or 1.4+ */
-			bool fShadowFunc; /**< GL_EXT_shadow_funcs */
-			bool fStencil2Side; /**< GL_EXT_stencil_two_side */
-			bool fColorSubtable; /**< GL_EXT_color_subtable or GL_ARB_imaging */
-			bool fConvolution; /**< GL_EXT_convolution or GL_ARB_imaging */
-			bool fHistogram; /**< GL_EXT_histogram or GL_ARB_imaging */
-			bool fColorTable; /**< GL_SGI_color_table or GL_ARB_imaging */
-			bool fColorMatrix; /**< GL_SGI_color_matrix */
-			bool fTexEdgeClamp; /**< GL_SGIS_texture_edge_clamp or 1.2+ */
-			bool fGenMipmap; /**< GL_SGIS_generate_mipmap or 1.4+ */
-			bool fTexLOD; /**< GL_SGIS_texture_lod or 1.2+ */
-			bool fPointCull; /**< GL_ATI_point_cull_mode */
-			bool fTexMirrorOnce; /**< GL_ATI_texture_mirror_once */
-			bool fPNtriangles; /**< GL_ATI_pn_triangles or GL_ATIX_pn_triangles */
-			bool fTextFragShader; /**< GL_ATI_text_fragment_shader */
-			bool fBlendEqSep; /**< GL_ATI_blend_equation_separate */
-			bool fBlendWeightMinMax; /**< GL_ATI_blend_weighted_minmax */
-			bool fCombine3; /**< GL_ATI_texture_env_combine3 */
-			bool fSepStencil; /**< GL_ATI_separate_stencil */
-			bool fArrayRevComps4Byte; /**< GL_ATI_array_rev_comps_in_4_bytes */
-			bool fPointSprite; /**< GL_NV_point_sprite */
-			bool fRegCombiners; /**< GL_NV_register_combiners */
-			bool fRegCombiners2; /**< GL_NV_register_combiners2 */
-			bool fTexEnvCombine4; /**< GL_NV_texture_env_combine4 */
-			bool fBlendSquare; /**< GL_NV_blend_square or 1.4+ */
-			bool fFogDist; /**< GL_NV_fog_distance */
-			bool fMultisampleFilterHint; /**< GL_NV_multisample_filter_hint */
-			bool fTexGenReflect; /**< GL_NV_texgen_reflection */
-			bool fTexShader; /**< GL_NV_texture_shader */
-			bool fTexShader2; /**< GL_NV_texture_shader2 */
-			bool fTexShader3; /**< GL_NV_texture_shader3 */
-			bool fDepthClamp; /**< GL_NV_depth_clamp */
-			bool fLightMaxExp; /**< GL_NV_light_max_exponent */
-			bool fConvBorderModes; /**< GL_HP_convolution_border_modes or GL_ARB_imaging */
-			bool fRasterPosClip; /**< GL_IBM_rasterpos_clip */
-		} GLCapabilities;
-		
-		/** The capabilities. */
-		GLCapabilities capabilities;
-
-		/**
-		 * A struct containing the preferred or best available display resolution for fullscreen display.
-		 */
-		typedef struct {
-			DisplayResolution theFullscreenDisplayResolution; /**< The preferred or best available display resolution for fullscreen display. */
-			bool fullscreenDisplayResolutionIsKnown; /**< True if the preferred or best available display resolution for fullscreen display is known yet. */
-		} FullscreenDisplayResolution;
-		
-		/** The preferred or best available display resolution for fullscreen display (incl.\ flag if the resolution has been evaluated yet). */
-		FullscreenDisplayResolution fullscreenDisplayResolution;
-		
-		/**
-		 * A DisplayResolutionVector is a vector of all display resolutions.
-		 */
-		typedef std::vector<DisplayResolution*> DisplayResolutionVector;
-		
-		/** The displayResolutionVector that contains all display resolutions. */
-		DisplayResolutionVector displayResolutionVector;
-		
-		/** A DisplayResolutionVectorIterator is an iterator of a DisplayResolutionVector. */
-		typedef DisplayResolutionVector::iterator DisplayResolutionVectorIterator;
-		
-		/** Current iterator index of display resolution vector. */
-		UInt16 displayResolutionIterIndex;
-
-		/**
-		 * Gathers the available screen resolutions and stores them in displayResolutionVector.
-		 */
-		void gatherAvailableDisplayResolutions(void);
-
-		/**
-		 * Resets the iterator.
-		 * Before iterating over the available screen resolutions gathered in displayResolutionVector
-		 * the iterator has to be reset by calling this method.
-		 */
-		void resetDisplayResolutionIterIndex(void);
-
-		/** A NurbsMap is a map of an identifier string and a pointer to a VisualNurbs. */
-		typedef std::map<VisualItemIdentifier, VisualNurbs*> NurbsMap;
-		
-		/** The nurbsMap is the map of the VisualNurbs. */
-		NurbsMap nurbsMap;
-		
-		/** A NurbsMapIterator is an iterator of a NurbsMap. */
-		typedef NurbsMap::iterator NurbsMapIterator;
-
-	};
-
-}
-
-#endif /* VisualGraphics_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp
deleted file mode 100644
index 5bf4cb1..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.cpp
+++ /dev/null
@@ -1,437 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphicsCore.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualGraphicsCore.h"
-#include "VisualErrorHandling.h"
-
-#if TARGET_OS_WIN
-#include <stdio.h> // sprintf
-#endif
-
-
-#if TARGET_OS_WIN
-#include <GL/gl.h>
-#include <GL/glu.h>
-#endif
-
-
-
-using namespace VizKit;
-
-
-VisualGraphicsCore* VisualGraphicsCore::theVisualGraphicsCore = NULL;  // singleton
-
-
-VisualGraphicsCore::VisualGraphicsCore() {
-	ctx = NULL;
-#if TARGET_OS_MAC
-	directDisplayId = CGMainDisplayID();
-#endif
-#if TARGET_OS_WIN
-	windowDC = NULL;
-#endif
-	canvasXOriginOffset = 0;
-	canvasYOriginOffset = 0;
-}
-
-
-VisualGraphicsCore::~VisualGraphicsCore() {
-	// null
-}
-
-
-VisualGraphicsCore* VisualGraphicsCore::getInstance() {
-    if (theVisualGraphicsCore == NULL) {
-		theVisualGraphicsCore = new VisualGraphicsCore;
-    }
-	return theVisualGraphicsCore;
-}
-
-
-void VisualGraphicsCore::dispose() {
-    if (theVisualGraphicsCore != NULL) {
-        delete theVisualGraphicsCore;
-		theVisualGraphicsCore = NULL;
-    }
-}
-
-
-bool VisualGraphicsCore::setupContext() {
-
-	bool success = true;
-	UInt8 errNum = 0;
-	char errLog[256];
-	
-#if TARGET_OS_MAC
-	errNum = theVisualGraphicsCore->setupAGL();
-	if (errNum != 0) {
-		sprintf(errLog, "error %d on setupAGL in file: %s (line: %d) [%s])", errNum, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		success = false;
-	}
-#endif
-
-#if TARGET_OS_WIN
-	errNum = theVisualGraphicsCore->setupWGL();
-	if (errNum != 0) {
-		sprintf(errLog, "error %d on setupWGL in file: %s (line: %d) [%s])", errNum, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		success = false;
-	}
-#endif
-    
-	return success;
-}
-
-
-#if TARGET_OS_MAC
-UInt8 VisualGraphicsCore::setupAGL() {
-    GLboolean ok;
-    AGLPixelFormat fmt;
-    
-	GLint attrib[] = {AGL_RGBA, AGL_RED_SIZE, 8, AGL_GREEN_SIZE, 8, AGL_BLUE_SIZE, 8, AGL_ALPHA_SIZE, 8, AGL_ACCELERATED, AGL_DOUBLEBUFFER, AGL_DEPTH_SIZE, 24, AGL_CLOSEST_POLICY, AGL_NONE};
-    
-    fmt = aglChoosePixelFormat(NULL, 0, attrib);
-
-    if (fmt == NULL) {
-        return 1;
-    }
-
-    theVisualGraphicsCore->ctx = aglCreateContext(fmt, NULL);
-    if (theVisualGraphicsCore->ctx == NULL) {
-        return 2;
-    }
-
-	ok = aglSetDrawable(theVisualGraphicsCore->ctx, theVisualGraphicsCore->port);
-    if (!ok) {
-        return 3;
-    }
-        
-    ok = aglSetCurrentContext(theVisualGraphicsCore->ctx);
-    if (!ok) {
-        return 4;
-    }
-
-	ok = aglUpdateContext(theVisualGraphicsCore->ctx);
-	if (!ok) {
-		return 5;
-	}
-
-	GLint swapinterval = 1;
-    ok = aglSetInteger(theVisualGraphicsCore->ctx, AGL_SWAP_INTERVAL, &swapinterval);
-    if (!ok) {
-        return 6;
-    }
-
-    aglDestroyPixelFormat(fmt);
-	
-    return 0;
-}
-
-
-void VisualGraphicsCore::cleanupAGL() {
-    aglSetCurrentContext(NULL);
-    if (theVisualGraphicsCore->ctx != NULL) {
-		aglSetDrawable(theVisualGraphicsCore->ctx, NULL);
-		aglDestroyContext(theVisualGraphicsCore->ctx);
-    }
-}
-
-#endif
-
-
-UInt16 VisualGraphicsCore::setCurrentContext() {
-#if TARGET_OS_MAC
-	GLboolean ok;
-    ok = aglSetCurrentContext(theVisualGraphicsCore->ctx);
-    if(!ok) {
-        return 1;
-    }
-#endif
-#if TARGET_OS_WIN
-	if (!wglMakeCurrent(theVisualGraphicsCore->windowDC, theVisualGraphicsCore->ctx)) {
-		writeLastErrorLog("setCurrentContext");
-        return 1;
-	}
-#endif
-	return 0;
-}
-
-
-#if TARGET_OS_WIN
-
-UInt8 VisualGraphicsCore::setupWGL() {
-
-    PIXELFORMATDESCRIPTOR pfd;
-    memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
-
-    pfd.nSize = sizeof(PIXELFORMATDESCRIPTOR);
-    pfd.nVersion = 1;
-    pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
-    pfd.iPixelType = PFD_TYPE_RGBA;
-	pfd.cColorBits = 24;
-	pfd.cRedBits = 8;
-	pfd.cGreenBits = 8;
-	pfd.cBlueBits = 8;
-	pfd.cAlphaBits = 8;
-    pfd.cDepthBits = 24;
-
-	pfd.iLayerType = PFD_MAIN_PLANE;
-
-	int pixelFormat = ChoosePixelFormat(theVisualGraphicsCore->windowDC, &pfd);
-    if (pixelFormat == 0) {
-		writeLastErrorLog("setupWGL1");
-        return 1;
-	}
-	
-	if (SetPixelFormat(theVisualGraphicsCore->windowDC, pixelFormat, &pfd) == 0) {
-		writeLastErrorLog("setupWGL2");
-        return 2;
-	}
-
-	theVisualGraphicsCore->ctx = wglCreateContext(theVisualGraphicsCore->windowDC);
-    if (theVisualGraphicsCore->ctx == NULL) {
-		writeLastErrorLog("setupWGL3");
-        return 3;
-	}
-
-	if (!wglMakeCurrent(theVisualGraphicsCore->windowDC, theVisualGraphicsCore->ctx)) {
-		writeLastErrorLog("setupWGL4");
-        return 4;
-	}
-
-    // enable v-sync if WGL_EXT_swap_control is supported
-	/*
-    PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
-    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT");
-    if (wglSwapIntervalEXT != NULL)
-        wglSwapIntervalEXT(1);
-	*/
-
-	return 0;
-}
-
-
-void VisualGraphicsCore::cleanUpWGL() {
-
-    wglMakeCurrent(NULL, NULL);
-
-    if (theVisualGraphicsCore->ctx != NULL) {
-        wglDeleteContext(theVisualGraphicsCore->ctx);
-        theVisualGraphicsCore->ctx = NULL;
-    }
-
-    if (theVisualGraphicsCore->windowDC) {
-		ReleaseDC(theVisualGraphicsCore->port, theVisualGraphicsCore->windowDC);
-        theVisualGraphicsCore->windowDC = NULL;
-    }
-}
-
-
-HDC VisualGraphicsCore::getWindowDC() {
-	return theVisualGraphicsCore->windowDC;
-}
-
-#endif
-
-
-void VisualGraphicsCore::setGraphicsDevicePort(const GRAPHICS_DEVICE thePort) {
-    theVisualGraphicsCore->port = thePort;
-#if TARGET_OS_WIN
-	theVisualGraphicsCore->windowDC = GetDC(thePort);
-#endif
-}
-
-
-GRAPHICS_DEVICE VisualGraphicsCore::getGraphicsDevicePort() {
-    return theVisualGraphicsCore->port;
-}
-
-
-UInt16 VisualGraphicsCore::getScreenWidth() {
-	UInt16 screenWidth;
-#if TARGET_OS_WIN
-	screenWidth = GetSystemMetrics(SM_CXSCREEN);
-#endif
-#if TARGET_OS_MAC
-	screenWidth = (UInt16)CGDisplayPixelsWide(theVisualGraphicsCore->directDisplayId);
-#endif
-	return screenWidth;
-}
-
-
-UInt16 VisualGraphicsCore::getScreenHeight() {
-	UInt16 screenHeight;
-#if TARGET_OS_WIN
-	screenHeight = GetSystemMetrics(SM_CYSCREEN);
-#endif
-#if TARGET_OS_MAC
-	screenHeight = (UInt16)CGDisplayPixelsHigh(theVisualGraphicsCore->directDisplayId);
-#endif
-	return screenHeight;
-}
-
-
-UInt16 VisualGraphicsCore::getBitsPerPixelOfScreen() {
-	UInt16 bitsPerPixel;
-#if TARGET_OS_WIN
-	bitsPerPixel = GetDeviceCaps(theVisualGraphicsCore->windowDC, BITSPIXEL);
-#endif
-#if TARGET_OS_MAC
-	bitsPerPixel = (UInt16)CGDisplayBitsPerPixel(theVisualGraphicsCore->directDisplayId);
-#endif
-	return bitsPerPixel;
-}
-
-
-UInt16 VisualGraphicsCore::getRefreshRateOfScreen() {
-	UInt16 refreshRate = 0;
-#if TARGET_OS_MAC
-	long refreshRateLong;
-	CFDictionaryRef displayMode;
-	CFNumberRef number;
-	displayMode = CGDisplayCurrentMode(theVisualGraphicsCore->directDisplayId);
-	number = (CFNumberRef)CFDictionaryGetValue(displayMode, kCGDisplayRefreshRate);
-	CFNumberGetValue(number, kCFNumberLongType, &refreshRateLong);
-	refreshRate = (UInt16)refreshRateLong;
-#endif
-#if TARGET_OS_WIN
-	refreshRate = GetDeviceCaps(theVisualGraphicsCore->windowDC, VREFRESH);
-#endif
-	return refreshRate;
-}
-
-
-void VisualGraphicsCore::getCanvasSurroundingRect(::Rect* aRect) {
-#if TARGET_OS_MAC
-	GetPortBounds(theVisualGraphicsCore->port, aRect);
-#endif
-#if TARGET_OS_WIN
-	HWND windowHandle;
-	RECT windowRect;
-	POINT aPoint;
-	aPoint.x = 0;
-	aPoint.y = 0;
-	
-	windowHandle = theVisualGraphicsCore->port;
-	ClientToScreen(windowHandle, &aPoint);
-	GetClientRect(windowHandle, &windowRect);
-	aRect->top = (short)aPoint.y;
-	aRect->left = (short)aPoint.x;
-	
-	windowRect.bottom += aPoint.y;
-	windowRect.right += aPoint.x;
-	aRect->bottom = (short)windowRect.bottom;
-	aRect->right = (short)windowRect.right;
-#endif
-}
-
-
-void VisualGraphicsCore::finishGLDrawing() {
-    glFinish();
-    glFlush();
-#if TARGET_OS_MAC
-	aglSwapBuffers(theVisualGraphicsCore->ctx);
-#endif
-#if TARGET_OS_WIN
-	SwapBuffers(theVisualGraphicsCore->windowDC);
-#endif
-}
-
-
-void VisualGraphicsCore::setViewport(const ::Rect* const canvasRect, const ::Rect* const canvasSurroundingRect, const bool isFullscreen) {
-
-	theVisualGraphicsCore->canvasXOriginOffset = 0;
-	theVisualGraphicsCore->canvasYOriginOffset = 0;
-
-
-#if TARGET_OS_MAC
-	GLboolean ok;
-	GLint bufferRect[4];
-	// bufferRect:
-	// the x and y window coordinates 
-	// (bottom left origin) of the buffer rectangle, 
-	// followed by its width and height.
-	bufferRect[0] = (GLint)canvasRect->left;
-	bufferRect[1] = (GLint)(canvasSurroundingRect->bottom - canvasSurroundingRect->top - canvasRect->bottom);
-	bufferRect[2] = (GLint)(canvasRect->right - canvasRect->left);
-	bufferRect[3] = (GLint)(canvasRect->bottom - canvasRect->top);
-
-	ok = GL_FALSE;
-	ok = aglEnable(theVisualGraphicsCore->ctx, AGL_BUFFER_RECT);
-	if(!ok) {
-		writeLog("unable to enable AGL_BUFFER_RECT");
-	}
-	// adjust drawing rectange
-	ok = aglSetInteger(theVisualGraphicsCore->ctx, AGL_BUFFER_RECT, bufferRect);
-	if(!ok) {
-		writeLog("setViewport: aglSetInteger AGL_BUFFER_RECT != ok");
-	}
-	ok = aglUpdateContext(theVisualGraphicsCore->ctx);
-	if(!ok) {
-		writeLog("reshapeAGL: aglUpdateContext != ok");
-	}
-#endif
-
-GLsizei viewportWidth = canvasRect->right - canvasRect->left;
-GLsizei viewportHeight = canvasRect->bottom - canvasRect->top;
-	
-#if TARGET_OS_WIN
-if (isFullscreen == true) {
-	theVisualGraphicsCore->canvasXOriginOffset = canvasRect->left;
-	theVisualGraphicsCore->canvasYOriginOffset = (canvasSurroundingRect->bottom - canvasSurroundingRect->top - canvasRect->bottom);
-	
-	glEnable(GL_SCISSOR_TEST);
-	glScissor((GLint)theVisualGraphicsCore->canvasXOriginOffset, (GLint)theVisualGraphicsCore->canvasYOriginOffset, (GLsizei)viewportWidth, (GLsizei)viewportHeight);
-	//glViewport((GLint)canvasRect->left, (GLint)(canvasSurroundingRect->bottom - canvasSurroundingRect->top - canvasRect->bottom), (GLsizei)(canvasRect->right - canvasRect->left), (GLsizei)(canvasRect->bottom - canvasRect->top));
-
-}
-#endif
-
-	GLint leftPixelPos = theVisualGraphicsCore->canvasXOriginOffset;
-	GLint bottomPixelPos = theVisualGraphicsCore->canvasYOriginOffset;
-	glViewport(leftPixelPos, bottomPixelPos, viewportWidth, viewportHeight);
-
-}
-
-
-int VisualGraphicsCore::getCanvasXOriginOffset() {
-	return this->canvasXOriginOffset;
-}
-
-
-int VisualGraphicsCore::getCanvasYOriginOffset() {
-	return this->canvasYOriginOffset;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h b/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h
deleted file mode 100644
index 1fba85c..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualGraphicsCore.h
+++ /dev/null
@@ -1,264 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualGraphicsCore.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualGraphicsCore_h
-#define VisualGraphicsCore_h
-
-#if TARGET_OS_MAC
-#include <AGL/agl.h>
-#endif
-
-#ifndef GRAPHICS_DEVICE
-	#if TARGET_OS_WIN
-		#define GRAPHICS_DEVICE	HWND
-	#endif
-	#if TARGET_OS_MAC
-		#define GRAPHICS_DEVICE	CGrafPtr
-	#endif
-#endif
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h> // HDC
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * The core operations of the graphics layer are bundled with this class. VisualGraphics is the only class that accesses VisualGraphicsCore. VisualGraphicsCore is a singleton class.
-	 */
-	class VisualGraphicsCore {
-
-	public:
-
-		/**
-		 * Returns a pointer to the instance. 
-		 * Initializes the Visual Graphics Core class if neccessary. 
-		 * The visual graphics core class is of singleton type.
-		 * @return A pointer to the initialized VisualGraphicsCore.
-		 */
-		static VisualGraphicsCore* getInstance(void);
-
-		/**
-		 * Cleans up the Visual Graphics Core singleton class.
-		 */	
-		static void dispose(void);
-
-		/**
-		 * Sets up an OpenGL context of the operating system.
-		 * OS windowing system and OpenGL get connected.
-		 * @return true on success, false on failure.
-		 */
-		bool setupContext();
-
-		/**
-		 * Sets the current context to the one that has been set up before with the setupContext() call.
-		 * @return errNum: 0 if no error, > 0 error.
-		 * @remarks The context must be set back to the one set up initially with each render action in case Cover Flow did change it in the meantime.
-		 */
-		UInt16 setCurrentContext(void);
-		
-#if TARGET_OS_MAC
-		/**
-		 * Sets up the AGL canvas. Mac-only.
-		 * @return ErrNum.\ 0 on success.
-		 */
-		UInt8 setupAGL();
-
-		/**
-		 * Cleans up the AGL canvas. Mac-only.
-		 */
-		void cleanupAGL(void);
-#endif
-
-#if TARGET_OS_WIN
-		/**
-		 * Sets up the WGL canvas. Windows-only.
-		 * @return Error number (0 = noErr).
-		 */
-		UInt8 setupWGL();
-
-		/**
-		 * Cleans up wgl.
-		 */
-		void cleanUpWGL(void);
-
-		/**
-		 * Returns the device context. Windows-only.
-		 * @return The device context. 
-		 */
-		HDC getWindowDC(void);
-#endif
-
-		/**
-		 * Stores the port of the graphics device internally.
-		 * @param thePort The drawing port of the graphics device.
-		 * @remarks On Mac GRAPHICS_DEVICE is defined as CGrafPtr, on Windows it is defined as HWND.
-		 */
-		void setGraphicsDevicePort(const GRAPHICS_DEVICE thePort);
-
-		/**
-		 * Returns the port of the graphics device where the plugin performs its drawing.
-		 * @return The port of the graphic device.
-		 * @remarks On Mac GRAPHICS_DEVICE is defined as CGrafPtr, on Windows it is defined as HWND.
-		 */
-		GRAPHICS_DEVICE getGraphicsDevicePort(void);
-
-		/**
-		 * Returns the current width of the screen in pixels.
-		 * @return The current width of the screen in pixels.
-		 */
-		UInt16 getScreenWidth(void);
-
-		/**
-		 * Returns the current height of the screen in pixels.
-		 * @return The current height of the screen in pixels.
-		 */
-		UInt16 getScreenHeight(void);
-
-		/**
-		 * Returns the current number of bits per pixel of the frame buffer.
-		 * @return The current number of bits per pixel of the frame buffer.
-		 */
-		UInt16 getBitsPerPixelOfScreen(void);
-
-		/**
-		 * Returns the current refresh rate of the screen.
-		 * Can return 0 if refresh rate can't be determined.
-		 * @return The current refresh rate of the screen.
-		 */
-		UInt16 getRefreshRateOfScreen(void);
-
-		/**
-		 * Returns the rect of the iTunes window relative to main screen rect.
-		 * @param[out] aRect The dimensions of the window rectangle. 
-		 */
-		void getCanvasSurroundingRect(::Rect* aRect);
-
-		/**
-		 * Ends the GL drawing by flushing, finishing and swaping the buffer content.
-		 * Every executed drawing command should show its result on screen.
-		 * The function is called at the end of each RenderMessage.
-		 */
-		void finishGLDrawing();
-
-		/**
-		 * Restricts the drawing to the inner rectangle.
-		 * Inner and outer rectangle can have the same dimensions.
-		 * The outer rectangle can not be smaller than the inner rectangle.
-		 * Drawing only takes place inside of the inner rect.
-		 * @param canvasRect The draw rect, i.e. the inner rect.
-		 * @param canvasSurroundingRect The bounding rectangle.
-		 * @param isFullscreen True if the context is set up on fullscreen, false if in windowed mode.
-		 */
-		void setViewport(const ::Rect* const canvasRect, const ::Rect* const canvasSurroundingRect, const bool isFullscreen);
-
-		/**
-		 * Returns the horizontal origin of the scissor rect.
-		 * @return The horizontal origin of the scissor rect.
-		 */
-		int getCanvasXOriginOffset(void);
-
-		/**
-		 * Returns the vertical origin of the scissor rect.
-		 * @return The vertical origin of the scissor rect.
-		 */
-		int getCanvasYOriginOffset(void);
-
-	private:
-
-		/**
-		 * The constructor.\ VisualGraphicsCore is a singleton class.\ The constructor is private.\ New instance of class can only be created internally.
-		 */
-		VisualGraphicsCore();
-
-		/**
-		 * The destructor.\ VisualGraphicsCore is a singleton class.\ The destructor is private.\ Instance of class can only be deleted internally.
-		 */
-		~VisualGraphicsCore();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualGraphicsCore.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualGraphicsCore(const VisualGraphicsCore& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualGraphicsCore& operator=(const VisualGraphicsCore& other);
-
-		/** VisualGraphicsCore is a singleton class. Pointer to private instance is handled internally. */
-		static VisualGraphicsCore* theVisualGraphicsCore;
-
-		/** The graphics port.
-		 * On Mac it is defined as CGrafPtr.\ On Windows it is defined as HWND. 
-		 */
-		GRAPHICS_DEVICE port;
-		
-#if TARGET_OS_MAC
-		/** The current AGL context. Mac-only. */
-		AGLContext ctx;
-		
-		/** The DisplayID of the CG display. Mac-only. */
-		CGDirectDisplayID directDisplayId;
-#endif
-		
-#if TARGET_OS_WIN
-		/** The window RC. Windows-only. */
-		HGLRC ctx;
-		
-		/** A handle to the current device. Windows-only. */
-		HDC windowDC;
-#endif
-
-		/** The x-position of the canvas rectangle. */
-		int canvasXOriginOffset;
-		
-		/** The y-position of the canvas rectangle. */
-		int canvasYOriginOffset;
-
-	};
-
-}
-
-#endif /* VisualGraphicsCore_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp
deleted file mode 100644
index 5fb73ef..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualHostCommunication.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualHostCommunication.h"
-#include "VisualSignature.h"
-
-using namespace VizKit;
-
-
-
-UInt16 VisualHostCommunication::getCurrentTrackCoverArt(OSType* albumCoverArtworkFileType, Handle* albumCoverArtworkHandle) {
-
-	UInt16 numberOfArtworks = 0;
-
-	OSStatus status = PlayerGetCurrentTrackCoverArt(VisualSignature::getAppCookie(), VisualSignature::getAppProc(), albumCoverArtworkHandle, albumCoverArtworkFileType);
-    if (status != noErr) {
-        //writeLog("Error at VisualDataStore.evaluateCoverArtInfo");
-    }
-	HLock(*albumCoverArtworkHandle);
-	Size coverArtHandleBlockSize = GetHandleSize(*albumCoverArtworkHandle); // win: malloc.h: _msize(coverArtHandle) (?)
-	if (coverArtHandleBlockSize == 0) {
-		*albumCoverArtworkFileType = (OSType)NULL;
-    } else {
-		numberOfArtworks = 1;
-    }
-	HUnlock(*albumCoverArtworkHandle);
-
-	return numberOfArtworks;
-}
-
-
-OSStatus VisualHostCommunication::setPreferredDisplayResolution(UInt16 minBitsPerPixel, UInt16 maxBitsPerPixel, UInt16 preferredBitsPerPixel, UInt16 horizontalPixels, UInt16 verticalPixels) {
-
-	OSStatus osStatus = PlayerSetFullScreenOptions(VisualSignature::getAppCookie(), 
-											VisualSignature::getAppProc(), 
-											minBitsPerPixel, 
-											maxBitsPerPixel, 
-											preferredBitsPerPixel, 
-											horizontalPixels, 
-											verticalPixels);
-
-	return osStatus;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h b/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h
deleted file mode 100644
index 94645f9..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualHostCommunication.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualHostCommunication.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualHostCommunication_h
-#define VisualHostCommunication_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Collection of static methods to communicate with iTunes host application (e.g.\ to receive album cover artwork data).
-	 */
-	class VisualHostCommunication {
-	
-	public:
-
-		/**
-		 * Returns the cover artwork of the current audio track.
-		 * @param[out] albumCoverArtworkFileType The file type of the album cover artwork.
-		 * @param[out] albumCoverArtworkHandle A handle to the album cover artwork data.
-		 * @return The number of cover artworks.
-		*/
-		static UInt16 getCurrentTrackCoverArt(OSType* albumCoverArtworkFileType, Handle* albumCoverArtworkHandle);
-
-		/**
-		 * Tells iTunes about our preferred fullscreen resolution.
-		 * Once the preferred display resolution has been set it can not be revoked.
-		 * Only with the next restart of iTunes the default resolution of iTunes can be set again (by not calling PlayerSetFullScreenOptions).
-		 * @param minBitsPerPixel Minimum bit depth.
-		 * @param maxBitsPerPixel Maximum bit depth.
-		 * @param preferredBitsPerPixel Preferred bit depth.
-		 * @param horizontalPixels Desired width.
-		 * @param verticalPixels Desired height.
-		 */
-		static OSStatus setPreferredDisplayResolution(UInt16 minBitsPerPixel, UInt16 maxBitsPerPixel, UInt16 preferredBitsPerPixel, UInt16 horizontalPixels, UInt16 verticalPixels);
-
-	private:
-	
-		/** The constructor.\ VisualHostCommunication is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualHostCommunication();
-		
-		/** The destructor.\ VisualHostCommunication is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualHostCommunication();
-		
-	};
-	
-}
-
-#endif /* VisualSignature_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualImage.cpp b/src/projectM-iTunes-VizKit/source/VisualImage.cpp
deleted file mode 100644
index eccc7fd..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualImage.cpp
+++ /dev/null
@@ -1,335 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualImage.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualImage.h"
-#include "VisualTextureContainer.h"
-#include "VisualQuickTime.h"
-#include "VisualString.h"
-#include "VisualStringStyle.h"
-#include "VisualFile.h"
-#include "VisualGraphics.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-VisualImage::VisualImage() {
-	visualTextureContainer = new VisualTextureContainer;
-	isSet = false;
-}
-
-
-VisualImage::~VisualImage() {
-	delete visualTextureContainer;
-}
-
-
-VisualImage::VisualImage(const VisualImage& other) {
-	visualTextureContainer = new VisualTextureContainer;
-	copy(other);
-}
-
-
-VisualImage& VisualImage::operator=(const VisualImage& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-OSStatus VisualImage::initWithFile(const VisualFile& aFile) {
-	OSStatus osStatus = this->visualTextureContainer->initWithFile(aFile);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-
-
-OSStatus VisualImage::initWithDataHandle(Handle aDataHandle, OSType aFileFormatType) {
-	OSStatus osStatus = this->visualTextureContainer->initWithDataHandle(aDataHandle, aFileFormatType);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-
-
-OSStatus VisualImage::initWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType) {
-	OSStatus osStatus = this->visualTextureContainer->initWithDataPointerToPointer(aPointerToPointerToBuffer, size, aFileFormatType);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-
-
-OSStatus VisualImage::initWithString(const VisualString& stringValue, VisualStringStyle& stringStyle) {
-	OSStatus osStatus = this->visualTextureContainer->initWithString(stringValue, stringStyle);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-
-
-#if TARGET_OS_WIN
-OSStatus VisualImage::initWithResource(int nameId) {
-	char* type = "PNG";
-	char* pngImageData = NULL;
-	UInt32 sizeOfImageResource = 0;
-	OSStatus osStatus = VisualFile::getDataOfResource(nameId, type, (void**)&pngImageData, sizeOfImageResource);
-	if (osStatus == noErr) {
-		Handle pngImageDataHandle;
-		PtrToHand(pngImageData, &pngImageDataHandle, sizeOfImageResource);
-		osStatus = this->visualTextureContainer->initWithDataHandle(pngImageDataHandle, 'PNGf');
-		DeleteObject(pngImageData);
-	}
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-#endif
-#if TARGET_OS_MAC
-OSStatus VisualImage::initWithResource(char* name) {
-	VisualFile* resourceFile = VisualFile::createWithResourcesDirectory();
-	VisualString resourceFileName = VisualString(name);
-	resourceFile->appendFileName(resourceFileName);
-	OSStatus osStatus = this->initWithFile(*resourceFile);
-	delete(resourceFile);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-#endif
-
-
-#if TARGET_OS_MAC
-OSStatus VisualImage::initWithURL(VisualString& anURL) {
-	OSStatus osStatus = this->visualTextureContainer->initWithURL(anURL);
-	if (osStatus == noErr) {
-		this->isSet = true;
-	}
-	return osStatus;
-}
-#endif
-
-
-OSStatus VisualImage::writeToFile(const VisualFile& aVisualFile, OSType aFileFormatType) {
-
-	OSStatus osStatus = noErr;
-	
-	UInt32* texturePixels = NULL;
-
-#if __BIG_ENDIAN__
-	texturePixels = this->visualTextureContainer->getTexturePixels(kGL_BGRA, kGL_UNSIGNED_INT_8_8_8_8_REV);
-#else
-#if TARGET_OS_WIN
-	texturePixels = this->visualTextureContainer->getTexturePixels(kGL_BGRA, kGL_UNSIGNED_BYTE);
-#else
-	texturePixels = this->visualTextureContainer->getTexturePixels(kGL_BGRA, kGL_UNSIGNED_INT_8_8_8_8);
-#endif
-#endif
-
-	UInt32* flippedImagePixels = (UInt32*)malloc(this->visualTextureContainer->getImageWidth() * this->visualTextureContainer->getImageHeight() * 4);
-	for (UInt32 i = 0; i < this->visualTextureContainer->getImageHeight(); i++) {
-		memcpy((flippedImagePixels + this->visualTextureContainer->getImageWidth() * (this->visualTextureContainer->getImageHeight() - i - 1)), (texturePixels + this->visualTextureContainer->getTextureWidth() * i), this->visualTextureContainer->getImageWidth() * 4);
-	}
-	osStatus = VisualQuickTime::writeARGBBitmapToFile(flippedImagePixels, aVisualFile, this->visualTextureContainer->getImageWidth(), this->visualTextureContainer->getImageHeight(), aFileFormatType);
-
-	free(flippedImagePixels);
-
-	return osStatus;
-
-}
-
-/*
-//
-- (BOOL) writeToURL:(NSURL *)absURL ofType:(NSString *)typeName forSaveOperation:(NSSaveOperationType)saveOp 
-         originalContentsURL:(NSURL *)absOrigURL error:(NSError **)outError
-{
-    BOOL status = NO;
-    
-    CGImageRef image = [self currentCGImage];
-    if (image==nil)
-        goto bail;
-
-    // Create an image destination writing to `url'
-    CGImageDestinationRef dest = CGImageDestinationCreateWithURL((CFURLRef)absURL, (CFStringRef)typeName, 1, nil);
-    if (dest==nil)
-        goto bail;
-
-    // Set the image in the image destination to be `image' with
-    // optional properties specified in saved properties dict.
-    CGImageDestinationAddImage(dest, image, (CFDictionaryRef)[self saveMetaAndOpts]);
-
-    status = CGImageDestinationFinalize(dest);
-
-    CGImageRelease(image);
-
-bail:
-
-    if (status==NO && outError)
-        *outError = [NSError errorWithDomain:NSCocoaErrorDomain code:NSFileWriteUnknownError userInfo:nil];
-    
-    return status;
-}
-*/
-
-
-
-void VisualImage::applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter) {
-	this->visualTextureContainer->applyConvolutionFilter(aConvolutionFilter);
-}
-
-
-UInt32 VisualImage::getWidth() {
-	return this->visualTextureContainer->getImageWidth();
-}
-
-
-UInt32 VisualImage::getHeight() {
-	return this->visualTextureContainer->getImageHeight();
-}
-
-
-double VisualImage::getLogicalWidth() {
-	return this->visualTextureContainer->getTextureLogicalWidth();
-}
-
-
-double VisualImage::getLogicalHeight() {
-	return this->visualTextureContainer->getTextureLogicalHeight();
-}
-
-
-void VisualImage::draw(VertexChain* aVertexChain) {
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->drawTexture(this->visualTextureContainer->getTextureName(), aVertexChain, this->visualTextureContainer->getUseRectExtension());
-}
-
-
-bool VisualImage::isEmpty() {
-	return !(this->isSet);
-}
-
-
-void VisualImage::copy(const VisualImage& other) {
-	*(this->visualTextureContainer) = *(other.visualTextureContainer);
-	this->isSet = other.isSet;
-}
-
-
-VisualImage* VisualImage::createWithFile(const VisualFile& aFile) {
-	VisualImage* anImage = new VisualImage;
-	OSStatus status = anImage->initWithFile(aFile);
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-
-
-VisualImage* VisualImage::createWithDataHandle(Handle aDataHandle, OSType aFileFormatType) {
-	VisualImage* anImage = new VisualImage;
-	OSStatus status = anImage->initWithDataHandle(aDataHandle, aFileFormatType);
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-
-
-VisualImage* VisualImage::createWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType) {
-	VisualImage* anImage = new VisualImage;
-	OSStatus status = anImage->initWithDataPointerToPointer(aPointerToPointerToBuffer, size, aFileFormatType);
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-
-
-VisualImage* VisualImage::createWithString(const VisualString& stringValue, VisualStringStyle& stringStyle) {
-	VisualImage* anImage = new VisualImage;
-	OSStatus status = anImage->initWithString(stringValue, stringStyle);
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-
-
-#if TARGET_OS_MAC
-VisualImage* VisualImage::createWithResource(char* name) {
-#endif
-#if TARGET_OS_WIN
-VisualImage* VisualImage::createWithResource(int nameId) {
-#endif
-	VisualImage* anImage = new VisualImage;
-#if TARGET_OS_MAC
-	OSStatus status = anImage->initWithResource(name);
-#endif
-#if TARGET_OS_WIN
-	OSStatus status = anImage->initWithResource(nameId);
-#endif
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-
-
-#if TARGET_OS_MAC
-VisualImage* VisualImage::createWithURL(VisualString& anURL) {
-	VisualImage* anImage = new VisualImage;
-	OSStatus status = anImage->initWithURL(anURL);
-	if (status != noErr) {
-		delete anImage;
-		anImage = NULL;
-	}
-	return anImage;
-}
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/VisualImage.h b/src/projectM-iTunes-VizKit/source/VisualImage.h
deleted file mode 100644
index d50fed0..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualImage.h
+++ /dev/null
@@ -1,273 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualImage.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualImage_h
-#define VisualImage_h
-
-#include "VisualGraphicTypes.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualString; // Forward declaration (to avoid include of header file).
-	class VisualStringStyle; // Forward declaration (to avoid include of header file).
-	class VisualFile; // Forward declaration (to avoid include of header file).
-	class VisualTextureContainer; // Forward declaration (to avoid include of header file).
-	class VisualConvolutionFilter; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Bitmap raster image.
-	 */
-	class VisualImage {
-	
-	public:
-
-		/**
-		 * The constructor. 
-		 */
-		VisualImage();
-
-		/**
-		 * The destructor.
-		 */
-		~VisualImage();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualImage.
-		 */
-		VisualImage(const VisualImage& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualImage.
-		 */
-		VisualImage& operator=(const VisualImage& other);
-
-		/**
-		 * Initializes the image with a file.
-		 * @param aFile Reference to a file.
-		 * @return Error state (0 means no Error).
-		 */
-		OSStatus initWithFile(const VisualFile& aFile);
-
-		/**
-		 * Initializes the image with a data handle.
-		 * @param aDataHandle A handle of the data.
-		 * @param aFileFormatType The file type of the image (e.g.\ JPEG or PNGf).
-		 * @return Error state (0 means no Error).
-		 * @remarks Handle can be created from regular 8bit pointer with PtrToHand().
-		 */
-		OSStatus initWithDataHandle(Handle aDataHandle, OSType aFileFormatType);
-
-		/**
-		 * Initializes the image with a data pointer to a pointer.
-		 * @param aPointerToPointerToBuffer A pointer to pointer to the data.
-		 * @param size The size of the data pointed to in bytes.
-		 * @param aFileFormatType The file type of the image (e.g.\ JPEG or PNGf).
-		 * @return Error state (0 means no Error).
-		 */
-		OSStatus initWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType);
-
-		/**
-		 * Initializes the image with a styled string.
-		 * @param stringValue The string to convert into bitmap image.
-		 * @param stringStyle The style information of the string.
-		 * @return Error state (0 means no Error).
-		 */
-		OSStatus initWithString(const VisualString& stringValue, VisualStringStyle& stringStyle);
-
-		/**
-		 * Initializes the image with a resource image.
-		 * @param nameId The name resp. id of the resource.
-		 * @param type The declared type of resource.
-		 * @return Error state (0 means no Error).
-		 */
-#if TARGET_OS_WIN
-		OSStatus initWithResource(int nameId);
-#endif
-#if TARGET_OS_MAC
-		OSStatus initWithResource(char* name);
-#endif
-
-		/**
-		 * Initializes the image with an URL.
-		 * @param anURL URL of the image.
-		 * @return Error state (0 means no Error).
-		 */
-#if TARGET_OS_MAC
-		OSStatus initWithURL(VisualString& anURL);
-#endif
-		
-		/**
-		 * Writes the image to a file on disk.
-		 * @param aVisualFile Access to file the image is to be written into.
-		 * @param aFileFormatType The requested file format of the image file to be written.
-		 * @return Error state (0 means no Error).
-		 * @remarks For possible file formats consult enum in QuickTimeComponents.h (kQTFileTypePicture = 'PICT', kQTFileTypeMovie = 'MooV', kQTFileTypePICS = 'PICS', kQTFileTypeGIF = 'GIFf', kQTFileTypePNG = 'PNGf', 
-						kQTFileTypeTIFF = 'TIFF', kQTFileTypePhotoShop = '8BPS', kQTFileTypeSGIImage = '.SGI', kQTFileTypeBMP = 'BMPf', kQTFileTypeJPEG = 'JPEG', kQTFileTypeJFIF = 'JPEG', kQTFileTypeMacPaint = 'PNTG', 
-						kQTFileTypeTargaImage = 'TPIC', kQTFileTypeQuickDrawGXPicture = 'qdgx', kQTFileTypeQuickTimeImage = 'qtif', kQTFileType3DMF = '3DMF', kQTFileTypeFLC = 'FLC ', kQTFileTypeFlash = 'SWFL',
-						kQTFileTypeFlashPix = 'FPix', kQTFileTypeMP4 = 'mpg4', kQTFileTypePDF = 'PDF ', kQTFileType3GPP = '3gpp', kQTFileTypeAMR = 'amr ', kQTFileTypeSDV = 'sdv ', kQTFileType3GP2 = '3gp2', 
-						kQTFileTypeAMC = 'amc ', kQTFileTypeJPEG2000 = 'jp2 ').
-		 */
-		OSStatus writeToFile(const VisualFile& aVisualFile, OSType aFileFormatType = 'PNGf');
-
-		/**
-		 * Applies a convolution filter to the image.
-		 * @param aConvolutionFilter The convolution filter to apply to the image.
-		 */
-		void applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter);
-
-		/**
-		 * Returns the width of the bitmap image (in pixels).
-		 * @return The width of the bitmap image (in pixels).
-		 */
-		UInt32 getWidth(void);
-
-		/**
-		 * Returns the height of the bitmap image (in pixels).
-		 * @return The height of the bitmap image (in pixels).
-		 */
-		UInt32 getHeight(void);
-
-		/**
-		 * Returns the logical width of the texture.
-		 * @return The logical width of the texture.
-		 */
-		double getLogicalWidth(void);
-
-		/**
-		 * Returns the logical height of the texture.
-		 * @return The logical height of the texture.
-		 */
-		double getLogicalHeight(void);
-
-		/**
-		 * Draws the image.
-		 * @param aVertexChain The chain of vertices with which the image is drawn.
-		 */
-		void draw(VertexChain* aVertexChain);
-
-		/**
-		 * Answers the question whether the image is empty or set.
-		 */
-		bool isEmpty(void);
-		
-		/**
-		 * Creates an image with a file.
-		 * @param aFile Reference to a file.
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-		static VisualImage* createWithFile(const VisualFile& aFile);
-
-		/**
-		 * Creates an image with a data handle.
-		 * @param aDataHandle A handle of the data.
-		 * @param aFileFormatType The file type of the image (e.g.\ JPEG or PNGf).
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-		static VisualImage* createWithDataHandle(Handle aDataHandle, OSType aFileFormatType);
-
-		/**
-		 * Creates an image with a data pointer to a pointer.
-		 * @param aPointerToPointerToBuffer A pointer to pointer to the data.
-		 * @param size The size of the data pointed to in bytes.
-		 * @param aFileFormatType The file type of the image (e.g.\ JPEG or PNGf).
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-		static VisualImage* createWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType);
-
-		/**
-		 * Creates an image with a styled string.
-		 * @param stringValue The string to convert into bitmap image.
-		 * @param stringStyle The style information of the string.
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-		VisualImage* createWithString(const VisualString& stringValue, VisualStringStyle& stringStyle);
-
-		/**
-		 * Creates an image with a resource image.
-		 * @param name The name resp. id of the resource.
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-#if TARGET_OS_MAC
-		VisualImage* createWithResource(char* name);
-#endif
-#if TARGET_OS_WIN
-		VisualImage* createWithResource(int nameId);
-#endif
-
-		/**
-		 * Creates an image with an URL.
-		 * @param anURL URL of the image.
-		 * @return Initialized instance of VisualImage.
-		 * @remarks The caller has to release (delete) the allocated memory.
-		 */
-#if TARGET_OS_MAC
-		static VisualImage* createWithURL(VisualString& anURL);
-#endif
-
-	private:
-
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualImage.
-		 */
-		void copy(const VisualImage& other);
-		
-		/** Pointer to the VisualTextureContainer. */
-		VisualTextureContainer* visualTextureContainer;
-		
-		/** True if image has been set. False if image is not valid or has not been set yet. */
-		bool isSet;
-
-	};
-
-}
-
-#endif /* VisualImage_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualMain.cpp b/src/projectM-iTunes-VizKit/source/VisualMain.cpp
deleted file mode 100644
index f929943..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualMain.cpp
+++ /dev/null
@@ -1,856 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualMain.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualMain.h"
-
-#include <time.h> // for srand()
-
-#include "VisualConfiguration.h"
-#include "VisualConfigurationDialog.h"
-#include "VisualErrorHandling.h"
-#include "VisualDispatch.h"
-#include "VisualSignature.h"
-#include "VisualDataStore.h"
-#include "VisualQuickTime.h"
-#include "VisualGraphics.h"
-//#include "VisualAudioLab.h"
-#include "VisualTiming.h"
-#include "VisualStageControl.h"
-#include "VisualNotification.h"
-#include "VisualNotificationQueue.h"
-
-#include <string>
-#include "projectM.hpp"
-#include "carbontoprojectm.hpp"
-
-#if TARGET_OS_WIN
-#include <QT/macmemory.h> // HLock
-#endif
-
-
-
-using namespace VizKit;
-
-projectM *globalPM;
-
-OSStatus VisualMain::prepareRenderAction() {
-
-	VisualQuickTime::initialize();
-	long QTVersion = 0;
-	OSErr osErr = noErr;
-	osErr = ::Gestalt(gestaltQuickTimeVersion, &QTVersion); 
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	
-	bool success = theVisualGraphics->setupContext();
-	if (!success) {
-		return 1001;
-	}
-	
-	//theVisualGraphics->setOrthographicProjection();
-
-	theVisualGraphics->gatherOpenGLCapabilities();
-
-#if TARGET_OS_WIN
-	//theVisualGraphics->buildFont(); 
-#endif
-
-	//theVisualGraphics->resetModelViewMatrix();
-
-	if (VisualDataStore::audioMetaDataHasBeenSentToEnsemble() == false) {
-		VisualNotification::post(kAudioMetadataIsAvailableMsg);
-		VisualDataStore::setAudioMetaDataHasBeenSentToEnsemble(true);
-	}
-
-	if(!globalPM)
-	{
-	globalPM = new projectM("C:\\Program\ Files\\projectM\\config.inp");		
-	}
-	return noErr;
-}
-
-
-OSStatus VisualMain::renderAction() {
-
-	bool debug = false;
-	size_t notificationCount = 0;
-	UInt16 currNotificationIdx = 1;
-
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	
-	VisualNotification aNotification;
-	VisualNotificationKey aKey;
-	
-	OSStatus status;
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->setCurrentContext();
-	
-	//theVisualGraphics->clearBackground();
-
-	//VisualStageControl::checkForFadeOutEvent();
-
-	if (debug == true) {
-		notificationCount = VisualNotificationQueue::size();
-	}
-	
-	while (VisualNotificationQueue::size() > 0) {
-
-		char* keyPressed = NULL;
-	
-		aNotification = VisualNotificationQueue::pop();
-		aKey = aNotification.getKey();
-
-		if (debug == true) {
-			char notificationStr[64];
-			char logStr[64];
-			VisualNotification::convertNotificationKeyToString(aKey, notificationStr);
-			sprintf(logStr, "Notification (%d/%d): %s", currNotificationIdx, (UInt16)notificationCount, notificationStr);
-			writeLog(logStr);
-			currNotificationIdx++;
-		}
-
-		switch(aKey) {
-			case kAudioPlayStartedEvt:
-			case kAudioPlayStoppedEvt:
-			case kAudioPlayPausedEvt:
-			case kAudioPlayResumedEvt:
-			case kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt:
-			case kAudioMetadataIsAvailableMsg:
-			case kLyricsAreAvailableMsg:
-			case kCoverTextureIsAvailableMsg:
-			case kLyricsTextureIsAvailableMsg:
-			case kTrackInfoTextureIsAvailableMsg:
-			case kTrackInfoTextureChangedMsg:
-			case kCanvasReshapeEvt:		
-								
-					//delete (globalPM);
-					//globalPM = new projectM("C:\\Program\ Files\\projectM\\config.inp");	
-				globalPM->projectM_resetTextures();
-				break;
-			case kKeyPressedEvt:
-				UInt32 numberOfBytes;
-				
-				keyPressed = (char*)aNotification.getValue(numberOfBytes);
-				status = VisualStageControl::handleKeyPressed(*keyPressed, theVisualPlayerState->getPlayerShowMode());
-				break;
-			default:
-				char notificationString[32];
-				VisualNotification::convertNotificationKeyToString(aKey, notificationString);
-				char errLog[256];
-				sprintf(errLog, "unhandled VisualNotificationKey %s in file: %s (line: %d) [%s])", notificationString, __FILE__, __LINE__, __FUNCTION__);
-				writeLog(errLog);
-		}
-
-	}
-
-	AudioPlayState playState = theVisualPlayerState->getAudioPlayState();
-	if (playState == kAudioPlayStarted) {
-		UInt32 fadeInTimeOnPlayInMS = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnPlayInMS);
-		if (theVisualPlayerState->getElapsedAudioPlayStartTime() > fadeInTimeOnPlayInMS) {
-			theVisualPlayerState->setAudioPlayState(kAudioIsPlaying);
-		}
-	} else if (playState == kAudioPlayResumed) {
-		UInt32 fadeInTimeOnResumeInMS = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeInTimeOnResumeInMS);
-		if (theVisualPlayerState->getElapsedAudioPlayStartTime() > fadeInTimeOnResumeInMS) {
-			theVisualPlayerState->setAudioPlayState(kAudioIsPlaying);
-		}
-	}
-
-	//monitorRenderMessageProcess();
-
-	// show action
-	//VisualStageControl::doEnsembleShow(*theVisualPlayerState);
-	
-	globalPM->projectM_resetGL(theVisualGraphics->getCanvasPixelWidth(),theVisualGraphics->getCanvasPixelHeight());				
-	
-	globalPM->renderFrame();
-	
-	theVisualGraphics->finishGLDrawing();
-
-	return noErr;
-	
-}
-
-
-OSStatus VisualMain::finishRenderAction() {
-	
-//	VisualStageControl::dispose();
-	VisualNotificationQueue::dispose();
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-    theVisualGraphics->disposeContext();
-	VisualGraphics::dispose();
-	VisualQuickTime::terminate();	
-
-	return noErr;
-}
-
-
-void VisualMain::handleAudioPlayStoppedEvent() {
-
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	
-	VisualTiming::resetTimestamp("trackPlayStop");
-	
-	if (theVisualPlayerState->remainingAudioTimeIsKnown() == true && theVisualPlayerState->getRemainingAudioTime() > 2000) {
-		// if more than 2 secs. of audio is left to be played,
-		// we assume that playing paused
-		theVisualPlayerState->setAudioPlayState(kAudioPlayPaused);
-		if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-			VisualNotification::post(kAudioPlayPausedEvt);
-		}
-	} else {
-		theVisualPlayerState->setAudioPlayState(kAudioIsNotPlaying);
-		theVisualPlayerState->setTrackPlayPositionInMS(0);
-		if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-			VisualNotification::post(kAudioPlayStoppedEvt);
-		}
-	}
-}
-
-
-void VisualMain::handleAudioPlayStartedEvent(bool trackDidChange) {
-
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	AudioPlayState prevAudioPlayState = theVisualPlayerState->getAudioPlayState();
-	
-	VisualTiming::resetTimestamp("trackPlayStart");
-	
-	if (prevAudioPlayState == kAudioIsNotPlaying) {
-		theVisualPlayerState->setAudioPlayState(kAudioPlayStarted);
-	} else {
-		if (trackDidChange == true) {
-			theVisualPlayerState->setTrackPlayPositionInMS(0);
-			theVisualPlayerState->setAudioPlayState(kAudioPlayStarted);
-			prevAudioPlayState = kAudioIsNotPlaying;
-		} else {
-			theVisualPlayerState->setAudioPlayState(kAudioPlayResumed);
-		}
-	}
-
-	VisualNotification aVisualNotification;
-
-	if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-		if (theVisualPlayerState->getAudioPlayState() == kAudioPlayResumed) {
-			VisualNotification::post(kAudioPlayResumedEvt);
-		} else {
-			VisualNotification::post(kAudioPlayStartedEvt);
-		}
-		if (trackDidChange == true) {
-			VisualNotification::post(kAudioMetadataIsAvailableMsg);
-			VisualDataStore::setAudioMetaDataHasBeenSentToEnsemble(true);
-		}
-	}
-
-}
-
-
-void VisualMain::handleShowShouldStartMessage(const bool isFullScreen) {
-    
-    srand((unsigned int)time(NULL)); // Seed random number generator
-
-	OSStatus osStatus = VisualMain::prepareRenderAction();
-	if (osStatus != noErr) {
-		VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-		theVisualPlayerState->setPlayerShowMode(kErrorState);
-	}
-
-}
-
-
-void VisualMain::handleCleanupMessage() {
-//	VisualAudioLab::dispose();
-	VisualTiming::dispose();
-	VisualDataStore::dispose();
-	VisualPlayerState::dispose();
-
-	if (globalPM) delete(globalPM);
-
-#if TARGET_OS_MAC
-	VisualConfigurationDialog::dispose();
-#endif
-}
-
-
-void VisualMain::handleCanvasReshape() {
-	//VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	//theVisualGraphics->setOrthographicProjection();
-	VisualNotification::post(kCanvasReshapeEvt);	
-}
-
-
-void VisualMain::convertVisualPluginMessageToString(const OSType visualPluginMessage, char* outString) {
-	char* messageString;
-	switch (visualPluginMessage) {
-		case kVisualPluginInitMessage:
-			messageString = "kVisualPluginInitMessage";
-			break;
-		case kVisualPluginCleanupMessage:
-			messageString = "kVisualPluginCleanupMessage";
-			break;
-		case kVisualPluginEnableMessage:
-			messageString = "kVisualPluginEnableMessage";
-			break;
-		case kVisualPluginDisableMessage:
-			messageString = "kVisualPluginDisableMessage";
-			break;
-		case kVisualPluginIdleMessage:
-			messageString = "kVisualPluginIdleMessage";
-			break;
-		case kVisualPluginConfigureMessage:
-			messageString = "kVisualPluginConfigureMessage";
-			break;
-		case kVisualPluginShowWindowMessage:
-			messageString = "kVisualPluginShowWindowMessage";
-			break;
-		case kVisualPluginHideWindowMessage:
-			messageString = "kVisualPluginHideWindowMessage";
-			break;
-		case kVisualPluginSetWindowMessage:
-			messageString = "kVisualPluginSetWindowMessage";
-			break;
-		case kVisualPluginRenderMessage:
-			messageString = "kVisualPluginRenderMessage";
-			break;
-		case kVisualPluginUpdateMessage:
-			messageString = "kVisualPluginUpdateMessage";
-			break;
-		case kVisualPluginPlayMessage:
-			messageString = "kVisualPluginPlayMessage";
-			break;
-		case kVisualPluginChangeTrackMessage:
-			messageString = "kVisualPluginChangeTrackMessage";
-			break;
-		case kVisualPluginStopMessage:
-			messageString = "kVisualPluginStopMessage";
-			break;
-		case kVisualPluginSetPositionMessage:
-			messageString = "kVisualPluginSetPositionMessage";
-			break;
-		case kVisualPluginPauseMessage:
-			messageString = "kVisualPluginPauseMessage";
-			break;
-		case kVisualPluginUnpauseMessage:
-			messageString = "kVisualPluginUnpauseMessage";
-			break;
-		case kVisualPluginEventMessage:
-			messageString = "kVisualPluginEventMessage";
-			break;
-		case kVisualPluginDisplayChangedMessage:
-			messageString = "kVisualPluginDisplayChangedMessage";
-			break;
-		default:
-			messageString = "unknownVisualPluginMessage";
-	}
-	strcpy(outString, messageString);
-}
-
-
-OSStatus VisualMain::VisualPluginHandler(OSType message, VisualPluginMessageInfo* messageInfo, void* refCon) {
-
-	bool debug = false;
-
-    OSStatus status;
-    EventRecord* eventPtr;
-	std::string thissucks;
-	
-    static UInt32 majorVersionNum;
-    static UInt32 minorVersionNum;
-    
-    //ITFileSpec pluginFileSpec;
-	VisualGraphics* theVisualGraphics = NULL;
-//	VisualAudioLab* theVisualAudioLab = NULL;
-	bool trackDidChange = false;
-
-    //visualPluginData = (VisualPluginData*) refCon;
-    
-    status = noErr;
-
-	if (debug == true) {
-		static bool firstTimeRun = true;
-		static OSType oneBeforePrevMessage;
-		static OSType prevMessage;
-		static OSType messageWriteLogHistory[3];
-		size_t curr = 2;
-		size_t prev = 1;
-		size_t oneBeforePrev = 0;
-		if (firstTimeRun == true) {
-			oneBeforePrevMessage = '    ';
-			prevMessage = '    ';
-			messageWriteLogHistory[oneBeforePrev] = '    ';
-			messageWriteLogHistory[prev] = '    ';
-			messageWriteLogHistory[curr] = '    ';
-			firstTimeRun = false;
-		}
-		bool doWriteLog = true;
-		char visualPluginMessage[64];
-		char logStr[128];
-		if (message != messageWriteLogHistory[curr]) {
-			// don't log alternating messages (like render/idle/update messages during render loop)
-			if (message == messageWriteLogHistory[prev] && prevMessage == messageWriteLogHistory[curr]) doWriteLog = false;
-			if (message == messageWriteLogHistory[oneBeforePrev] && prevMessage == messageWriteLogHistory[curr] && oneBeforePrevMessage == messageWriteLogHistory[prev]) doWriteLog = false;
-			if (message == messageWriteLogHistory[prev] && prevMessage == messageWriteLogHistory[oneBeforePrev] && oneBeforePrevMessage == messageWriteLogHistory[curr]) doWriteLog = false;
-			if (doWriteLog == true) {
-				VisualMain::convertVisualPluginMessageToString(message, visualPluginMessage);
-				sprintf(logStr, "VisualPluginMessage: %s", visualPluginMessage);
-				writeLog(logStr);
-				messageWriteLogHistory[oneBeforePrev] = messageWriteLogHistory[prev];
-				messageWriteLogHistory[prev] = messageWriteLogHistory[curr];
-				messageWriteLogHistory[curr] = message;
-				oneBeforePrevMessage = prevMessage;
-				prevMessage = message;
-			}
-		}
-	}
-
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	VisualTiming::setTimestampOfPlayerCall();
-
-    switch (message) {
-	
-        case kVisualPluginInitMessage:
-			/*
-			Sent when the visual plugin is registered.
-			The plugin should do minimal memory allocations here. 
-			*/
-			
-			VisualDataStore::setAppVersionNum(messageInfo->u.initMessage.appVersion.majorRev, messageInfo->u.initMessage.appVersion.minorAndBugRev);
-			
-			VisualSignature::setAppCookie(messageInfo->u.initMessage.appCookie);
-			VisualSignature::setAppProc(messageInfo->u.initMessage.appProc);
-			
-//			VisualAudioLab::setMaxNumberOfAudioDataChannels(kVisualMaxDataChannels);
-//			VisualAudioLab::setNumberOfAudioWaveformDataEntries(kVisualNumWaveformEntries);
-//			VisualAudioLab::setNumberOfAudioSpectrumDataEntries(kVisualNumSpectrumEntries);
-
-			VisualConfiguration::setDefaultPreferences();
-
-            majorVersionNum = messageInfo->u.initMessage.messageMajorVersion;
-            minorVersionNum = messageInfo->u.initMessage.messageMinorVersion;
-
-            //messageInfo->u.initMessage.refCon	= (void*) visualPluginData;
-			
-            break;
-
-        case kVisualPluginCleanupMessage:
-			/*
-			Sent when the visual plugin is unloaded
-			This message is sent when iTunes is about to quit. 
-			You should free any resources allocated by your visualizer plug-in at this time.
-			*/
-
-            VisualMain::handleCleanupMessage();
-
-            break;
-                
-        case kVisualPluginEnableMessage:
-			/*
-			Sent when the visual plugin is enabled. 
-			iTunes currently enables all loaded visual plugins. 
-			The plugin should not do anything here.
-			*/
-        case kVisualPluginDisableMessage:
-			
-            break;
-
-        case kVisualPluginIdleMessage:
-			/*
-			Sent if the plugin requests idle messages. 
-			Do this by setting the kVisualWantsIdleMessages option in the RegisterVisualMessage.options field.
-			*/
-
-			if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-				VisualMain::renderAction();
-			}
-			
-            break;
-
-        case kVisualPluginConfigureMessage:
-			/*
-			Sent if the plugin requests the ability for the user to configure it. 
-			Do this by setting the kVisualWantsConfigure option in the RegisterVisualMessage.options field.
-			*/
-
-			VisualConfigurationDialog::show();
-
-			break;
-        
-        case kVisualPluginShowWindowMessage:			
-			/*
-			Sent when iTunes is going to show the visual plugin in a port. 
-			At this point, the plugin should allocate any large buffers it needs.
-			*/
-
-			theVisualGraphics = VisualGraphics::getInstance();
-			{
-				DisplayResolution thePreferredDisplayResolution = theVisualGraphics->returnPreferredDisplayResolution();
-				if (thePreferredDisplayResolution.horizontalPixels > 0) {
-					UInt16 minBitsPerPixel = 24;
-					UInt16 maxBitsPerPixel = 32;
-					VisualDataStore::setPreferredDisplayResolution(minBitsPerPixel, maxBitsPerPixel, thePreferredDisplayResolution.bitsPerPixel, thePreferredDisplayResolution.horizontalPixels, thePreferredDisplayResolution.verticalPixels);
-				}
-			}
-
-            if ((messageInfo->u.showWindowMessage.options & kWindowIsFullScreen) == kWindowIsFullScreen) {
-				theVisualPlayerState->setPlayerShowMode(kIsShowingInFullScreen);
-            } else {
-				theVisualPlayerState->setPlayerShowMode(kIsShowingInWindow);
-            }
-            
-			theVisualGraphics = VisualGraphics::getInstance();
-			theVisualGraphics->isSetupForFullScreenMode((bool)((messageInfo->u.showWindowMessage.options & kWindowIsFullScreen) == kWindowIsFullScreen));
-#if TARGET_OS_MAC
-			theVisualGraphics->setGraphicsDevicePort(messageInfo->u.showWindowMessage.port);
-#endif
-#if TARGET_OS_WIN
-			theVisualGraphics->setGraphicsDevicePort(messageInfo->u.showWindowMessage.window);
-#endif
-			theVisualGraphics->setCanvasRect(&messageInfo->u.showWindowMessage.drawRect);
-            VisualMain::handleShowShouldStartMessage((bool)((messageInfo->u.showWindowMessage.options & kWindowIsFullScreen) == kWindowIsFullScreen));
-			
-			if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-				VisualMain::renderAction();
-			}
-			
-			
-            break;
-
-        case kVisualPluginHideWindowMessage:
-			/*
-			Sent when iTunes is no longer displayed.
-			*/
-                        
-            theVisualPlayerState->setPlayerShowMode(kIsNotShowing);
-			
-			VisualMain::finishRenderAction();
-			
-			VisualDataStore::setAudioMetaDataHasBeenSentToEnsemble(false);
-            
-            break;
-		
-        case kVisualPluginSetWindowMessage:
-			/*
-			Sent when iTunes needs to change the port or rectangle of the currently displayed visual.
-			*/
-			
-            theVisualGraphics = VisualGraphics::getInstance();
-			theVisualGraphics->isSetupForFullScreenMode((bool)((messageInfo->u.setWindowMessage.options & kWindowIsFullScreen) == kWindowIsFullScreen));
-			theVisualGraphics->setCanvasRect(&messageInfo->u.setWindowMessage.drawRect);
-			VisualMain::handleCanvasReshape();									
-
-			if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-				VisualMain::renderAction();
-			}
-			
-            break;
-        
-        case kVisualPluginRenderMessage:
-			/*
-			Sent for the visual plugin to render a frame.
-			*/
-			
-			//theVisualPlayerState->setTrackPlayPositionInMS(messageInfo->u.renderMessage.currentPositionInMS);
-			
-			/*
-			theVisualAudioLab = VisualAudioLab::getInstance();
-			if (messageInfo->u.renderMessage.timeStampID != theVisualAudioLab->getCurrTimestampIDOfRenderData()) {
-				theVisualAudioLab->processAudioData(
-									messageInfo->u.renderMessage.renderData->numWaveformChannels, 
-									kVisualNumWaveformEntries, 
-									(UInt8*)messageInfo->u.renderMessage.renderData->waveformData, 
-									messageInfo->u.renderMessage.renderData->numSpectrumChannels, 
-									kVisualNumSpectrumEntries, 
-									(UInt8*)messageInfo->u.renderMessage.renderData->spectrumData
-								);
-				theVisualAudioLab->setCurrTimestampIDOfRenderData(messageInfo->u.renderMessage.timeStampID);
-			}
-			*/
-
-			globalPM->pcm->addPCM8_512(messageInfo->u.renderMessage.renderData->waveformData);
-
-			if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-				VisualMain::renderAction();
-            }
-			
-            break;
-
-		case kVisualPluginDisplayChangedMessage:
-			/* 
-			Something about display state changed 
-			*/
-			
-			break;
-	
-        case kVisualPluginUpdateMessage:
-			/*
-			Sent in response to an update event. 
-			The visual plugin should update into its remembered port. 
-			This will only be sent if the plugin has been previously given a ShowWindow message.
-			*/
-			
-			if ((theVisualPlayerState->getPlayerShowMode() & kIsShowing) == kIsShowing) {
-				VisualMain::renderAction();
-			}
-			
-            break;        
-
-        case kVisualPluginPlayMessage:
-			/*
-			Sent when the player starts.
-			*/
-/*
-			if ((theVisualPlayerState->getAudioPlayState() & kAudioPlayPaused) != kAudioPlayPaused) {
-				theVisualAudioLab = VisualAudioLab::getInstance();
-				theVisualAudioLab->resetVisualAudioLabData();
-			}
-*/
-			if (messageInfo->u.playMessage.streamInfoUnicode->streamTitle[0] > 0 ||
-				messageInfo->u.playMessage.streamInfoUnicode->streamMessage[0] > 0 ||
-				messageInfo->u.playMessage.streamInfoUnicode->streamURL[0] > 0) {
-				trackDidChange = VisualDataStore::storeAudioStreamMetadata(messageInfo->u.playMessage.streamInfoUnicode);
-			} else {
-				trackDidChange = VisualDataStore::storeAudioTrackMetadata(messageInfo->u.playMessage.trackInfoUnicode);
-			}
-						
-			VisualMain::handleAudioPlayStartedEvent(trackDidChange);
-            
-			/*
-            struct SoundComponentData {
-                long                flags;
-                OSType              format;
-                short               numChannels;
-                short               sampleSize;
-                UnsignedFixed       sampleRate;
-                long                sampleCount;
-                Byte *              buffer;
-                long                reserved;
-            };
-			*/
-            
-            break;
-
-        case kVisualPluginChangeTrackMessage:
-			/*
-			Sent when the player changes the current track information. 
-			This is used when the information about a track changes, 
-			or when the CD moves onto the next track. 
-			The visual plugin should update any displayed information about the currently playing song.
-			*/
-	/*		
-			if ((theVisualPlayerState->getAudioPlayState() & kAudioPlayPaused) != kAudioPlayPaused) {
-				theVisualAudioLab = VisualAudioLab::getInstance();
-				theVisualAudioLab->resetVisualAudioLabData();
-			}
-			*/
-
-			char *title;
-			
-
-			if (messageInfo->u.changeTrackMessage.streamInfoUnicode->streamTitle[0] > 0 ||
-				messageInfo->u.changeTrackMessage.streamInfoUnicode->streamMessage[0] > 0 ||
-				messageInfo->u.changeTrackMessage.streamInfoUnicode->streamURL[0] > 0) {
-				trackDidChange = VisualDataStore::storeAudioStreamMetadata(messageInfo->u.changeTrackMessage.streamInfoUnicode);
-			
-				//globalPM->projectM_setTitle(messageInfo->u.changeTrackMessage.streamInfo->streamTitle);
-				
-				//CopyPascalStringToC(messageInfo->u.changeTrackMessage.streamInfo->streamTitle, title);
-
-
-			} else {
-				trackDidChange = VisualDataStore::storeAudioTrackMetadata(messageInfo->u.changeTrackMessage.trackInfoUnicode);
-					//CopyPascalStringToC(messageInfo->u.changeTrackMessage.trackInfo->name, title);
-			}
-			
-			
-			//thissucks = new std::string(title);
-
-			//globalPM->projectM_setTitle(thissucks);
-
-			VisualMain::handleAudioPlayStartedEvent(trackDidChange);
-
-			
-            break;
-
-        case kVisualPluginStopMessage:
-			/*
-			Sent when the player stops.
-			*/
-
-            VisualMain::handleAudioPlayStoppedEvent();
-			
-            break;
-        
-        case kVisualPluginSetPositionMessage:
-			/*
-			Sent when the player changes position.
-			*/
-
-			theVisualPlayerState->setTrackPlayPositionInMS(messageInfo->u.setPositionMessage.positionTimeInMS);
-			
-            break;
-
-        case kVisualPluginPauseMessage:
-			/*
-			Sent when the player pauses. 
-			iTunes does not currently use pause or unpause.
-			A pause in iTunes is handled by stopping and remembering the position.
-			*/
-			
-			VisualMain::handleAudioPlayStoppedEvent();
-
-            break;
-                
-        case kVisualPluginUnpauseMessage:
-			/*
-			Sent when the player unpauses. 
-			iTunes does not currently use pause or unpause.
-			A pause in iTunes is handled by stopping and remembering the position.
-			*/
-			
-            trackDidChange = false;
-            VisualMain::handleAudioPlayStartedEvent(trackDidChange);
-            
-            break;        
-
-        case kVisualPluginEventMessage:
-			/*
-			Sent to the plugin in response to a OS event. 
-			The plugin should return noErr for any event it handles completely, 
-			or an error (unimpErr) if iTunes should handle it.
-			*/
-			
-			eventPtr = messageInfo->u.eventMessage.event;
-			/*
-			if ((eventPtr->what == keyDown) || (eventPtr->what == autoKey)) {
-				char theChar = (char)(eventPtr->message & charCodeMask);
-			*/
-
-			projectMEvent event;
-            projectMKeycode keycode;
-            projectMModifier mod;
-           
-            event = carbon2pmEvent( messageInfo->u.eventMessage.event );
-            keycode = carbon2pmKeycode( messageInfo->u.eventMessage.event );
-
-            if ( keycode == ' ' ) {
-                status = unimpErr;
-              }
-            globalPM->key_handler( event, keycode, mod );            				
-			status = noErr; // each key is passed on to iTunes
-
-			
-            break;
-
-        default:
-		
-            status = unimpErr;
-			
-            break;
-			
-    }
-	
-    return status;	
-
-}
-
-
-OSStatus VisualMain::RegisterVisualPlugin(PluginMessageInfo* messageInfo) {
-
-	OSType visualPluginCreator = 'hook';
-    OSStatus status;
-    PlayerMessageInfo playerMessageInfo;
-    
-    memset(&playerMessageInfo.u.registerVisualPluginMessage, 0, sizeof(playerMessageInfo.u.registerVisualPluginMessage));
-
-    playerMessageInfo.u.registerVisualPluginMessage.name[0] = (UInt8)strlen(VisualConfiguration::kVisualPluginShowName);
-    memcpy(&playerMessageInfo.u.registerVisualPluginMessage.name[1], VisualConfiguration::kVisualPluginShowName, strlen(VisualConfiguration::kVisualPluginShowName));
-    
-    SetNumVersion(&playerMessageInfo.u.registerVisualPluginMessage.pluginVersion, gVisualPluginMajorVersion, gVisualPluginMinorVersion, gVisualPluginReleaseStage, gVisualPluginNonFinalRelease);
-    
-	playerMessageInfo.u.registerVisualPluginMessage.options = (kVisualWantsConfigure | kVisualWantsIdleMessages);
-    
-    playerMessageInfo.u.registerVisualPluginMessage.handler = (VisualPluginProcPtr)VisualMain::VisualPluginHandler;
-
-    playerMessageInfo.u.registerVisualPluginMessage.registerRefCon = 0;
-	
-	playerMessageInfo.u.registerVisualPluginMessage.creator = visualPluginCreator;
-    
-    playerMessageInfo.u.registerVisualPluginMessage.timeBetweenDataInMS = 0xFFFFFFFF; // 16 milliseconds = 1 Tick, 0xFFFFFFFF = Often as possible.
-    playerMessageInfo.u.registerVisualPluginMessage.numWaveformChannels = 2;
-    playerMessageInfo.u.registerVisualPluginMessage.numSpectrumChannels = 2;
-    
-    playerMessageInfo.u.registerVisualPluginMessage.minWidth = 64;
-    playerMessageInfo.u.registerVisualPluginMessage.minHeight = 64;
-    playerMessageInfo.u.registerVisualPluginMessage.maxWidth = 32767;
-    playerMessageInfo.u.registerVisualPluginMessage.maxHeight = 32767;
-    playerMessageInfo.u.registerVisualPluginMessage.minFullScreenBitDepth = 0; /* 0 = Any */
-    playerMessageInfo.u.registerVisualPluginMessage.maxFullScreenBitDepth = 0; /* 0 = Any */
-    playerMessageInfo.u.registerVisualPluginMessage.windowAlignmentInBytes = 0; /* Reserved (should be zero) */
-    
-    status = PlayerRegisterVisualPlugin(messageInfo->u.initMessage.appCookie, messageInfo->u.initMessage.appProc, &playerMessageInfo);
-    
-    return status;
-	
-}
-
-
-#if TARGET_OS_MAC
-OSStatus iTunesPluginMainMachO(OSType message, PluginMessageInfo* messageInfo, void* refCon)
-#endif
-#if TARGET_OS_WIN
-OSStatus iTunesPluginMain(OSType message, PluginMessageInfo* messageInfo, void* refCon)
-#endif
-{
-    OSStatus status;
-    
-    (void) refCon;
-    
-    switch (message) {
-        case kPluginInitMessage:
-            status = VisualMain::RegisterVisualPlugin(messageInfo);
-            break;
-                
-        case kPluginCleanupMessage:
-            status = noErr;
-            break;
-                
-        default:
-            status = unimpErr;
-            break;
-    }
-    
-    return status;
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualMain.h b/src/projectM-iTunes-VizKit/source/VisualMain.h
deleted file mode 100644
index 6a48bf4..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualMain.h
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualMain.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualMain_h
-#define VisualMain_h
-
-#include "iTunesVisualAPI.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Handles the events and messages passed in by iTunes.
-	 * In its public section VisualMain contains the functions called by iTunes.
-	 * Private static functions access the various internal classes of the visualizer.
-	 * Essential events are:
-	 * audio play start, audio play stop, show start, show stop, and render message.
-	 * When displaying graphics, the visualizer spends most of its time with executing the render message.
-	 */
-	class VisualMain {
-
-	public:
-
-		/**
-		 * Called by iTunes to send messages to visualizer plug-in.
-		 * Known by iTunes via call to PlayerRegisterVisualPlugin.
-						These types of messages can be received:
-						kVisualPluginInitMessage
-						kVisualPluginCleanupMessage
-						kVisualPluginEnableMessage
-						kVisualPluginDisableMessage
-						kVisualPluginIdleMessage
-						kVisualPluginConfigureMessage
-						kVisualPluginShowWindowMessage
-						kVisualPluginHideWindowMessage
-						kVisualPluginSetWindowMessage
-						kVisualPluginRenderMessage
-						kVisualPluginUpdateMessage
-						kVisualPluginPlayMessage
-						kVisualPluginChangeTrackMessage
-						kVisualPluginStopMessage
-						kVisualPluginSetPositionMessage
-						kVisualPluginPauseMessage
-						kVisualPluginUnpauseMessage
-						kVisualPluginEventMessage
-						kVisualPluginDisplayChangedMessage
-		 * @param message Type of message.
-		 * @param messageInfo Additional data.
-		 * @param refCon Pointer to untyped additional data.
-		 * @return Error status.
-		 */
-		static OSStatus VisualPluginHandler(OSType message, VisualPluginMessageInfo* messageInfo, void* refCon);
-
-		/**
-		 * Called by iTunes, dispatched from main function. Registers the visualizer plug-in to iTunes.
-		 * The function calls PlayerRegisterVisualPlugin to be registered by iTunes.
-		 * @param messageInfo A pointer to a data structure passed in by iTunes and sent on to PlayerRegisterVisualPlugin.
-		 * @return Status of the operation.
-		*/
-		static OSStatus RegisterVisualPlugin(PluginMessageInfo* messageInfo);
-
-	private:
-
-		/** The constructor.\ VisualMain is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualMain();
-		
-		/** The destructor.\ VisualMain is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualMain();
-
-		/**
-		 * Prepares rendering.
-		 * @return The error status.
-		 */	
-		static OSStatus prepareRenderAction(void);
-
-		/**
-		 * The rendering action executed with each kVisualPluginRenderMessage/kVisualPluginIdleMessage.
-		 * @return The error status.
-		 * @remarks Probably the most often called function.
-		 */	
-		static OSStatus renderAction(void);
-
-		/**
-		 * Finishes rendering.
-		 * @return The error status.
-		 */	
-		static OSStatus finishRenderAction(void);
-
-		/**
-		 * Called when iTunes stops playing audio.
-		 * Gathered audio data is cleared when the audio stops playing.
-		 */
-		static void handleAudioPlayStoppedEvent(void);
-
-		/**
-		 * Called when iTunes starts playing audio.
-		 */
-		static void handleAudioPlayStartedEvent(bool trackDidChange);
-
-		/**
-		 * Called when iTunes starts showing the visualizer.
-		 * @param isFullscreen Set to true if fullscreen.
-		 */
-		static void handleShowShouldStartMessage(const bool isFullscreen);
-
-		/**
-		 * Called when visualizer plug-in is unloaded.
-		 */
-		static void handleCleanupMessage(void);
-
-		/**
-		 * Called when canvas is resized.
-		 */
-		static void handleCanvasReshape(void);
-
-		/**
-		 * Static helper function that converts a VisualPluginMessage to the string.\ Possibly useful for debugging or tracing purposes.
-		 * @param visualPluginMessage The visualPluginMessage.
-		 * @param outString The character string value of the VisualNotificationKey enum value.
-		 */
-		static void convertVisualPluginMessageToString(const OSType visualPluginMessage, char* outString);
-
-	};
-
-}
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * C-callable function exported to iTunes.\ Calls the register function.
- * Gets called by iTunes on init and on cleanup.
- * On init the visualizer plug-in registers itself to iTunes via function RegisterVisualPlugin().
- * Message types: kPluginInitMessage, kPluginCleanupMessage.
- * On Mac the function is named iTunesPluginMainMachO for Mach-O plug-in. The function returns OSStatus.
- * On Windows the function is named iTunesPluginMain and declared with __declspec(dllexport).
- * @param message The kind of message passed in (e.g.\ kPluginInitMessage).
- * @param messageInfo Additional data passed in.
- * @param refCon Pointer to untyped additional data.
- * @return Status of the operation.
- */
-#if TARGET_OS_MAC
-__attribute__((visibility("default")))
-extern OSStatus iTunesPluginMainMachO(OSType message, PluginMessageInfo* messageInfo, void* refCon);
-#endif
-#if TARGET_OS_WIN
-extern __declspec(dllexport) OSStatus iTunesPluginMain(OSType message, PluginMessageInfo* messageInfo, void* refCon);
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* VisualMain_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualNotification.cpp b/src/projectM-iTunes-VizKit/source/VisualNotification.cpp
deleted file mode 100644
index b48727d..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNotification.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNotification.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualNotification.h"
-#include "VisualNotificationQueue.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-VisualNotification::VisualNotification() {
-	notificationEnumKey = kNoNotificationKey;
-	notificationValue = NULL;
-	notificationValueLength = 0;
-	callbackFunction = NULL;
-	userData = NULL;
-}
-
-
-VisualNotification::~VisualNotification() {
-	if (notificationValue != NULL) {
-		free(notificationValue);
-	}
-}
-
-
-VisualNotification::VisualNotification(const VisualNotification& other) {
-	copy(other);
-}
-
-
-VisualNotification& VisualNotification::operator=(const VisualNotification& other) {
-	if (this != &other) {
-		if (this->notificationValue != NULL) {
-			free(this->notificationValue);
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualNotification::copy(const VisualNotification& other) {
-	this->notificationEnumKey = other.notificationEnumKey;
-	if (other.notificationValue != NULL) {
-		this->notificationValue = (void*)malloc(other.notificationValueLength * sizeof(unsigned char));
-		memcpy(this->notificationValue, other.notificationValue, other.notificationValueLength);
-	} else {
-		this->notificationValue = NULL;
-	}
-	this->notificationValueLength = other.notificationValueLength;
-	this->callbackFunction = other.callbackFunction;
-	this->userData = other.userData;
-}
-
-
-void VisualNotification::setKey(const VisualNotificationKey aKey) {
-    this->notificationEnumKey = aKey;
-}
-
-
-VisualNotificationKey VisualNotification::getKey() const {
-	return this->notificationEnumKey;
-}
-
-
-void VisualNotification::setValue(const void* const aValue, UInt32 valueLengthInBytes) {
-	if (this->notificationValue != NULL) {
-		free(this->notificationValue);
-		this->notificationValue = NULL;
-	}
-	this->notificationValue = (void*)malloc(valueLengthInBytes * sizeof(char));
-	memcpy(this->notificationValue, aValue, valueLengthInBytes);
-	this->notificationValueLength = valueLengthInBytes;
-}
-
-
-const void* const VisualNotification::getValue(UInt32& numberOfBytes) const {
-	numberOfBytes = this->notificationValueLength;
-    return this->notificationValue;
-}
-
-
-void VisualNotification::setCallbackFunction(VisualNotificationCallback aCallbackFunction, void* someUserData) {
-	this->callbackFunction = aCallbackFunction;
-	this->userData = someUserData;
-}
-
-
-void VisualNotification::post() {
-	VisualNotificationQueue::push(*this);
-}
-
-
-void VisualNotification::callCallbackFunction() {
-	this->callbackFunction(this->userData);
-}
-
-
-void VisualNotification::post(const VisualNotificationKey aKey) {
-	VisualNotification aNotification;
-	aNotification.setKey(aKey);
-	VisualNotificationQueue::push(aNotification);
-}
-
-
-void VisualNotification::convertNotificationKeyToString(const VisualNotificationKey aKey, char* outString) {
-	char* messageString;
-	switch (aKey) {
-		case kNoNotificationKey:
-			messageString = "kNoNotificationKey";
-			break;
-		case kKeyPressedEvt:
-			messageString = "kKeyPressedEvt";
-			break;
-		case kAudioPlayStartedEvt:
-			messageString = "kAudioPlayStartedEvt";
-			break;
-		case kAudioPlayStoppedEvt:
-			messageString = "kAudioPlayStoppedEvt";
-			break;
-		case kAudioPlayPausedEvt:
-			messageString = "kAudioPlayPausedEvt";
-			break;
-		case kAudioPlayResumedEvt:
-			messageString = "kAudioPlayResumedEvt";
-			break;
-		case kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt:
-			messageString = "kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt";
-			break;
-		case kToggleShowProcessMonitorMsg:
-			messageString = "kToggleShowProcessMonitorMsg";
-			break;
-		case kToggleProcessMonitorAudioInfoMsg:
-			messageString = "kToggleProcessMonitorAudioInfoMsg";
-			break;
-		case kCanvasReshapeEvt:
-			messageString = "kCanvasReshapeEvt";
-			break;
-		case kAudioMetadataIsAvailableMsg:
-			messageString = "kAudioMetadataIsAvailableMsg";
-			break;
-		case kTrackInfoTextureIsAvailableMsg:
-			messageString = "kTrackInfoTextureIsAvailableMsg";
-			break;
-		case kCoverTextureIsAvailableMsg:
-			messageString = "kCoverTextureIsAvailableMsg";
-			break;
-		case kLyricsAreAvailableMsg:
-			messageString = "kLyricsAreAvailableMsg";
-			break;
-		case kLyricsTextureIsAvailableMsg:
-			messageString = "kLyricsTextureIsAvailableMsg";
-			break;
-		case kTrackInfoTextureChangedMsg:
-			messageString = "kTrackInfoTextureChangedMsg";
-			break;
-		default:
-			messageString = "unknownNotificationKey";
-	}
-	strcpy(outString, messageString);
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualNotification.h b/src/projectM-iTunes-VizKit/source/VisualNotification.h
deleted file mode 100644
index 4cd273a..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNotification.h
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNotification.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualNotification_h
-#define VisualNotification_h
-
-#include "VisualNotificationKey.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/** Callback function. */
-	typedef void (*VisualNotificationCallback)(void* userData);
-
-	/**
-	 * A message that can be sent between VisualStageControl and VisualEnsemble.
-	 * Messaging object that is passed to VisualEnsemble.
-	 * VisualActors are notified about events and messages via an object. 
-	 * The VisualActors can query the VisualNotification for details.
-	 * The VisualActors can also set the value to pass it back to the caller.
-	 */
-	class VisualNotification {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualNotification();
-
-		/**
-		 * The destructor.
-		 */
-		~VisualNotification();
-
-		/**
-		 * Copy constructor.
-		 */		
-		VisualNotification(const VisualNotification& other);
-
-		/**
-		 * Assignment operator.
-		 */			
-		VisualNotification& operator=(const VisualNotification& other);
-		
-		/**
-		 * Sets the key of a notification. Notification keys are implemented as enums.
-		 * @param aKey The enum key.
-		 */
-		void setKey(const VisualNotificationKey aKey);
-
-		/**
-		 * Returns the key of the notification.
-		 * @return The key of the notification.\ Notification keys are implemented as enums.
-		 */
-		VisualNotificationKey getKey(void) const;
-
-		/**
-		 * Sets the value of a notification.
-		 * @param aValue The pointer to the memory location of the value.
-		 * @param valueLengthInBytes The length of the value in bytes.
-		 * @remarks The value (not only the pointer) is copied.
-		 */
-		void setValue(const void* const aValue, UInt32 valueLengthInBytes);
-
-		/**
-		 * Returns the value of the notification.
-		 * @param[out] numberOfBytes The number of bytes the value occupies in memory.
-		 * @return The pointer to the memory location of the value.
-		 */
-		const void* const getValue(UInt32& numberOfBytes) const;
-
-		/**
-		 * Sets the second value of a notification.
-		 * @param aCallbackFunction Pointer to a callback function.
-		 * @param someUserData Optional user data.
-		 */
-		void setCallbackFunction(VisualNotificationCallback aCallbackFunction, void* someUserData = NULL);
-
-		/**
-		 * Calls the callback function.
-		 */
-		void callCallbackFunction(void);
-
-		/**
-		 * The notification is posted to the VisualNotificationQueue (pushed at the end of the VisualNotificationQueue).
-		 */
-		void post(void);
-
-		/**
-		 * Static helper function that converts a VisualNotificationKey to the string.\ Possibly useful for debugging or tracing purposes.
-		 * @param aKey The key of a notification.
-		 * @param outString The character string value of the VisualNotificationKey enum value.
-		 */
-		static void convertNotificationKeyToString(const VisualNotificationKey aKey, char* outString);
-
-		/**
-		 * Static function for convenient posting of simple enum value of VisualNotificationKey.
-		 * @param aKey The notification key to post.
-		 * @remarks The notification is pushed at the end of the VisualNotificationQueue.
-		 */
-		static void post(const VisualNotificationKey aKey);
-		
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualNotification.
-		 */
-		void copy(const VisualNotification& other);
-		
-		/** Enum value of notification as UInt16. */
-		VisualNotificationKey notificationEnumKey;
-		
-		/** Optional value of notification as pure data (unspecified datatype void). */
-		void* notificationValue;
-		
-		/** The length of the optional value in bytes. */
-		UInt32 notificationValueLength;
-
-		/** Callback function. */
-		VisualNotificationCallback callbackFunction;
-		
-		/** Internally stored pointer to provided user data (e.g.\ pointer to instance variable of initialized class). */
-		void* userData;
-	};
-
-}
-
-#endif /* VisualNotification_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h b/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h
deleted file mode 100644
index 0c511c4..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNotificationKey.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNotificationKey.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualNotificationKey_h
-#define VisualNotificationKey_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/** Constants for various notifications that can be sent to VisualActors or dispatched to individual modules. */
-	typedef enum {
-		kNoNotificationKey = 0, /**< No defined notification. */
-		kKeyPressedEvt, /**< A key of the keyboard has been pressed. */
-		kAudioPlayStartedEvt, /**< Audio play started. */
-		kAudioPlayStoppedEvt, /**< Audio play stopped. */
-		kAudioPlayPausedEvt, /**< Audio play paused. The current audio track did not play until its end. */
-		kAudioPlayResumedEvt, /**< Audio play resumed. After pause play resumed. */
-		kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt, /** The remaining time of the audio track is shorter than the kFadeOutTimeBeforeEndOfTrackInMS. */
-		kToggleShowProcessMonitorMsg, /**< The ProcessMonitor values should be shown if they are hidden or hidden if they are shown. */
-		kToggleProcessMonitorAudioInfoMsg, /**< The audio data of the ProcessMonitor should be shown if it is hidden or hidden if it is shown. */
-		kCanvasReshapeEvt, /**< The dimensions of the canvas changed. */
-		kAudioMetadataIsAvailableMsg, /**< The meta data of the current audio track (e.g.\ the title, artist) is available. */
-		kTrackInfoTextureIsAvailableMsg, /**< The texture of the track info string is available. */
-		kCoverTextureIsAvailableMsg, /**< The album cover art texture is available. */
-		kLyricsAreAvailableMsg, /**< Lyrics of the current audio track are available. */
-		kLyricsTextureIsAvailableMsg, /**< The texture of the lyrics is available. */
-		kTrackInfoTextureChangedMsg /**< The texture of the track info changed. */
-	} VisualNotificationKey;
-
-}
-
-#endif /* VisualNotificationKey_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp
deleted file mode 100644
index fd1f9f5..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNotificationQueue.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualNotificationQueue.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-VisualNotificationQueue* VisualNotificationQueue::theVisualNotificationQueue = NULL;
-
-
-VisualNotificationQueue::VisualNotificationQueue() {
-	// null
-}
-
-
-VisualNotificationQueue::~VisualNotificationQueue() {
-	theVisualNotificationQueue->notificationQueue.clear();
-}
-
-
-VisualNotificationQueue* VisualNotificationQueue::getInstance() {
-	if (theVisualNotificationQueue == NULL) {
-		theVisualNotificationQueue = new VisualNotificationQueue;
-	}
-	return theVisualNotificationQueue;
-}
-
-
-void VisualNotificationQueue::dispose() {
-	if (theVisualNotificationQueue != NULL) {
-		delete theVisualNotificationQueue;
-		theVisualNotificationQueue = NULL;
-	}
-}
-
-
-void VisualNotificationQueue::push(VisualNotification& aNotification) {
-	theVisualNotificationQueue = VisualNotificationQueue::getInstance();
-	theVisualNotificationQueue->notificationQueue.push_back(aNotification);
-}
-
-
-VisualNotification VisualNotificationQueue::pop() {
-	VisualNotification aNotification;
-	theVisualNotificationQueue = VisualNotificationQueue::getInstance();
-	aNotification = theVisualNotificationQueue->notificationQueue.front();
-	theVisualNotificationQueue->notificationQueue.pop_front();
-	return aNotification;
-}
-
-
-size_t VisualNotificationQueue::size() {
-	theVisualNotificationQueue = VisualNotificationQueue::getInstance();
-	return theVisualNotificationQueue->notificationQueue.size();
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h b/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h
deleted file mode 100644
index 77ba823..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNotificationQueue.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNotificationQueue.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualNotificationQueue_h
-#define VisualNotificationQueue_h
-
-#include "VisualNotification.h"
-
-#include <queue>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Queue of notifications. Singleton.
-	 */
-	class VisualNotificationQueue {
-	
-	public:
-
-		/**
-		 * Returns a pointer to the instance. 
-		 * Initializes the VisualNotificationQueue class if neccessary. 
-		 * The VisualNotificationQueue is of singleton type.
-		 * @return A pointer to the initialized VisualNotificationQueue.
-		 */
-		static VisualNotificationQueue* getInstance(void);
-
-		/**
-		 * Cleans up the VisualNotificationQueue singleton.
-		 */	
-		static void dispose(void);
-
-		/**
-		 * Pushes a Notification at the end of the VisualNotificationQueue.
-		 * @param aNotification The VisualNotification.
-		 */
-		static void push(VisualNotification& aNotification);
-
-		/**
-		 * Erases the top VisualNotification of the VisualNotificationQueue.
-		 */			
-		static VisualNotification pop(void);
-
-		/**
-		 * Returns the number of items currently stored in VisualNotificationQueue.
-		 */		
-		static size_t size(void);
-
-	private:
-	
-		/** VisualNotificationQueue is a singleton class. Pointer to private instance is handled internally. */
-		static VisualNotificationQueue* theVisualNotificationQueue;
-	
-		/** The constructor.\ VisualNotificationQueue is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualNotificationQueue();
-		
-		/** The destructor.\ VisualNotificationQueue is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualNotificationQueue();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualNotificationQueue.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualNotificationQueue(const VisualNotificationQueue& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualNotificationQueue& operator=(const VisualNotificationQueue& other);
-		
-		/** A NotificationQueue is a queue of notifications.
-		 * @remarks The VisualNotificationQueue stores its events as a NotificationQueue.
-		 */
-		typedef std::deque<VisualNotification> NotificationQueue;
-		
-		/** A NotificationQueueIterator is an iterator of the NotificationQueue. */
-		typedef NotificationQueue::iterator NotificationQueueIterator;
-
-		/** The queue of the notifications. */
-		NotificationQueue notificationQueue;
-		
-	};
-	
-}
-
-#endif /* VisualThreading_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp b/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp
deleted file mode 100644
index 72596bc..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNurbs.cpp
+++ /dev/null
@@ -1,389 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNurbs.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualNurbs.h"
-#include "VisualErrorHandling.h"
-#include "VisualGraphicsCore.h"
-#include "VisualGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-VisualNurbs::VisualNurbs(UInt8 sKnotsCount, float* sKnotsPointer, UInt8 tKnotsCount, float* tKnotsPointer, UInt16 s_Stride, UInt16 t_Stride, UInt16 s_Order, UInt16 t_Order) {
-
-	sNumKnots = sKnotsCount;
-	sKnots = (GLfloat*)malloc(sKnotsCount * sizeof(GLfloat));
-	for (int i = 0; i < sKnotsCount; i++) {
-		sKnots[i] = sKnotsPointer[i];
-	}
-	tNumKnots = tKnotsCount;
-	tKnots = (GLfloat*)malloc(tKnotsCount * sizeof(GLfloat));
-	for (int i = 0; i < tKnotsCount; i++) {
-		tKnots[i] = tKnotsPointer[i];
-	}
-	
-	sStride = s_Stride;
-	tStride = t_Stride;
-	sOrder = s_Order;
-	tOrder = t_Order;
-	
-	nurbsObject = gluNewNurbsRenderer();
-
-	controlPointsVisibility = kInvisible;
-	controlPoints = NULL;
-	nurbsTexture = NULL;
-	
-}
-
-
-VisualNurbs::~VisualNurbs() {
-	if (nurbsTexture != NULL) {
-		delete nurbsTexture;
-	}
-	if (sKnots != NULL) {
-		free(sKnots);
-	}
-	if (tKnots != NULL) {
-		free(tKnots);
-	}
-	if (controlPoints != NULL) {
-		free(controlPoints);
-	}
-	gluDeleteNurbsRenderer(nurbsObject);
-}
-
-
-VisualNurbs::VisualNurbs(const VisualNurbs& other) {
-	copy(other);
-}
-
-
-VisualNurbs& VisualNurbs::operator=(const VisualNurbs& other) {
-	if (this != &other) {
-		if (this->sKnots != NULL) {
-			free(this->sKnots);
-		}
-		if (this->tKnots != NULL) {
-			free(this->tKnots);
-		}
-		if (this->nurbsObject) {
-			gluDeleteNurbsRenderer(this->nurbsObject);
-		}
-		if (this->controlPoints != NULL) {
-			free(this->controlPoints);
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualNurbs::copy(const VisualNurbs& other) {
-	this->sNumKnots = other.sNumKnots;
-	if (other.sKnots != NULL) {
-		this->sKnots = (GLfloat*)malloc(this->sNumKnots * sizeof(GLfloat));
-		for (int i = 0; i < this->sNumKnots; i++) {
-			this->sKnots[i] = other.sKnots[i];
-		}
-	} else {
-		this->sKnots = NULL;
-	}
-	this->tNumKnots = other.tNumKnots;
-	if (other.tKnots != NULL) {
-		this->tKnots = (GLfloat*)malloc(this->tNumKnots * sizeof(GLfloat));
-		for (int i = 0; i < this->tNumKnots; i++) {
-			this->tKnots[i] = other.tKnots[i];
-		}
-	} else {
-		this->tKnots = NULL;
-	}
-	
-	this->sStride = other.sStride;
-	this->tStride = other.tStride;
-	this->sOrder = other.sOrder;
-	this->tOrder = other.tOrder;
-	
-	this->nurbsObject = gluNewNurbsRenderer();
-	
-	this->controlPointsVisibility = other.controlPointsVisibility;
-	UInt16 numberOfControlPoints = (this->sNumKnots - this->sOrder) * (this->tNumKnots - this->tOrder);
-	this->controlPoints = (GLfloat*)malloc(numberOfControlPoints * sizeof(GLfloat));
-	for (int i = 0; i < numberOfControlPoints; i++) {
-		this->controlPoints[i] = other.controlPoints[i];
-	}
-	if (other.nurbsTexture) {
-		this->nurbsTexture = new NurbsTexture(*(other.nurbsTexture));
-	} else {
-		this->nurbsTexture = NULL;
-	}
-}
-
-
-VisualNurbs::NurbsTexture::NurbsTexture() {
-	sNumKnots = 0;
-	sKnots = NULL;
-	tNumKnots = 0;
-	tKnots = NULL;
-	sStride = 0;
-	tStride = 0;
-	sOrder = 0;
-	tOrder = 0;
-	textureName = 0;
-	canUseRectExtension = false;
-	texturePoints = NULL;
-}
-
-VisualNurbs::NurbsTexture::~NurbsTexture() {
-	free(sKnots);
-	free(tKnots);
-	if (texturePoints) {
-		free(texturePoints);
-	}
-}
-
-
-VisualNurbs::NurbsTexture::NurbsTexture(const NurbsTexture& other) {
-	copy(other);
-}
-
-
-VisualNurbs::NurbsTexture& VisualNurbs::NurbsTexture::operator=(const VisualNurbs::NurbsTexture& other) {
-	if (this != &other) {
-		if (this->sKnots != NULL) {
-			free(this->sKnots);
-		}
-		if (this->tKnots != NULL) {
-			free(this->tKnots);
-		}
-		if (this->texturePoints != NULL) {
-			free(this->texturePoints);
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualNurbs::NurbsTexture::copy(const VisualNurbs::NurbsTexture& other) {
-	this->sNumKnots = other.sNumKnots;
-	if (other.sKnots != NULL) {
-		this->sKnots = (GLfloat*)malloc(this->sNumKnots * sizeof(GLfloat));
-		for (int i = 0; i < this->sNumKnots; i++) {
-			this->sKnots[i] = other.sKnots[i];
-		}
-	} else {
-		this->sKnots = NULL;
-	}
-	this->tNumKnots = other.tNumKnots;
-	if (other.tKnots != NULL) {
-		this->tKnots = (GLfloat*)malloc(this->tNumKnots * sizeof(GLfloat));
-		for (int i = 0; i < this->tNumKnots; i++) {
-			this->tKnots[i] = other.tKnots[i];
-		}
-	} else {
-		this->tKnots = NULL;
-	}
-	this->sStride = other.sStride;
-	this->tStride = other.tStride;
-	this->sOrder = other.sOrder;
-	this->tOrder = other.tOrder;
-	this->textureName = other.textureName;
-	this->canUseRectExtension = other.canUseRectExtension;
-	UInt16 numberOfTextureControlPoints = (this->sNumKnots - this->sOrder) * (this->tNumKnots - this->tOrder);
-	this->texturePoints = (GLfloat*)malloc(numberOfTextureControlPoints * sizeof(GLfloat));
-	for (int i = 0; i < numberOfTextureControlPoints; i++) {
-		this->texturePoints[i] = other.texturePoints[i];
-	}
-}
-
-
-void VisualNurbs::setNurbsProperty(UInt32 property, float value) {
-
-/*
-	//gluNurbsCallback(this->coverNurb, GLU_ERROR, nurbsError);
-*/
-	
-	gluNurbsProperty(this->nurbsObject, (GLenum)property, (GLfloat)value);
-}
-
-
-void VisualNurbs::setSamplingTolerance(double samplingTolerance) {
-	this->setNurbsProperty(GLU_SAMPLING_TOLERANCE, static_cast<float>(samplingTolerance));
-}
-
-
-void VisualNurbs::setDisplayMode(NurbsDisplayMode requestedDisplayMode) {
-	if (requestedDisplayMode == kFill) {
-		this->setNurbsProperty(GLU_DISPLAY_MODE, GLU_FILL);
-	} else if (requestedDisplayMode == kOutlinePolygon) {
-		this->setNurbsProperty(GLU_DISPLAY_MODE, GLU_OUTLINE_POLYGON);
-	}
-}
-
-
-void VisualNurbs::setControlPointsVisibility(Visibility visibility) {
-	this->controlPointsVisibility = visibility;
-}
-
-
-void VisualNurbs::setControlPoints(UInt16 numberOfControlPoints, float* someControlPoints) {
-	
-	if (this->controlPoints) {
-		free(this->controlPoints);
-		this->controlPoints = NULL;
-	}
-	this->controlPoints = (GLfloat*)malloc(numberOfControlPoints * sizeof(GLfloat));
-	for (int i = 0; i < numberOfControlPoints; i++) {
-		this->controlPoints[i] = someControlPoints[i];
-	}
-}
-
-
-void VisualNurbs::setTexture(UInt8 sKnotsCount, float* sKnotsPointer, UInt8 tKnotsCount, float* tKnotsPointer, UInt16 s_Stride, UInt16 t_Stride, UInt16 s_Order, UInt16 t_Order, UInt32 aTextureName, bool canUseRectExtensionBool) {
-
-	if (this->nurbsTexture != NULL) {
-		delete this->nurbsTexture;
-		this->nurbsTexture = NULL;
-	}
-	this->nurbsTexture = new NurbsTexture;
-	this->nurbsTexture->sNumKnots = sKnotsCount;
-	this->nurbsTexture->sKnots = (GLfloat*)malloc(sKnotsCount * sizeof(GLfloat));
-	for (int i = 0; i < sKnotsCount; i++) {
-		this->nurbsTexture->sKnots[i] = sKnotsPointer[i];
-	}
-	this->nurbsTexture->tNumKnots = tKnotsCount;
-	this->nurbsTexture->tKnots = (GLfloat*)malloc(tKnotsCount * sizeof(GLfloat));
-	for (int i = 0; i < tKnotsCount; i++) {
-		this->nurbsTexture->tKnots[i] = tKnotsPointer[i];
-	}
-
-	this->nurbsTexture->sStride = s_Stride;
-	this->nurbsTexture->tStride = t_Stride;
-	this->nurbsTexture->sOrder = s_Order;
-	this->nurbsTexture->tOrder = t_Order;
-	
-	this->nurbsTexture->textureName = aTextureName;
-	this->nurbsTexture->canUseRectExtension = canUseRectExtensionBool;
-		
-}
-
-
-void VisualNurbs::setTextureControlPoints(UInt16 numberOfTextureControlPoints, float* someTextureControlPoints) {
-
-	if (this->nurbsTexture) {
-		if (this->nurbsTexture->texturePoints) {
-			free(this->nurbsTexture->texturePoints);
-			this->nurbsTexture->texturePoints = NULL;
-		}
-		this->nurbsTexture->texturePoints = (GLfloat*)malloc(numberOfTextureControlPoints * sizeof(GLfloat));
-		for (int i = 0; i < numberOfTextureControlPoints; i++) {
-			this->nurbsTexture->texturePoints[i] = someTextureControlPoints[i];
-		}
-	} else {
-		writeLog("ERR: setTextureControlPoints: NurbsTexture not found");
-	}
-}
-
-
-void VisualNurbs::draw() {
-	
-	if (this->nurbsTexture != NULL) {
-		if (this->nurbsTexture->canUseRectExtension == false) {
-			glEnable(GL_TEXTURE_2D);
-			glBindTexture(GL_TEXTURE_2D, (GLuint)this->nurbsTexture->textureName);
-		} else {
-#if TARGET_OS_MAC
-			glEnable(GL_TEXTURE_RECTANGLE_EXT);
-			glBindTexture(GL_TEXTURE_RECTANGLE_EXT, (GLuint)this->nurbsTexture->textureName);
-#endif
-		}
-	}
-
-	gluBeginSurface(this->nurbsObject);
-		if (this->nurbsTexture != NULL) {
-			gluNurbsSurface(this->nurbsObject, 
-								this->nurbsTexture->sNumKnots, 
-								this->nurbsTexture->sKnots, 
-								this->nurbsTexture->tNumKnots, 
-								this->nurbsTexture->tKnots, 
-								this->nurbsTexture->sStride, 
-								this->nurbsTexture->tStride,
-								this->nurbsTexture->texturePoints,
-								this->nurbsTexture->sOrder,
-								this->nurbsTexture->tOrder,
-								GL_MAP2_TEXTURE_COORD_2);
-		}
-		gluNurbsSurface(this->nurbsObject, 
-							this->sNumKnots, 
-							this->sKnots, 
-							this->tNumKnots, 
-							this->tKnots, 
-							this->sStride, 
-							this->tStride, 
-							this->controlPoints,
-							this->sOrder, 
-							this->tOrder, 
-							GL_MAP2_VERTEX_3);
-	gluEndSurface(this->nurbsObject);
-
-	if (this->nurbsTexture != NULL) {
-		if (this->nurbsTexture->canUseRectExtension == false) {
-			glDisable(GL_TEXTURE_2D);
-		} else {
-#if TARGET_OS_MAC
-			glDisable(GL_TEXTURE_RECTANGLE_EXT);
-#endif
-		}
-	}
-
-	if (this->controlPointsVisibility == kVisible) {
-		int cnt = 0;
-		glPointSize(3.0f);
-		glColor3f(1.0f, 1.0f, 0.0f);
-		glBegin(GL_POINTS);
-		int i, j;
-		for (i = 0; i < 8; i++) {
-			for (j = 0; j < 8; j++) {
-				glVertex3f(this->controlPoints[cnt], this->controlPoints[cnt + 1], this->controlPoints[cnt + 2]);
-				cnt += 3;
-			}
-		}
-		glEnd();
-	}
-
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualNurbs.h b/src/projectM-iTunes-VizKit/source/VisualNurbs.h
deleted file mode 100644
index c21cefe..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualNurbs.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualNurbs.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualNurbs_h
-#define VisualNurbs_h
-
-#include "VisualGraphicTypes.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <windows.h>
-#endif
-
-
-#if TARGET_OS_MAC
-#include <OpenGL/glu.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <GL/gl.h>
-#include <GL/glu.h>
-#endif
-
-
-namespace VizKit {
-
-
-	/**
-	 * Nurbs (non-uniform rational b-spline) functionality.
-	 */
-	class VisualNurbs {
-	
-	public:
-
-		/**
-		 * The constructor with all necessary arguments to create a NURBS.
-		 * @param sKnotsCount The number of knots in horizontal direction.
-		 * @param sKnotsPointer A pointer to the array of horizontal knot values.\ The knot values are copied.
-		 * @param tKnotsCount The number of knots in vertical direction.
-		 * @param tKnotsPointer A pointer to the array of vertical knot values.\ The knot values are copied.
-		 * @param s_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric u direction in control.
-		 * @param t_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric v direction in control.
-		 * @param s_Order Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4.
-		 * @param t_Order Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4.
-		 */
-		VisualNurbs(UInt8 sKnotsCount, float* sKnotsPointer, UInt8 tKnotsCount, float* tKnotsPointer, UInt16 s_Stride, UInt16 t_Stride, UInt16 s_Order, UInt16 t_Order);
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualNurbs();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualNurbs.
-		 */
-		VisualNurbs(const VisualNurbs& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualNurbs.
-		 */
-		VisualNurbs& operator=(const VisualNurbs& other);
-
-		/**
-		 * Stores the control points of the NURBS.
-		 * @param numberOfControlPoints The number of control points.
-		 * @param someControlPoints A pointer to an array of control points.\ The control points are copied.
-		 */
-		void setControlPoints(UInt16 numberOfControlPoints, float* someControlPoints);
-
-		/**
-		 * Associates the NURBS with a texture.
-		 * @param sKnotsCount The number of knots in horizontal direction.
-		 * @param sKnotsPointer A pointer to the array of horizontal knot values.\ The knot values are copied.
-		 * @param tKnotsCount The number of knots in vertical direction.
-		 * @param tKnotsPointer A pointer to the array of vertical knot values.\ The knot values are copied.
-		 * @param s_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric u direction in control.
-		 * @param t_Stride Specifies the offset (as a number of single-precision floating point values) between successive control points in the parametric v direction in control.
-		 * @param s_Order Specifies the order of the NURBS surface in the parametric u direction. The order is one more than the degree, hence a surface that is cubic in u has a u order of 4.
-		 * @param t_Order Specifies the order of the NURBS surface in the parametric v direction. The order is one more than the degree, hence a surface that is cubic in v has a v order of 4.
-		 * @param aTextureName The name/number/id of the texture.
-		 * @param canUseRectExtensionBool True if graphics system does support rectangular texture extension.\ False if only textures with power-of-2-dimensions are allowed.
-		 */
-		void setTexture(UInt8 sKnotsCount, float* sKnotsPointer, UInt8 tKnotsCount, float* tKnotsPointer, UInt16 s_Stride, UInt16 t_Stride, UInt16 s_Order, UInt16 t_Order, UInt32 aTextureName, bool canUseRectExtensionBool);
-
-		/**
-		 * Stores the control points of the texture.
-		 * @param numberOfTextureControlPoints The number of control points.
-		 * @param someTextureControlPoints A pointer to an array of control points.\ The control points are copied.
-		 */
-		void setTextureControlPoints(UInt16 numberOfTextureControlPoints, float* someTextureControlPoints);
-		
-		/**
-		 * Draws the NURBS on screen.
-		 */
-		void draw(void);
-		
-		/**
-		 * Sets the display mode of the NURBS to filled or outlined polygon.
-		 * @param requestedDisplayMode The requested display mode.
-		 */
-		void setDisplayMode(NurbsDisplayMode requestedDisplayMode);
-
-		/**
-		 * Sets the sampling tolerance of the NURBS.
-		 * @param samplingTolerance The requested sampling tolerance.
-		 */
-		void setSamplingTolerance(double samplingTolerance);
-		
-		/**
-		 * Stores whether the control points of the NURBS should be drawn with the NURBS (or stay invisible).
-		 * @param visibility The requested visibility of the control points.
-		 */		
-		void setControlPointsVisibility(Visibility visibility);
-
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualNurbs.
-		 */
-		void copy(const VisualNurbs& other);
-		
-		GLUnurbsObj* nurbsObject; /**< The NURBS object. */
-		
-		UInt8 sNumKnots; /**< The number of knots in horizontal direction. */
-		
-		float* sKnots; /**< An array of horizontal knot values. */
-		
-		UInt8 tNumKnots; /**< The number of knots in vertical direction. */
-		
-		float* tKnots; /**< An array of vertical knot values. */
-		
-		UInt16 sStride; /**< The offset between successive control points in u direction. */
-		
-		UInt16 tStride; /**< The offset between successive control points in v direction. */
-		
-		UInt16 sOrder; /**< The order of the NURBS surface in u direction. */
-		
-		UInt16 tOrder; /**< The order of the NURBS surface in v direction. */
-		
-		float* controlPoints; /**< An array of control points. */
-		
-		Visibility controlPointsVisibility; /**< The visibility of the control points. */
-		
-		void setNurbsProperty(UInt32 property, float value); /**< Sets an OpenGL attribute of the NURBS object. */
-		
-		/** 
-		 * A texture of a NURBS.
-		 */
-		class NurbsTexture {
-		public:
-			UInt8 sNumKnots; /**< The number of knots in horizontal direction. */
-			float* sKnots; /**< An array of horizontal knot values. */
-			UInt8 tNumKnots; /**< The number of knots in vertical direction. */
-			float* tKnots; /**< An array of vertical knot values. */
-			UInt16 sStride; /**< The offset between successive control points in u direction. */
-			UInt16 tStride; /**< The offset between successive control points in v direction. */
-			UInt16 sOrder; /**< The order of the texture in u direction. */
-			UInt16 tOrder; /**< The order of the texture in v direction. */
-			UInt32 textureName; /**< The name/number/id of the texture. */
-			bool canUseRectExtension; /**< True if graphics system does support rectangular texture extension.\ False if only textures with power-of-2-dimensions are allowed. */
-			float* texturePoints; /**< An array of control points. */
-			NurbsTexture(); /**< The constructor. */
-			~NurbsTexture(); /**< The destructor. */
-			/**
-			 * Copy constructor of NurbsTexture.
-			 * @param other Reference to another NurbsTexture.
-			 */
-			NurbsTexture(const NurbsTexture& other);
-			/**
-			 * Assignment operator of NurbsTexture.
-			 * @param other Reference to another NurbsTexture.
-			 */
-			NurbsTexture& operator=(const NurbsTexture& other);
-		private:
-			/**
-			 * Copy method for assignment operator and copy constructor.
-			 * @param other Another NurbsTexture.
-			 */
-			void copy(const NurbsTexture& other);
-		};
-		
-		NurbsTexture* nurbsTexture; /**< The texture of the NURBS. */
-		
-	};
-
-}
-
-#endif /* VisualNurbs_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp b/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp
deleted file mode 100644
index 0b844ed..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualPlayerState.cpp
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualPlayerState.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualPlayerState.h"
-#include "VisualTiming.h"
-#include "VisualAudioLab.h"
-#include "VisualDataStore.h"
-#include "VisualConfiguration.h"
-#include "VisualErrorHandling.h"
-
-
-
-using namespace VizKit;
-
-
-VisualPlayerState* VisualPlayerState::theVisualPlayerState = NULL;
-
-
-VisualPlayerState::VisualPlayerState() {
-	audioPlayState = kAudioIsNotPlaying;
-	trackPlayPositionInMS = 0;
-	showMode = kIsNotShowing;
-	debugMode = false;
-	fadeOutEventHasBeenSent = false;
-}
-
-
-VisualPlayerState::~VisualPlayerState() {
-	// null
-}
-
-
-VisualPlayerState* VisualPlayerState::getInstance() {
-    if (theVisualPlayerState == NULL) {
-		theVisualPlayerState = new VisualPlayerState;
-    }
-	if (theVisualPlayerState == NULL) {
-		writeLog("ERR: init theVisualPlayerState failed");
-	}
-	return theVisualPlayerState;
-}
-
-
-void VisualPlayerState::dispose() {
-	if (theVisualPlayerState != NULL) {
-		delete theVisualPlayerState;
-		theVisualPlayerState = NULL;
-	}
-}
-
-
-bool VisualPlayerState::isAudioPlaying() const {
-	if (audioPlayState == kAudioIsPlaying || audioPlayState == kAudioPlayStarted || audioPlayState == kAudioPlayResumed) {
-		return true;
-	} else {
-		return false;
-	}
-}
-
-
-AudioPlayState VisualPlayerState::getAudioPlayState() const {
-	return this->audioPlayState;
-}
-
-
-PlayerShowMode VisualPlayerState::getPlayerShowMode() const {
-	return this->showMode;
-}
-
-
-UInt32 VisualPlayerState::getElapsedAudioTime() const {
-	return this->trackPlayPositionInMS;
-}
-
-
-bool VisualPlayerState::remainingAudioTimeIsKnown() const {
-	VisualAudioLab* theVisualAudioLab = VisualAudioLab::getInstance();
-	return theVisualAudioLab->remainingTimeOfCurrentTrackIsKnown();
-}
-
-
-UInt32 VisualPlayerState::getRemainingAudioTime() const {
-	VisualAudioLab* theVisualAudioLab = VisualAudioLab::getInstance();
-	return theVisualAudioLab->getRemainingTimeOfCurrentTrack(this->isAudioPlaying());
-}
-
-
-bool VisualPlayerState::fadeOutEventShouldBeSent() {
-	bool retVal = false;
-	if (this->fadeOutEventHasBeenSent == false) {
-		if (this->remainingAudioTimeIsKnown() == true) {
-			if (this->getRemainingAudioTime() < (UInt32)VisualDataStore::getPreferenceValueInt(VisualConfiguration::kFadeOutTimeBeforeEndOfTrackInMS)) {
-				retVal = true;
-				this->fadeOutEventHasBeenSent = true;
-			}
-		}
-	}
-	return retVal;
-}
-
-
-UInt32 VisualPlayerState::getElapsedAudioPlayStartTime() const {
-	return VisualTiming::getElapsedMilliSecsSinceReset("trackPlayStart");
-}
-
-
-UInt32 VisualPlayerState::getElapsedAudioPlayStopTime() const {
-	return VisualTiming::getElapsedMilliSecsSinceReset("trackPlayStop");
-}
-
-
-bool VisualPlayerState::isInDebugMode(void) const {
-	return this->debugMode;
-}
-
-
-void VisualPlayerState::setAudioPlayState(AudioPlayState playState) {
-	this->audioPlayState = playState;
-	if (playState == kAudioPlayStarted) {
-		this->fadeOutEventHasBeenSent = false;
-	}
-}
-
-
-void VisualPlayerState::setPlayerShowMode(const PlayerShowMode aShowMode) {
-	this->showMode = aShowMode;
-}
-
-
-void VisualPlayerState::setDebugMode(bool aDebugMode) {
-	this->debugMode = aDebugMode;
-}
-
-
-void VisualPlayerState::setTrackPlayPositionInMS(const UInt32 positionInMS) {
-	this->trackPlayPositionInMS = positionInMS;
-}
-
-
-void VisualPlayerState::convertAudioPlayStateToString(const AudioPlayState anAudioPlayState, char* outString) {
-	char* messageString;
-	switch (anAudioPlayState) {
-		case kAudioIsNotPlaying:
-			messageString = "kAudioIsNotPlaying";
-			break;
-		case kAudioPlayStarted:
-			messageString = "kAudioPlayStarted";
-			break;
-		case kAudioIsPlaying:
-			messageString = "kAudioIsPlaying";
-			break;
-		case kAudioPlayResumed:
-			messageString = "kAudioPlayResumed";
-			break;
-		case kAudioPlayPaused:
-			messageString = "kAudioPlayPaused";
-			break;
-		default:
-			messageString = "unknownAudioPlayState";
-	}
-	strcpy(outString, messageString);
-}
-
-
-void VisualPlayerState::convertPlayerShowModeToString(const PlayerShowMode aShowMode, char* outString) {
-	char* messageString;
-	switch (aShowMode) {
-		case kIsNotShowing:
-			messageString = "kIsNotShowing";
-			break;
-		case kErrorState:
-			messageString = "kErrorState";
-			break;
-		case kIsShowing:
-		//case kIsShowingInWindow:
-			messageString = "kIsShowing(InWindow)";
-			break;
-		case kIsShowingInFullScreen:
-			messageString = "kIsShowingInFullScreen";
-			break;
-		default:
-			messageString = "unknownShowMode";
-	}
-	strcpy(outString, messageString);
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualPlayerState.h b/src/projectM-iTunes-VizKit/source/VisualPlayerState.h
deleted file mode 100644
index c651eb0..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualPlayerState.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualPlayerState.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualPlayerState_h
-#define VisualPlayerState_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Constants for different modes of audio play.
-	 * @remarks The audioPlayState can be bitwise AND'ed with kAudioIsPlaying to evaluate the simple fact if audio is playing or not.
-	 */
-	typedef enum {
-		kAudioIsNotPlaying = 0x0, /**< 00000000 - No audio is playing. */
-		kAudioPlayStarted = 0x3, /**< 00000011 - Audio started playing. */
-		kAudioIsPlaying = 0x1, /**< 00000001 - Audio is playing. */
-		kAudioPlayResumed = 0x5, /**< 00000101 - Audio play resumed after pause. */
-		kAudioPlayPaused = 0x2 /**< 00000010 - Audio play is pausing. */
-	} AudioPlayState;
-
-	/**
-	 * Different modes of showing.\ Used by var showMode of VisualPlayerState.
-	 * @remarks The showMode can be bitwise AND'ed with kIsShowing to evaluate the simple fact if the visualizer is showing or not.
-	 */
-	typedef enum {
-		kIsNotShowing = 0x0, /**< 00000000 - Default; the visualizer is not showing. */
-		kErrorState = 0x80, /**< 10000000 - The visualizer is in error state.\ Therefore it is showing an error message or nothing. */
-		kIsShowing = 0x1, /**< 00000001 - The visualizer is showing. */
-		kIsShowingInWindow = 0x1, /**< 00000001 - The visualizer is showing.\ And it is showing in a window. */
-		kIsShowingInFullScreen = 0x3 /**< 00000011 - The visualizer is showing.\ And it is showing fullscreen. */
-	} PlayerShowMode;
-
-	/**
-	 * Provides access to the state of the audio player host.
-	 */
-	class VisualPlayerState {
-
-	public:
-
-		/**
-		 * Constructs a VisualPlayerState.\ The VisualPlayerState acts as a singleton.\ Returns a pointer to the initialised VisualPlayerState.
-		 * @return A pointer to the singleton instance.
-		 */
-		static VisualPlayerState* getInstance(void);
-		
-		/**
-		 * Disposes the VisualPlayerState.
-		 */	
-		static void dispose(void);
-
-		/**
-		 * Answers the question whether currently audio is playing.
-		 * @return True if audio is playing, false if playing of audio is stopped.
-		 */
-		bool isAudioPlaying(void) const;
-
-		/**
-		 * Returns the play state of the visual player.
-		 * @return A value of audioPlayState enum.
-		 */
-		AudioPlayState getAudioPlayState(void) const;
-
-		/**
-		 * Returns the current mode of the show state.
-		 * @return The current mode of the show state.
-		 */
-		PlayerShowMode getPlayerShowMode(void) const;
-		
-		/**
-		 * Returns the number of milliseconds of the current audio track that have been passed.\ 0 if no time value is available.\ The player position is returned.
-		 * @return The number of milliseconds of the current audio track that have been passed.
-		 */
-		UInt32 getElapsedAudioTime(void) const;
-
-		/**
-		 * Answers the question whether the remaining time of the current audio track is known.
-		 * Streamed audio has no info about remaining time of current track.
-		 * @return True if the remaining time of the current audio track is known, false if not.
-		 */
-		bool remainingAudioTimeIsKnown(void) const;
-
-		/**
-		 * Returns the number of milliseconds of the current audio track that are waiting to be played.\ 0 if no time value is available.
-		 * @return The number of milliseconds of the current audio track that are waiting to be played.
-		 */
-		UInt32 getRemainingAudioTime(void) const;
-
-		/**
-		 * Returns true if the fadeOut event should be sent because the remaining time is less than kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt.
-		 * @return True if the fadeOut event should be sent because the remaining time is less than kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt.
-		 */
-		bool fadeOutEventShouldBeSent(void);
-
-		/**
-		 * Returns the actual number of milliseconds that have passed since the last audio play start event.
-		 * AudioPlayStartTime and audioPlayStopTime are mutual exclusive.
-		 * If audioPlayStartTime > 0 then audio is playing and audioPlayStopTime == 0.
-		 * If audioPlayStopTime > 0 then audio is not playing and audioPlayStartTime == 0.
-		 * @return The actual number of milliseconds that have passed since the last audio play start event.
-		 */
-		UInt32 getElapsedAudioPlayStartTime(void) const;
-
-		/**
-		 * Returns the actual number of milliseconds that have passed since the last audio play stop event.
-		 * AudioPlayStartTime and audioPlayStopTime are mutual exclusive.
-		 * If audioPlayStartTime > 0 then audio is playing and audioPlayStopTime == 0.
-		 * If audioPlayStopTime > 0 then audio is not playing and audioPlayStartTime == 0.
-		 * @return The actual number of milliseconds that have passed since the last audio play stop event.
-		 */
-		UInt32 getElapsedAudioPlayStopTime(void) const;
-
-		/**
-		 * Returns true if player is in debug mode, false otherwise.
-		 * Useful for temporarily and dynamically activated debug mode that can be checked against in different places.
-		 * @return True if player is in debug mode, false otherwise.
-		 * @remarks The debug mode does not change anything fundamentally.\ It is only a flag that can be set and asked for.
-		 */
-		bool isInDebugMode(void) const;
-
-		/**
-		 * Stores the state of audio play.
-		 * @param playState A value of audioPlayState enum.
-		 */
-		void setAudioPlayState(const AudioPlayState playState);
-		
-		/**
-		 * Stores the current mode of the show state.
-		 * @param aShowMode The current mode of the show state.
-		 */
-		void setPlayerShowMode(const PlayerShowMode aShowMode);
-
-		/**
-		 * Sets the debug mode.
-		 * @param aDebugMode The debug mode.
-		 */
-		void setDebugMode(bool aDebugMode);
-
-		/**
-		 * The the play position of the current track is set.
-		 * @param positionInMS The play position in milliseconds.
-		 */	
-		void setTrackPlayPositionInMS(const UInt32 positionInMS);
-
-		/**
-		 * Static helper function that converts an audioPlayState to the string.\ Possibly useful for debugging or tracing purposes.
-		 * @param anAudioPlayState An audioPlayState.
-		 * @param outString The character string value of the AudioPlayState enum value.
-		 */
-		static void convertAudioPlayStateToString(const AudioPlayState anAudioPlayState, char* outString);
-
-		/**
-		 * Static helper function that converts an showMode to the string.\ Possibly useful for debugging or tracing purposes.
-		 * @param aShowMode A showMode.
-		 * @param outString The character string value of the ShowMode enum value.
-		 */
-		static void convertPlayerShowModeToString(const PlayerShowMode aShowMode, char* outString);
-
-	private:
-
-		/** The constructor.\ VisualPlayerState is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualPlayerState();
-		
-		/** The destructor.\ VisualPlayerState is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualPlayerState();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualPlayerState.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualPlayerState(const VisualPlayerState& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualPlayerState& operator=(const VisualPlayerState& other);
-	
-		/** VisualPlayerState is a singleton class. Pointer to private instance is handled internally. */
-		static VisualPlayerState* theVisualPlayerState;
-
-		/** Uses enum audioPlayState to store the state of audio play. 
-		 * See enum audioPlayState for possible different states of audio play. 
-		 */
-		AudioPlayState audioPlayState;
-		
-		/** Uses enum showMode to store the show mode.
-		 * See enum showMode for possible different show modes. 
-		 */
-		PlayerShowMode showMode;
-		
-		/** Stores whether the fadeOut event has been sent once during the play of the current audio track. */
-		bool fadeOutEventHasBeenSent;
-
-		/** The current play position of the current track (in milliseconds). */
-		UInt32 trackPlayPositionInMS;
-		
-		/** True if player is in debug mode, false otherwise. */
-		bool debugMode;
-
-	};
-
-}
-
-#endif /* VisualPlayerState_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualSignature.cpp b/src/projectM-iTunes-VizKit/source/VisualSignature.cpp
deleted file mode 100644
index d4d36ff..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualSignature.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualSignature.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualSignature.h"
-
-
-
-using namespace VizKit;
-
-
-void* VisualSignature::appCookie = NULL;
-ITAppProcPtr VisualSignature::appProc = NULL;
-
-
-
-void VisualSignature::setAppCookie(void* anAppCookie) {
-	VisualSignature::appCookie = anAppCookie;
-}
-
-
-void* VisualSignature::getAppCookie() {
-	return VisualSignature::appCookie;
-}
-
-
-void VisualSignature::setAppProc(ITAppProcPtr anAppProc) {
-	VisualSignature::appProc = anAppProc;
-}
-
-
-ITAppProcPtr VisualSignature::getAppProc() {
-	return VisualSignature::appProc;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualSignature.h b/src/projectM-iTunes-VizKit/source/VisualSignature.h
deleted file mode 100644
index 9c748d1..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualSignature.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualSignature.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualSignature_h
-#define VisualSignature_h
-
-#include "iTunesVisualAPI.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Collection of static methods for specific data to establish communication with iTunes host application.
-	 */
-	class VisualSignature {
-	
-	public:
-
-		/**
-		 * Sets the appCookie.
-		 * @param anAppCookie Pointer to an appCookie.
-		 */	
-		static void setAppCookie(void* anAppCookie);
-
-		/**
-		 * Gets the appCookie.
-		 * @return Pointer to appCookie.
-		 */	
-		static void* getAppCookie(void);
-
-		/**
-		 * Sets the appProc.
-		 * @param anAppProc Pointer to an anAppProc.
-		 */	
-		static void setAppProc(ITAppProcPtr anAppProc);
-
-		/**
-		 * Gets the appProc.
-		 * @return Pointer to an appProc.
-		 */	
-		static ITAppProcPtr getAppProc(void);
-
-	private:
-	
-		/** The constructor.\ VisualSignature is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualSignature();
-		
-		/** The destructor.\ VisualSignature is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualSignature();
-
-		/** Pointer to AppCookie. */
-		static void* appCookie;
-
-		/** Pointer to AppProc. */
-		static ITAppProcPtr appProc;
-		
-	};
-	
-}
-
-#endif /* VisualSignature_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp b/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp
deleted file mode 100644
index 1347359..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStageBox.cpp
+++ /dev/null
@@ -1,788 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStageBox.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualStageBox.h"
-#include "VisualGraphics.h"
-
-
-
-using namespace VizKit;
-
-
-VisualStageBox::VisualStageBox() {
-
-	topCoord = 0.0f;
-	leftCoord = 0.0f;
-	bottomCoord = 0.0f;
-	rightCoord = 0.0f;
-	
-	frontPosition = 0.0f;
-	backPosition = 0.0f;
-	
-	coordWidth = 0.0;
-	coordHeight = 0.0;
-	coordDepth = 0.0;
-	
-	contentPixelWidth = 0;
-	contentPixelHeight = 0;
-
-	scalingBehaviour = kPreserveAspectRatio;
-	scaleFactor = 1.0;
-	
-	hasLayout = false;
-	
-}
-
-
-VisualStageBox::~VisualStageBox() {
-	// NULL
-}
-
-
-VisualStageBox::VisualStageBox(const VisualStageBox& other) {
-	copy(other);
-}
-
-
-VisualStageBox& VisualStageBox::operator=(const VisualStageBox& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualStageBox::copy(const VisualStageBox& other) {
-	this->topCoord = other.topCoord;
-	this->leftCoord = other.leftCoord;
-	this->bottomCoord = other.bottomCoord;
-	this->rightCoord = other.rightCoord;
-	
-	this->coordWidth = other.coordWidth;
-	this->coordHeight = other.coordHeight;
-	this->coordDepth = other.coordDepth;
-	
-	this->contentPixelWidth = other.contentPixelWidth;
-	this->contentPixelHeight = other.contentPixelHeight;
-
-	this->stagePosition = other.stagePosition;
-	this->scalingBehaviour = other.scalingBehaviour;
-	this->scaleFactor = other.scaleFactor;
-	
-	this->hasLayout = other.hasLayout;
-}
-
-
-void VisualStageBox::setContentPixelWidth(UInt32 pixelWidth) {
-	if (pixelWidth != this->contentPixelWidth) {
-		this->contentPixelWidth = pixelWidth;
-		this->hasLayout = false;
-	}
-	if (this->hasLayout == false) {
-		this->calcCoords();
-	}
-}
-
-
-void VisualStageBox::setContentPixelHeight(UInt32 pixelHeight) {
-	if (pixelHeight != this->contentPixelHeight) {
-		this->contentPixelHeight = pixelHeight;
-		this->hasLayout = false;
-	}
-	if (this->hasLayout == false) {
-		this->calcCoords();
-	}
-}
-
-
-void VisualStageBox::setFrontPosition(double aFrontPosition) {
-	this->frontPosition = aFrontPosition;
-}
-
-
-double VisualStageBox::getFrontPosition() {
-	return this->frontPosition;
-}
-
-
-void VisualStageBox::setBackPosition(double aBackPosition)  {
-	this->backPosition = aBackPosition;
-}
-
-
-double VisualStageBox::getBackPosition(void) {
-	return this->backPosition;
-}
-
-
-void VisualStageBox::setVisualStagePosition(const VisualStagePosition& aPosition) {
-	this->stagePosition = aPosition;
-	this->calcCoords();
-}
-
-
-void VisualStageBox::setScalingBehaviour(ScalingBehaviour aScalingBehaviour) {
-	if (aScalingBehaviour != this->scalingBehaviour) {
-		this->scalingBehaviour = aScalingBehaviour;
-		this->hasLayout = false;
-	}
-	if (this->hasLayout == false) {
-		this->calcCoords();
-	}
-}
-
-
-void VisualStageBox::setScaleFactor(double aScaleFactor) {
-	if (aScaleFactor != this->scaleFactor) {
-		this->scaleFactor = aScaleFactor;
-		this->hasLayout = false;
-	}
-	if (this->hasLayout == false) {
-		this->calcCoords();
-	}
-}
-
-
-void VisualStageBox::update() {
-	this->calcCoords();
-}
-
-
-void VisualStageBox::calcCoords() {
-
-	double top = 0.0;
-	double left = 0.0;
-	double bottom = 0.0;
-	double right = 0.0;
-	
-	double marginLeftCoord = 0.0;
-	double marginRightCoord = 0.0;
-	double marginTopCoord = 0.0;
-	double marginBottomCoord = 0.0;
-	double minMarginLeftCoord = 0.0;
-	double minMarginRightCoord = 0.0;
-	double minMarginTopCoord = 0.0;
-	double minMarginBottomCoord = 0.0;
-	
-	double finalMarginLeftCoord = 0.0;
-	double finalMarginRightCoord = 0.0;
-	double finalMarginTopCoord = 0.0;
-	double finalMarginBottomCoord = 0.0;
-	
-	double prevCoordVal = 0.0;
-
-	VisualGraphics* theVisualGraphics;
-	theVisualGraphics = VisualGraphics::getInstance();
-
-	this->coordWidth = theVisualGraphics->getCanvasCoordWidth() * ((double)this->contentPixelWidth / theVisualGraphics->getCanvasPixelWidth());
-	this->coordHeight = theVisualGraphics->getCanvasCoordHeight() * ((double)this->contentPixelHeight / theVisualGraphics->getCanvasPixelHeight());
-
-	// calc margin values
-	if (this->stagePosition.marginBottom != 0.0) {
-		if (this->stagePosition.marginBottomUnit == kPercent) {
-			marginBottomCoord = theVisualGraphics->getCanvasCoordHeight() * (this->stagePosition.marginBottom / 100.0);
-		} else if (this->stagePosition.marginBottomUnit == kPixel) {
-			marginBottomCoord = theVisualGraphics->yPixelToCoord((UInt16)this->stagePosition.marginBottom);
-		}
-	}
-
-	if (this->stagePosition.marginTop != 0.0) {
-		if (this->stagePosition.marginBottomUnit == kPercent) {
-			marginTopCoord = theVisualGraphics->getCanvasCoordHeight() * (this->stagePosition.marginBottom / 100.0);
-		} else if (this->stagePosition.marginTopUnit == kPixel) {
-			marginTopCoord = theVisualGraphics->yPixelToCoord((UInt16)this->stagePosition.marginTop);
-		}
-	}
-
-	if (this->stagePosition.marginLeft != 0.0) {
-		if (this->stagePosition.marginLeftUnit == kPercent) {
-			marginLeftCoord = theVisualGraphics->getCanvasCoordWidth() * (this->stagePosition.marginLeft / 100.0);
-		} else if (this->stagePosition.marginLeftUnit == kPixel) {
-			marginLeftCoord = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.marginLeft);
-		}
-	}
-
-	if (this->stagePosition.marginRight != 0.0) {
-		if (this->stagePosition.marginRightUnit == kPercent) {
-			marginRightCoord = theVisualGraphics->getCanvasCoordWidth() * (this->stagePosition.marginRight / 100.0);
-		} else if (this->stagePosition.marginRightUnit == kPixel) {
-			marginRightCoord = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.marginRight);
-		}
-	}
-
-	if (this->stagePosition.minMarginBottom != 0.0) {
-		if (this->stagePosition.minMarginBottomUnit == kPercent) {
-			minMarginBottomCoord = theVisualGraphics->getCanvasCoordHeight() * (this->stagePosition.minMarginBottom / 100.0);
-		} else if (this->stagePosition.minMarginBottomUnit == kPixel) {
-			minMarginBottomCoord = theVisualGraphics->yPixelToCoord((UInt16)this->stagePosition.minMarginBottom);
-		}
-	}
-	
-	if (this->stagePosition.minMarginTop != 0.0) {
-		if (this->stagePosition.minMarginTopUnit == kPercent) {
-			minMarginTopCoord = theVisualGraphics->getCanvasCoordHeight() * (this->stagePosition.minMarginTop / 100.0);
-		} else if (this->stagePosition.minMarginTopUnit == kPixel) {
-			minMarginTopCoord = theVisualGraphics->yPixelToCoord((UInt16)this->stagePosition.minMarginTop);
-		}
-	}
-
-	if (this->stagePosition.minMarginLeft != 0.0) {
-		if (this->stagePosition.minMarginLeftUnit == kPercent) {
-			minMarginLeftCoord = theVisualGraphics->getCanvasCoordWidth() * (this->stagePosition.minMarginLeft / 100.0);
-		} else if (this->stagePosition.minMarginLeftUnit == kPixel) {
-			minMarginLeftCoord = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.minMarginLeft);
-		}
-	}
-
-	if (this->stagePosition.minMarginRight != 0.0) {
-		if (this->stagePosition.minMarginRightUnit == kPercent) {
-			minMarginRightCoord = theVisualGraphics->getCanvasCoordWidth() * (this->stagePosition.minMarginRight / 100.0);
-		} else if (this->stagePosition.minMarginRightUnit == kPixel) {
-			minMarginRightCoord = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.minMarginRight);
-		}
-	}
-	
-	// calc finalMarginValues
-	if (marginTopCoord > 0.0) {
-		finalMarginTopCoord = marginTopCoord;
-	}
-	if (marginLeftCoord > 0.0) {
-		finalMarginLeftCoord = marginLeftCoord;
-	}
-	if (marginBottomCoord > 0.0) {
-		finalMarginBottomCoord = marginBottomCoord;
-	}
-	if (marginRightCoord > 0.0) {
-		finalMarginRightCoord = marginRightCoord;
-	}
-	if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - minMarginRightCoord - minMarginLeftCoord)) {
-		prevCoordVal = coordWidth;
-		coordWidth = theVisualGraphics->getCanvasCoordWidth() - minMarginRightCoord - minMarginLeftCoord;
-		if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-			coordHeight = coordHeight * (coordWidth / prevCoordVal);
-		}
-		finalMarginLeftCoord = minMarginLeftCoord;
-		finalMarginRightCoord = minMarginRightCoord;
-	}
-	if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - minMarginTopCoord - minMarginBottomCoord)) {
-		prevCoordVal = coordHeight;
-		coordHeight = theVisualGraphics->getCanvasCoordHeight() - minMarginTopCoord - minMarginBottomCoord;
-		if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-			coordWidth = coordWidth * (coordHeight / prevCoordVal);
-		}
-		finalMarginTopCoord = minMarginTopCoord;
-		finalMarginBottomCoord = minMarginBottomCoord;
-	}
-
-	// calc coordWidth and coordHeight
-	if ((this->scalingBehaviour & kScalingAllowed) == kScalingAllowed) {
-
-		// < minWidth
-		if (this->stagePosition.minWidth > 0.0) {
-			prevCoordVal = coordWidth;
-			if ((this->stagePosition.minWidthUnit == kPercent) && ((coordWidth / theVisualGraphics->getCanvasCoordWidth() * 100.0) < this->stagePosition.minWidth)) {
-				coordWidth = this->stagePosition.minWidth * theVisualGraphics->getCanvasCoordWidth() / 100.0;
-				if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-					coordWidth -= (minMarginLeftCoord + minMarginRightCoord);
-				} else {
-					coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-				}
-			} else if ((this->stagePosition.minWidthUnit == kPixel) && (static_cast<double>(theVisualGraphics->xCoordToPixel(coordWidth)) < this->stagePosition.minWidth)) {
-				coordWidth = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.minWidth);
-				if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-					coordWidth -= (minMarginLeftCoord + minMarginRightCoord);
-				} else {
-					coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-				}
-			}
-		}
-
-		// < minHeight
-		if (this->stagePosition.minHeight > 0.0) {
-			prevCoordVal = coordHeight;
-			if ((this->stagePosition.minHeightUnit == kPercent) && ((coordHeight / theVisualGraphics->getCanvasCoordHeight() * 100.0) < this->stagePosition.minHeight)) {
-				coordHeight = this->stagePosition.minHeight * theVisualGraphics->getCanvasCoordHeight() / 100.0;
-				if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord))) {
-					coordHeight -= (minMarginTopCoord + minMarginBottomCoord);
-				} else {
-					coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			} else if ((this->stagePosition.minHeightUnit == kPixel) && (static_cast<double>(theVisualGraphics->yCoordToPixel(coordHeight)) < this->stagePosition.minHeight)) {
-				coordHeight = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.minHeight);
-				if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord))) {
-					coordHeight -= (minMarginTopCoord + minMarginBottomCoord);
-				} else {
-					coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			}
-		}
-
-		// > maxWidth
-		if (this->stagePosition.maxWidth > 0.0) {
-			prevCoordVal = coordWidth;
-			if ((this->stagePosition.maxWidthUnit == kPercent) && ((coordWidth / theVisualGraphics->getCanvasCoordWidth() * 100.0) > this->stagePosition.maxWidth)) {
-				coordWidth = this->stagePosition.maxWidth * theVisualGraphics->getCanvasCoordWidth() / 100.0;
-				if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-					coordWidth -= (minMarginLeftCoord + minMarginRightCoord);
-				} else {
-					coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-				}
-			} else if ((this->stagePosition.maxWidthUnit == kPixel) && (static_cast<double>(theVisualGraphics->xCoordToPixel(coordWidth)) > this->stagePosition.maxWidth)) {
-				coordWidth = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.maxWidth);
-				if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-					coordWidth -= (minMarginLeftCoord + minMarginRightCoord);
-				} else {
-					coordWidth -= (finalMarginLeftCoord + finalMarginRightCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-				}
-			}
-		}
-
-		// > maxHeight
-		if (this->stagePosition.maxHeight > 0.0) {
-			prevCoordVal = coordHeight;
-			if ((this->stagePosition.maxHeightUnit == kPercent) && ((coordHeight / theVisualGraphics->getCanvasCoordHeight() * 100.0) > this->stagePosition.maxHeight)) {
-				coordHeight = this->stagePosition.maxHeight * theVisualGraphics->getCanvasCoordHeight() / 100.0;
-				if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord))) {
-					coordHeight -= (minMarginTopCoord + minMarginBottomCoord);
-				} else {
-					coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			} else if ((this->stagePosition.maxHeightUnit == kPixel) && (static_cast<double>(theVisualGraphics->yCoordToPixel(coordHeight)) > this->stagePosition.maxHeight)) {
-				coordHeight = theVisualGraphics->xPixelToCoord((UInt16)this->stagePosition.maxHeight);
-				if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord))) {
-					coordHeight -= (minMarginTopCoord + minMarginBottomCoord);
-				} else {
-					coordHeight -= (finalMarginTopCoord + finalMarginBottomCoord);
-				}
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					//coordWidth = coordWidth * (coordHeight / prevCoordVal * (theVisualGraphics->getCanvasCoordWidth() / theVisualGraphics->getCanvasCoordHeight()));
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			}
-		}
-		
-		if (!((this->scalingBehaviour & kClippingAllowed) == kClippingAllowed)) {
-			if (coordWidth > (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-				prevCoordVal = coordWidth;
-				coordWidth = theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord);
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-				}
-			}
-			if (coordHeight > (theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord))) {
-				prevCoordVal = coordHeight;
-				coordHeight = theVisualGraphics->getCanvasCoordHeight() - (minMarginTopCoord + minMarginBottomCoord);
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			}
-		}
-		
-/*
-		if (!((this->scalingBehaviour & kClippingAllowed) == kClippingAllowed)) {
-			double aspectRatioCanvas = theVisualGraphics->getCanvasCoordWidth() / theVisualGraphics->getCanvasCoordHeight();
-			double aspectRatioCover = coverArtTextureContainer->getImageWidth() / coverArtTextureContainer->getImageHeight();
-			coordWidthUnscaled = (double)theVisualGraphics->getCanvasCoordWidth() * ((double)coverArtTextureContainer->getImageWidth() / (double)theVisualGraphics->getCanvasPixelWidth());
-			coordHeightUnscaled = (double)theVisualGraphics->getCanvasCoordHeight() * ((double)coverArtTextureContainer->getImageHeight() / (double)theVisualGraphics->getCanvasPixelHeight());
-			if (aspectRatioCanvas > aspectRatioCover) {
-				prevCoordVal = coordWidth;
-				coordWidth = (double)theVisualGraphics->getCanvasCoordWidth();
-				coordHeight = coordHeightUnscaled * (coordWidth / coordWidthUnscaled);
-			} else {
-				coordHeight = (double)theVisualGraphics->getCanvasCoordHeight();
-				coordWidth = coordWidthUnscaled * (coordHeight / coordHeightUnscaled);
-			}
-		}
-*/
-	}
-	
-	//printf("coordHeight: %f, coordWidth: %f\n", coordHeight, coordWidth);
-
-	// recalc finalMarginCoords
-	if (this->stagePosition.verticalAlignment == kTopAligned) {
-		if (minMarginTopCoord > marginTopCoord) {
-			finalMarginTopCoord = minMarginTopCoord;
-		} else {
-			finalMarginTopCoord = marginTopCoord;
-		}
-		if (minMarginBottomCoord > marginBottomCoord) {
-			finalMarginBottomCoord = minMarginBottomCoord;
-		} else {
-			finalMarginBottomCoord = marginBottomCoord;
-		}
-		if (coordHeight < (theVisualGraphics->getCanvasCoordHeight() - (finalMarginTopCoord + finalMarginBottomCoord))) {
-			finalMarginBottomCoord = 0.0;
-		}
-	} else if (this->stagePosition.verticalAlignment == kMiddleAligned) {
-		finalMarginTopCoord = (theVisualGraphics->getCanvasCoordHeight() / 2.0) - (coordHeight / 2.0) - marginTopCoord;
-		finalMarginBottomCoord = (theVisualGraphics->getCanvasCoordHeight() / 2.0) - (coordHeight / 2.0) - marginBottomCoord;
-		if (finalMarginTopCoord < minMarginTopCoord) {
-			finalMarginTopCoord = minMarginTopCoord;
-		}
-		if (finalMarginBottomCoord < minMarginBottomCoord) {
-			finalMarginBottomCoord = minMarginBottomCoord;
-		}
-		if ((coordHeight / 2.0) >= (theVisualGraphics->getCanvasCoordHeight() / 2.0) - minMarginBottomCoord) {
-			finalMarginBottomCoord = minMarginBottomCoord;
-			finalMarginTopCoord = theVisualGraphics->getCanvasCoordHeight() - (finalMarginBottomCoord + coordHeight);
-			if ((finalMarginTopCoord + coordHeight + finalMarginBottomCoord) > theVisualGraphics->getCanvasCoordHeight()) {
-				finalMarginTopCoord = minMarginTopCoord;
-				prevCoordVal = coordHeight;
-				coordHeight = theVisualGraphics->getCanvasCoordHeight() - finalMarginTopCoord - finalMarginBottomCoord;
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-				}
-			}
-		}
-	} else if (this->stagePosition.verticalAlignment == kBottomAligned) {
-		if (minMarginBottomCoord > marginBottomCoord) {
-			finalMarginBottomCoord = minMarginBottomCoord;
-		} else {
-			finalMarginBottomCoord = marginBottomCoord;
-		}
-		if (minMarginTopCoord > marginTopCoord) {
-			finalMarginTopCoord = minMarginTopCoord;
-		} else {
-			finalMarginTopCoord = marginTopCoord;
-		}
-		if (coordHeight < (theVisualGraphics->getCanvasCoordHeight() - (finalMarginTopCoord + finalMarginBottomCoord))) {
-			finalMarginTopCoord = 0.0;
-		}
-	}
-
-	if (this->stagePosition.horizontalAlignment == kLeftAligned) {
-		if (minMarginLeftCoord > marginLeftCoord) {
-			finalMarginLeftCoord = minMarginLeftCoord;
-		} else {
-			finalMarginLeftCoord = marginLeftCoord;
-		}
-		if (minMarginRightCoord > marginRightCoord) {
-			finalMarginRightCoord = minMarginRightCoord;
-		} else {
-			finalMarginRightCoord = marginRightCoord;
-		}
-		if (coordWidth < (theVisualGraphics->getCanvasCoordWidth() - (finalMarginLeftCoord + finalMarginRightCoord))) {
-			finalMarginRightCoord = 0.0;
-		}
-	} else if (this->stagePosition.horizontalAlignment == kCenterAligned) {
-/*
-		if (coordWidth >= (theVisualGraphics->getCanvasCoordWidth() - (minMarginLeftCoord + minMarginRightCoord))) {
-			finalMarginLeftCoord = minMarginLeftCoord;
-			finalMarginRightCoord = minMarginRightCoord;
-		} else {
-			finalMarginLeftCoord = (theVisualGraphics->getCanvasCoordWidth() / 2.0) - (coordWidth / 2.0) - marginLeftCoord;
-			finalMarginRightCoord = (theVisualGraphics->getCanvasCoordWidth() / 2.0) - (coordWidth / 2.0) - marginRightCoord;
-		}
-*/
-		finalMarginLeftCoord = (theVisualGraphics->getCanvasCoordWidth() / 2.0) - (coordWidth / 2.0) - marginLeftCoord;
-		finalMarginRightCoord = (theVisualGraphics->getCanvasCoordWidth() / 2.0) - (coordWidth / 2.0) - marginRightCoord;
-		if (finalMarginLeftCoord < minMarginLeftCoord) {
-			finalMarginLeftCoord = minMarginLeftCoord;
-		}
-		if (finalMarginRightCoord < minMarginRightCoord) {
-			finalMarginRightCoord = minMarginRightCoord;
-		}
-		if ((coordWidth / 2.0) >= (theVisualGraphics->getCanvasCoordWidth() / 2.0) - minMarginRightCoord) {
-			finalMarginRightCoord = minMarginRightCoord;
-			finalMarginLeftCoord = theVisualGraphics->getCanvasCoordWidth() - (finalMarginRightCoord - coordWidth);
-			if ((finalMarginLeftCoord + coordWidth + finalMarginRightCoord) > theVisualGraphics->getCanvasCoordWidth()) {
-				finalMarginLeftCoord = minMarginLeftCoord;
-				prevCoordVal = coordWidth;
-				coordWidth = theVisualGraphics->getCanvasCoordWidth() - finalMarginLeftCoord - finalMarginRightCoord;
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordWidth / prevCoordVal);
-				}
-			}
-		}
-	} else if (this->stagePosition.horizontalAlignment == kRightAligned) {
-		if (minMarginRightCoord > marginRightCoord) {
-			finalMarginRightCoord = minMarginRightCoord;
-		} else {
-			finalMarginRightCoord = marginRightCoord;
-		}
-		if (minMarginLeftCoord > marginLeftCoord) {
-			finalMarginLeftCoord = minMarginLeftCoord;
-		} else {
-			finalMarginLeftCoord = marginLeftCoord;
-		}
-		if (coordWidth < (theVisualGraphics->getCanvasCoordHeight() - (finalMarginLeftCoord + finalMarginRightCoord))) {
-			finalMarginLeftCoord = 0.0;
-		}
-	}
-
-	// position
-	if (this->stagePosition.horizontalAlignment == kLeftAligned) {
-		left = theVisualGraphics->getMaxLeftCoordOfCanvas() + finalMarginLeftCoord;
-		right = left + coordWidth;
-	} else if (this->stagePosition.horizontalAlignment == kCenterAligned) {
-		left = theVisualGraphics->getMaxLeftCoordOfCanvas() + finalMarginLeftCoord;
-		right = theVisualGraphics->getMaxRightCoordOfCanvas() - finalMarginRightCoord;
-	} else if (this->stagePosition.horizontalAlignment == kRightAligned) {
-		right = theVisualGraphics->getMaxRightCoordOfCanvas() - finalMarginRightCoord;
-		left = right - coordWidth;
-	}
-	
-	if (this->stagePosition.verticalAlignment == kTopAligned) {
-		top = theVisualGraphics->getMaxTopCoordOfCanvas() - finalMarginTopCoord;
-		bottom = top - coordHeight;
-	} else if (this->stagePosition.verticalAlignment == kMiddleAligned) {
-		top = theVisualGraphics->getMaxTopCoordOfCanvas() - finalMarginTopCoord;
-		bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + finalMarginBottomCoord;
-	} else if (this->stagePosition.verticalAlignment == kBottomAligned) {
-		bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + finalMarginBottomCoord;
-		top = bottom + coordHeight;
-	}
-	
-/*
-	if (this->stagePosition.verticalAlignment == kTop) {
-		bottom = theVisualGraphics->getMaxTopCoordOfCanvas() - coordHeight - finalMarginTopCoord;
-	} else if (this->stagePosition.verticalAlignment == kMiddle) {
-		bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + finalMarginBottomCoord + (((theVisualGraphics->getCanvasCoordHeight() - finalMarginBottomCoord) / 2.0) - (coordHeight / 2.0));
-		if ((minMarginBottomCoord > marginBottomCoord) && ((theVisualGraphics->getMaxBottomCoordOfCanvas() - bottom) < minMarginBottomCoord)) {
-			//bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + minMarginBottomCoord;
-		}
-	} else if (this->stagePosition.verticalAlignment == kBottom) {
-		bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + finalMarginBottomCoord;
-	}
-	top = bottom + coordHeight;
-*/	
-/*
-	if (this->stagePosition.horizontalAlignment == kLeft) {
-		left = theVisualGraphics->getMaxLeftCoordOfCanvas() + finalMarginLeftCoord;
-	} else if (this->stagePosition.horizontalAlignment == kCenter) {
-		left = (theVisualGraphics->getMaxLeftCoordOfCanvas() + finalMarginLeftCoord + (theVisualGraphics->getCanvasCoordWidth() / 2.0)) - (coordWidth / 2.0);
-	} else if (this->stagePosition.horizontalAlignment == kRight) {
-		left = theVisualGraphics->getMaxRightCoordOfCanvas() - coordWidth - finalMarginRightCoord;
-	}
-	right = left + coordWidth;
-*/
-	// adjust bounds to current bounding rect
-	if ((this->scalingBehaviour & kScalingAllowed) == kScalingAllowed) {
-
-		// positioning
-/*
-		if (this->stagePosition.verticalAlignment == kTop) {
-			bottom = theVisualGraphics->getMaxTopCoordOfCanvas() - coordHeight - finalMarginTopCoord;
-		} else if (this->stagePosition.verticalAlignment == kMiddle) {
-			bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + ((theVisualGraphics->getCanvasCoordHeight() / 2.0) - (coordHeight / 2.0));
-		} else if (this->stagePosition.verticalAlignment == kBottom) {
-			bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + finalMarginBottomCoord;
-		}
-		top = bottom + coordHeight;
-*/
-/*
-		if (this->stagePosition.horizontalAlignment == kLeft) {
-			left = theVisualGraphics->getMaxLeftCoordOfCanvas() + finalMarginLeftCoord;
-		} else if (this->stagePosition.horizontalAlignment == kCenter) {
-			left = theVisualGraphics->getMaxLeftCoordOfCanvas() + ((theVisualGraphics->getCanvasCoordWidth() / 2.0) - (coordWidth / 2.0));
-		} else if (this->stagePosition.horizontalAlignment == kRight) {
-			left = theVisualGraphics->getMaxRightCoordOfCanvas() - coordWidth - finalMarginRightCoord;
-		}
-		right = left + coordWidth;
-*/
-		// calc distances
-		double distanceBottom = 0.0;
-		if (bottom > 0.0) {
-			distanceBottom = (theVisualGraphics->getCanvasCoordHeight() / 2.0) + bottom;
-		} else {
-			distanceBottom = (theVisualGraphics->getMaxBottomCoordOfCanvas() - bottom) * -1.0;
-		}
-		double distanceTop = 0.0;
-		if (top > 0.0) {
-			distanceTop = theVisualGraphics->getMaxTopCoordOfCanvas() - top;
-		} else {
-			distanceTop = (theVisualGraphics->getCanvasCoordHeight() / 2.0) + (top * -1.0);
-		}
-		double distanceLeft = 0.0;
-		if (left > 0.0) {
-			distanceLeft = (theVisualGraphics->getCanvasCoordWidth() / 2.0) + left;
-		} else {
-			distanceLeft = (theVisualGraphics->getMaxLeftCoordOfCanvas() - left) * -1.0;
-		}
-		double distanceRight = 0.0;
-		if (right > 0.0) {
-			distanceRight = theVisualGraphics->getMaxRightCoordOfCanvas() - right;
-		} else {
-			distanceRight = (theVisualGraphics->getCanvasCoordWidth() / 2.0) + (right * -1.0);
-		}
-		// rescale because minMargin is exceeded?
-		//if ((distanceBottom < minMarginBottomCoord) || (distanceTop < minMarginTopCoord) || (distanceLeft < minMarginLeftCoord) || (distanceRight < minMarginRightCoord)) {
-		if (1 == 2) {
-			prevCoordVal = bottom;
-			if (this->stagePosition.verticalAlignment == kTopAligned) {
-				bottom = theVisualGraphics->getMaxTopCoordOfCanvas() - coordHeight - marginTopCoord;
-			} else if (this->stagePosition.verticalAlignment == kMiddleAligned) {
-				bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + marginBottomCoord + (((theVisualGraphics->getCanvasCoordHeight() - marginBottomCoord) / 2.0) - (coordHeight / 2.0));
-				if ((minMarginBottomCoord > marginBottomCoord) && ((theVisualGraphics->getMaxBottomCoordOfCanvas() - bottom) < minMarginBottomCoord)) {
-					bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + minMarginBottomCoord;
-				}
-			} else if (this->stagePosition.verticalAlignment == kBottomAligned) {
-				bottom = theVisualGraphics->getMaxBottomCoordOfCanvas() + marginBottomCoord;
-			}
-			top -= (prevCoordVal - bottom);
-			
-			prevCoordVal = left;
-			if (this->stagePosition.horizontalAlignment == kLeftAligned) {
-				left = theVisualGraphics->getMaxLeftCoordOfCanvas() + minMarginLeftCoord;
-			} else if (this->stagePosition.horizontalAlignment == kCenterAligned) {
-				left = theVisualGraphics->getMaxLeftCoordOfCanvas() + marginLeftCoord + (((theVisualGraphics->getCanvasCoordWidth() - marginLeftCoord) / 2.0) - (coordWidth / 2.0));
-				if ((minMarginLeftCoord > marginLeftCoord) && ((theVisualGraphics->getMaxLeftCoordOfCanvas() - left) < minMarginLeftCoord)) {
-					left = theVisualGraphics->getMaxLeftCoordOfCanvas() + minMarginLeftCoord;
-				}
-			} else if (this->stagePosition.horizontalAlignment == kRightAligned) {
-				left = theVisualGraphics->getMaxRightCoordOfCanvas() - coordWidth - marginRightCoord;
-			}
-			right -= (prevCoordVal - left);
-			
-			// scale?
-			if (top > (theVisualGraphics->getMaxTopCoordOfCanvas() - minMarginTopCoord)) {
-				prevCoordVal = coordHeight;
-				coordHeight = theVisualGraphics->getCanvasCoordHeight() - minMarginTopCoord - minMarginBottomCoord;
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordWidth = coordWidth * (coordHeight / prevCoordVal);
-					if (this->stagePosition.horizontalAlignment == kLeftAligned) {
-						left = theVisualGraphics->getMaxLeftCoordOfCanvas() + marginLeftCoord;
-					} else if (this->stagePosition.horizontalAlignment == kCenterAligned) {
-						left = (theVisualGraphics->getMaxLeftCoordOfCanvas() + marginLeftCoord + (theVisualGraphics->getCanvasCoordWidth() / 2.0)) - (coordWidth / 2.0);
-						//left = theVisualGraphics->getMaxLeftCoordOfCanvas() + marginLeftCoord + (coordWidth / 2.0);
-					} else if (this->stagePosition.horizontalAlignment == kRightAligned) {
-						left = theVisualGraphics->getMaxRightCoordOfCanvas() - coordWidth - marginRightCoord;
-					}
-					right = left + coordWidth;
-				}
-				top = bottom + coordHeight;
-			}
-			if (right < (theVisualGraphics->getMaxRightCoordOfCanvas() - minMarginRightCoord)) {
-				prevCoordVal = coordWidth;
-				//coordWidth = theVisualGraphics->getCanvasCoordWidth() - minMarginLeftCoord - minMarginRightCoord;
-				/*
-				if ((this->scalingBehaviour & kPreserveAspectRatio) == kPreserveAspectRatio) {
-					coordHeight = coordHeight * (coordWidth / prevCoordVal);
-					if (this->stagePosition.verticalAlignment == kTop) {
-						top = theVisualGraphics->getMaxTopCoordOfCanvas() - marginTopCoord;
-					} else if (this->stagePosition.verticalAlignment == kMiddle) {
-						top = (theVisualGraphics->getMaxTopCoordOfCanvas() - marginTopCoord - (theVisualGraphics->getCanvasCoordHeight() / 2.0)) + (coordHeight / 2.0);
-					} else if (this->stagePosition.verticalAlignment == kBottom) {
-						top = theVisualGraphics->getMaxBottomCoordOfCanvas() + coordHeight + marginBottomCoord;
-					}
-					bottom = top - coordHeight;
-				}
-				*/
-				//left = theVisualGraphics->getMaxLeftCoordOfCanvas() + minMarginLeftCoord;
-				//right = left + coordWidth;
-			}
-		}
-	}
-
-	this->topCoord = top;
-	this->leftCoord = left;
-	this->bottomCoord = bottom;
-	this->rightCoord = right;
-
-}
-
-
-ScalingBehaviour VisualStageBox::getScalingBehaviour() {
-	return this->scalingBehaviour;
-}
-
-
-double VisualStageBox::getScaleFactor() {
-	return this->scaleFactor;
-}
-
-
-double VisualStageBox::getCoordWidth() {
-	this->coordWidth = this->rightCoord - this->leftCoord;
-	return this->coordWidth;
-}
-
-
-double VisualStageBox::getCoordHeight() {
-	this->coordHeight = this->topCoord - this->bottomCoord;
-	return this->coordHeight;
-}
-
-
-double VisualStageBox::getCoordDepth() {
-	return this->coordDepth;
-}
-
-
-double VisualStageBox::getTopCoord() {
-	return this->topCoord * this->scaleFactor;
-}
-
-
-double VisualStageBox::getLeftCoord() {
-	return this->leftCoord * this->scaleFactor;
-}
-
-
-double VisualStageBox::getBottomCoord() {
-	return this->bottomCoord * this->scaleFactor;
-}
-
-
-double VisualStageBox::getRightCoord() {
-	return this->rightCoord * this->scaleFactor;
-}
-
-
-VisualStagePosition VisualStageBox::getVisualStagePosition() {
-	return this->stagePosition;
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/VisualStageBox.h b/src/projectM-iTunes-VizKit/source/VisualStageBox.h
deleted file mode 100644
index 08abfc1..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStageBox.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStageBox.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualStageBox_h
-#define VisualStageBox_h
-
-#include "VisualGraphicTypes.h"
-#include "VisualStagePosition.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	/**
-	 * Position and dimensions of a box on stage.
-	 * Used by VisualAsset as a positioning container.\ It's the bounding box of the visual asset.
-	 */
-	class VisualStageBox {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualStageBox();
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualStageBox();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualStageBox.
-		 */
-		VisualStageBox(const VisualStageBox& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualStageBox.
-		 */
-		VisualStageBox& operator=(const VisualStageBox& other);
-
-		/**
-		 * Sets the pixel width of the image data.
-		 * @param pixelWidth The pixel width of the image data.
-		 */
-		void setContentPixelWidth(UInt32 pixelWidth);
-		
-		/**
-		 * Sets the pixel height of the image data.
-		 * @param pixelHeight The pixel height of the image data.
-		 */
-		void setContentPixelHeight(UInt32 pixelHeight);
-
-		/**
-		 * Sets value of the front position.
-		 * @param aFrontPosition The value of the front position.
-		 */
-		void setFrontPosition(double aFrontPosition);
-
-		/**
-		 * Returns the value of the front position.
-		 * @return The value of the front position.
-		 */
-		double getFrontPosition(void);
-
-		/**
-		 * Sets value of the back position.
-		 * @param aBackPosition The value of the back position.
-		 */
-		void setBackPosition(double aBackPosition);
-
-		/**
-		 * Returns the value of the back position.
-		 * @return The value of the back position.
-		 */
-		double getBackPosition(void);
-
-		/**
-		 * Sets the stage position of the box.
-		 * @param aPosition The position that is supposed to become the current position.
-		 */		
-		void setVisualStagePosition(const VisualStagePosition& aPosition);
-
-		/**
-		 * Specifies the scaling behaviour.
-		 * @param aScalingBehaviour The requested scaling behaviour.
-		 */
-		void setScalingBehaviour(ScalingBehaviour aScalingBehaviour);
-		
-		/**
-		 * Specifies the magnification/minification of the stage box when drawn.
-		 * @param aScaleFactor The factor by which the stage box should be multiplied when rendered (1.0 means no magnification/minification).
-		 */
-		void setScaleFactor(double aScaleFactor);
-
-		/**
-		 * Updates the coord values (e.g.\ after canvas reshape).
-		 */
-		void update(void);
-
-		/**
-		 * Returns the scaling attributes.
-		 * @return The scaling attributes.
-		 */
-		ScalingBehaviour getScalingBehaviour(void);
-
-		/**
-		 * Returns the magnification/minification of the stage box when drawn.
-		 * @return The factor by which the stage box is multiplied when rendered (1.0 means no magnification/minification).
-		 */
-		double getScaleFactor(void);
-	
-		/**
-		 * Returns the width of the box.
-		 * @return The width of the box.
-		 */
-		double getCoordWidth(void);
-
-		/**
-		 * Returns the height of the box.
-		 * @return The height of the box.
-		 */		
-		double getCoordHeight(void);
-
-		/**
-		 * Returns the depth of the box.
-		 * @return The depth of the box.
-		 */		
-		double getCoordDepth(void);
-		
-		/**
-		 * Returns the top coord of the box.
-		 * @return The top coord of the box.
-		 */			
-		double getTopCoord(void);
-
-		/**
-		 * Returns the left coord of the box.
-		 * @return The left coord of the box.
-		 */		
-		double getLeftCoord(void);
-
-		/**
-		 * Returns the bottom coord of the box.
-		 * @return The bottom coord of the box.
-		 */
-		double getBottomCoord(void);
-
-		/**
-		 * Returns the right coord of the box.
-		 * @return The right coord of the box.
-		 */
-		double getRightCoord(void);
-
-		/**
-		 * Returns a copy of the stage position of the box.
-		 * @return A copy of the stage position of the box.
-		 */
-		VisualStagePosition getVisualStagePosition(void);
-
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualStageBox.
-		 */
-		void copy(const VisualStageBox& other);
-		
-		/**
-		 * Calculates the coord dimension of the box according to alignment and margin settings.
-		 */
-		void calcCoords(void);
-		
-		bool hasLayout; /**< True if calcCoords() was executed at least once, initial state is false. */
-		
-		double topCoord; /**< The top coord value of the positioned box. */
-		
-		double leftCoord; /**< The left coord value of the positioned box. */
-		
-		double bottomCoord; /**< The bottom coord value of the positioned box. */
-		
-		double rightCoord; /**< The right coord value of the positioned box. */
-		
-		double frontPosition; /**< The value of the front position. */
-		
-		double backPosition; /**< The value of the back position. */
-		
-		double coordWidth; /**< The width of the box measured in coord values. */
-		
-		double coordHeight; /**< The height of the box measured in coord values. */
-		
-		double coordDepth; /**< The depth of the box measured in coord values. */
-		
-		UInt32 contentPixelWidth; /**< The width of the box measured in pixels. */
-		
-		UInt32 contentPixelHeight; /**< The height of the box measured in pixels. */
-		
-		VisualStagePosition stagePosition; /**< The dimensionless position of the box. */
-		
-		ScalingBehaviour scalingBehaviour; /**< Specifies the scaling behaviour. */
-		
-		double scaleFactor; /**< The factor by which the stage box should be multiplied when rendered (1.0 means no magnification/minification). */
-		
-	};
-
-}
-
-#endif /* VisualStageBox_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp b/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp
deleted file mode 100644
index 70e272a..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStageControl.cpp
+++ /dev/null
@@ -1,359 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStageControl.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualStageControl.h"
-#include "VisualErrorHandling.h"
-#include "VisualDataStore.h"
-#include "VisualNotification.h"
-#include "VisualEnsemble.h"
-#include "VisualConfiguration.h"
-
-#include "BeatlightActor.h"
-#include "CoverArtActor.h"
-#include "ProcessMonitorActor.h"
-#include "TemplateActor.h"
-#include "TrackTitleActor.h"
-#include "TrackLyricsActor.h"
-
-#include <algorithm>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h> // unimpErr
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/macerrors.h> // unimpErr
-#endif
-
-
-using namespace VizKit;
-
-
-VisualStageControl* VisualStageControl::theVisualStageControl = NULL;
-
-
-VisualStageControl::VisualStageControl() {
-    aVisualEnsemble = NULL;
-}
-
-
-VisualStageControl::~VisualStageControl() {
-	if (aVisualEnsemble != NULL) {
-		delete aVisualEnsemble;
-	}
-}
-
-
-VisualStageControl* VisualStageControl::getInstance() {
-    if (theVisualStageControl == NULL) {
-		theVisualStageControl = new VisualStageControl;
-		if (theVisualStageControl != NULL) {
-			theVisualStageControl->initVisualStageControl();
-		}
-    }
-	if (theVisualStageControl == NULL) {
-		writeLog("ERR: init theVisualStageControl failed");
-	}
-	return theVisualStageControl;
-}
-
-
-void VisualStageControl::dispose() {
-    if (theVisualStageControl != NULL) {
-        delete theVisualStageControl;
-        theVisualStageControl = NULL;
-    }
-}
-
-
-VisualStageControl* VisualStageControl::initVisualStageControl() {
-
-	VisualActor* aVisualActor;
-
-	theVisualStageControl = VisualStageControl::getInstance();
-	
-	theVisualStageControl->aVisualEnsemble = new VisualEnsemble;
-	if (theVisualStageControl->aVisualEnsemble == NULL) {
-		writeLog("ERR: theVisualStageControl->aVisualEnsemble == NULL");
-	}
-
-
-	// TemplateActor
-	aVisualActor = new TemplateActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-
-	// CoverArtActor
-	aVisualActor = new CoverArtActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioMetadataIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCoverTextureIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStartedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStoppedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayPausedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayResumedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCanvasReshapeEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kTrackInfoTextureChangedMsg);
-
-	// TrackTitleActor
-	aVisualActor = new TrackTitleActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioMetadataIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kTrackInfoTextureIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStartedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStoppedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayPausedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayResumedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCanvasReshapeEvt);
-
-	// ProcessMonitorActor
-	aVisualActor = new ProcessMonitorActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCanvasReshapeEvt);
-
-	// BeatlightActor
-	aVisualActor = new BeatlightActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCanvasReshapeEvt);
-
-	// TrackLyricsActor
-	aVisualActor = new TrackLyricsActor;
-	theVisualStageControl->aVisualEnsemble->addEnsembleMember(aVisualActor);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioMetadataIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kLyricsAreAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kLyricsTextureIsAvailableMsg);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStartedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayStoppedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayPausedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayResumedEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kCanvasReshapeEvt);
-	theVisualStageControl->aVisualEnsemble->registerObserverForNotification(aVisualActor, kTrackInfoTextureChangedMsg);
-
-	return theVisualStageControl;
-}
-
-
-void VisualStageControl::processVisualStageControl(const VisualPlayerState& visualPlayerState) {
-
-    VisualActor* aVisualActor;
-    const char* aVisualActorName;
-
-	theVisualStageControl = VisualStageControl::getInstance();
-
-	OSStatus status = noErr;
-	VisualAnimationsIterator it = theVisualStageControl->visualAnimations.begin();
-	while (it != theVisualStageControl->visualAnimations.end()) {
-		if (it->second.isRunning() == true) {
-			status = it->second.callAnimateCallbackFunction();
-			it++;
-		} else if (it->second.isDead() == true) {
-			theVisualStageControl->visualAnimations.erase(it++); // increment iterator, then call erase with old iterator
-			// after erase, accessing iterator (for increment) is invalid
-		} else {
-			it++;
-		}
-	}
-
-    theVisualStageControl->aVisualEnsemble->resetVisualActorIterIndex();
-    while ((aVisualActor = theVisualStageControl->aVisualEnsemble->getNextVisualActor())) {
-        aVisualActorName = aVisualActor->getName();
-        if (strcmp(aVisualActorName, "PROCESSMONITOR") == 0) {
-			dynamic_cast<ProcessMonitorActor*>(aVisualActor)->registerProcessMonitorInfoMap(VisualDataStore::getProcessInfoMap());
-		}
-    }
-}
-
-
-void VisualStageControl::doEnsembleShow(const VisualPlayerState& visualPlayerState) {
-	theVisualStageControl = VisualStageControl::getInstance();
-	theVisualStageControl->processVisualStageControl(visualPlayerState);
-    theVisualStageControl->aVisualEnsemble->showEnsemble(visualPlayerState);
-}
-
-
-void VisualStageControl::dispatchNotification(const VisualNotification& aNotification) {
-
-	VisualActor* aVisualActor;
-	const char* aVisualActorName;
-	ProcessMonitorActor* aProcessMonitorActor;
-	VisualNotificationKey keyOfNotification;
-
-	theVisualStageControl = VisualStageControl::getInstance();
-
-	keyOfNotification = aNotification.getKey();
-	
-	switch (keyOfNotification) {
-		
-		case kToggleShowProcessMonitorMsg:
-			aVisualActor = theVisualStageControl->aVisualEnsemble->getVisualActorByName("PROCESSMONITOR");
-			if (aVisualActor) {
-				aProcessMonitorActor = dynamic_cast<ProcessMonitorActor*>(aVisualActor);
-				if (aProcessMonitorActor->getState() == kVisActNoShow) {
-					aProcessMonitorActor->setState(kVisActOn);
-				} else {
-					aProcessMonitorActor->setState(kVisActNoShow);
-				}
-			}
-			break;
-
-		case kToggleProcessMonitorAudioInfoMsg:
-			theVisualStageControl->aVisualEnsemble->resetVisualActorIterIndex();
-			while ((aVisualActor = theVisualStageControl->aVisualEnsemble->getNextVisualActor())) {
-				aVisualActorName = aVisualActor->getName();
-				if (strcmp(aVisualActorName, "PROCESSMONITOR") == 0) {
-					aProcessMonitorActor = dynamic_cast<ProcessMonitorActor*>(aVisualActor);
-					if (aProcessMonitorActor->isAudioInfoShown() == true) {
-						aProcessMonitorActor->setShowAudioInfo(false);
-					} else {
-						aProcessMonitorActor->setShowAudioInfo(true);
-					}
-				}
-			}
-			break;
-
-		default:
-			// let the whole ensemble know about the notification
-			if (theVisualStageControl->aVisualEnsemble) {
-				theVisualStageControl->aVisualEnsemble->dispatchNotification(aNotification);
-			}
-	}
-}
-
-
-void VisualStageControl::checkForFadeOutEvent() {
-	VisualPlayerState* theVisualPlayerState = VisualPlayerState::getInstance();
-	if (theVisualPlayerState->fadeOutEventShouldBeSent() == true) {
-		VisualNotification::post(kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt);
-	}
-}
-
-
-const VisualItemIdentifier* const VisualStageControl::addVisualAnimation(VisualAnimation& aVisualAnimation, VisualItemIdentifier& anOwnerIdentifier) {
-	theVisualStageControl = VisualStageControl::getInstance();
-	VisualAnimationsIterator it = theVisualStageControl->visualAnimations.insert(std::make_pair(anOwnerIdentifier, aVisualAnimation));
-	it->second.start();
-	return it->second.getIdentifier();
-}
-
-
-void VisualStageControl::removeVisualAnimationsWithOwnerIdentifier(VisualItemIdentifier& anOwnerIdentifier, AnimatedProperty anAnimatedProperty) {
-	bool doErase;
-	theVisualStageControl = VisualStageControl::getInstance();
-	VisualAnimationsIterator it = theVisualStageControl->visualAnimations.lower_bound(anOwnerIdentifier);
-	while (it != theVisualStageControl->visualAnimations.upper_bound(anOwnerIdentifier)) {
-		doErase = true;
-		if (anAnimatedProperty != kUndefinedAnimatedProperty) {
-			if (it->second.getAnimatedProperty() != anAnimatedProperty) {
-				doErase = false;
-			}
-		}
-		if (doErase == true) {
-			theVisualStageControl->visualAnimations.erase(it++); // increment iterator, then call erase with old iterator
-			// after erase, accessing iterator (for increment) is invalid
-		} else {
-			it++;
-		}
-	}
-
-}
-
-
-void VisualStageControl::removeVisualAnimation(const VisualItemIdentifier* const animationIdentifier) {
-	theVisualStageControl = VisualStageControl::getInstance();
-	VisualAnimationsIterator it = theVisualStageControl->visualAnimations.begin();
-	while (it != theVisualStageControl->visualAnimations.end()) {
-		if (it->second.getIdentifier() == animationIdentifier) {
-			theVisualStageControl->visualAnimations.erase(it++); // increment iterator, then call erase with old iterator
-			// after erase, accessing iterator (for increment) is invalid
-		} else {
-			it++;
-		}
-	}
-}
-
-
-void VisualStageControl::resetVisualAnimationsIterIndex(VisualItemIdentifier& aVisualAssetIdentifier) {
-	theVisualStageControl = VisualStageControl::getInstance();
-	theVisualStageControl->persistentIdentifier = aVisualAssetIdentifier;
-	theVisualStageControl->persistentAnimationIterator = theVisualStageControl->visualAnimations.lower_bound(aVisualAssetIdentifier);
-}
-
-
-VisualAnimation* VisualStageControl::getNextVisualAnimation() {
-	theVisualStageControl = VisualStageControl::getInstance();
-	if (theVisualStageControl->persistentAnimationIterator == theVisualStageControl->visualAnimations.upper_bound(theVisualStageControl->persistentIdentifier)) {
-		return NULL;
-	} else {
-		return &theVisualStageControl->persistentAnimationIterator->second;
-	}
-}
-
-
-void VisualStageControl::advanceAnimationIterator() {
-	theVisualStageControl = VisualStageControl::getInstance();
-	theVisualStageControl->persistentAnimationIterator++;
-}
-
-
-OSStatus VisualStageControl::handleKeyPressed(const char keyboadVal, const PlayerShowMode showMode) {
-	OSStatus status = unimpErr;
-	
-	VisualNotification aNotification;
-	
-	switch (keyboadVal) {
-		case 's':
-		case 'S':
-			if ((showMode & kIsShowing) == kIsShowing) {
-				//VisualMessaging::post(kToggleShowProcessMonitorMsg);
-				aNotification.setKey(kToggleShowProcessMonitorMsg);
-				VisualStageControl::dispatchNotification(aNotification);
-			}
-			break;						
-		case 'a':
-		case 'A':
-			if ((showMode & kIsShowing) == kIsShowing) {
-				//VisualMessaging::post(kToggleProcessMonitorAudioInfoMsg);
-				aNotification.setKey(kToggleProcessMonitorAudioInfoMsg);
-				VisualStageControl::dispatchNotification(aNotification);
-			}
-			break;
-		default:
-			// nothing
-			break;
-	}
-	return status;
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualStageControl.h b/src/projectM-iTunes-VizKit/source/VisualStageControl.h
deleted file mode 100644
index 159708a..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStageControl.h
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStageControl.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualStageControl_h
-#define VisualStageControl_h
-
-#include "VisualPlayerState.h" // ShowMode
-#include "VisualItemIdentifier.h"
-#include "VisualAnimation.h"
-
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualNotification; // Forward declaration (to avoid include of header file).
-	class VisualEnsemble; // Forward declaration (to avoid include of header file).
-	class VisualPlayerState; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Mediator that controls the show of the VisualEnsemble.
-	 * All public methods are declared static.
-	 * Controls the show of the VisualEnsemble and communicates with individual actors.
-	 * The VisualStageControl can manipulate the behaviour of individual VisualActors.
-	 */
-	class VisualStageControl {
-
-	public:
-
-		/**
-		 * Disposes the VisualStageControl.
-		 */
-		static void dispose(void);
-
-		/**
-		 * Sends each actor a message to prepare, perform and finish show.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		static void doEnsembleShow(const VisualPlayerState& visualPlayerState);
-
-		/**
-		 * Dispatches a VisualNotification.
-		 * @param aNotification A notification.
-		 */
-		static void dispatchNotification(const VisualNotification& aNotification);
-
-		/**
-		 * Checks whether the fade out event should be sent.\ If it should, a notification is added to the queue.
-		 * @remarks The kAudioPlayReachedFadeOutTimeBeforeEndOfTrackEvt event is sent if remaining audio time of track is less than kFadeOutTimeBeforeEndOfTrackInMS.
-		 */
-		static void checkForFadeOutEvent(void);
-		
-		/**
-		 * Adds a VisualAnimation.
-		 * @param aVisualAnimation A VisualAnimation to add.
-		 * @param anOwnerIdentifier The identifier of an owner who is connected with the animation.
-		 * @return The identifier of the added VisualAnimation.
-		 * @remarks Since the VisualAnimation is copied by the VisualStageControl, the returned VisualItemIdentifier provides access to the animation afterwards for the caller.
-		 */
-		static const VisualItemIdentifier* const addVisualAnimation(VisualAnimation& aVisualAnimation, VisualItemIdentifier& anOwnerIdentifier);
-
-		/**
-		 * Removes all VisualAnimations where the associated VisualItemIdentifier matches.
-		 * @param anOwnerIdentifier The identifier of a VisualAsset that is connected with the animation.
-		 * @param anAnimatedProperty Optional parameter that specifies the animated property of the animations.
-		 */
-		static void removeVisualAnimationsWithOwnerIdentifier(VisualItemIdentifier& anOwnerIdentifier, AnimatedProperty anAnimatedProperty = kUndefinedAnimatedProperty);
-
-		/**
-		 * Removes the VisualAnimation where the VisualItemIdentifier matches.
-		 * @param animationIdentifier The identifier of the VisualAnimation which should be removed.
-		 */
-		static void removeVisualAnimation(const VisualItemIdentifier* const animationIdentifier);
-
-		/**
-		 * Resets the iterator over the animations to the first one where the identifier matches as a preparation to iteration.
-		 * @param aVisualAssetIdentifier The identifier of a VisualAsset that is connected with a animation.
-		 */
-		static void resetVisualAnimationsIterIndex(VisualItemIdentifier& aVisualAssetIdentifier);
-
-		/**
-		 * Advances the internal animation iterator that was set with resetVisualAnimationsIterIndex().
-		 */
-		static void advanceAnimationIterator(void);
-
-		/**
-		 * Returns the next VisualAnimation with each call.
-		 * @return The next VisualAnimation with each call.
-		 */
-		static VisualAnimation* getNextVisualAnimation(void);
-
-		/**
-		 * Key-events are processed.
-		 * @param keyboadVal The value of the key that was pressed.
-		 * @param showMode The show mode.
-		 * @return noErr for any keyPress that is handled completely by the plug-in, 
-		 * unimpErr for any keyPress that should be passed through to iTunes.
-		 */
-		static OSStatus handleKeyPressed(const char keyboadVal, const PlayerShowMode showMode);
-
-	private:
-
-		/** The constructor.\ VisualStageControl is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		VisualStageControl();
-
-		/** The destructor.\ VisualStageControl is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~VisualStageControl();
-
-		/**
-		 * Initializes the VisualStageControl if neccessary. Returns a pointer to the VisualStageControl.
-		 * The VisualStageControl is a singleton.
-		 * @return A pointer to the VisualStageControl.
-		 */
-		static VisualStageControl* getInstance(void);
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualStageControl.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		VisualStageControl(const VisualStageControl& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		VisualStageControl& operator=(const VisualStageControl& other);
-
-		/**
-		 * Initializes the VisualStageControl.\ Returns a pointer to the initialised VisualStageControl.\ The VisualStageControl is a singleton.
-		 * @return A pointer to the initialised VisualStageControl.
-		 * @remarks In VisualStageControl's initVisualStageControl() the VisualActors are constructed and registered for notification messages.
-		 */
-		VisualStageControl* initVisualStageControl(void);
-
-		/**
-		 * The VisualStageControl is processed.
-		 * The VisualStageControl is processed before the start of the show of the VisualEnsemble.
-		 * The actors of the show can be prepared or manipulated according to rules of the VisualStageControl.
-		 * @param visualPlayerState Read-only access to the VisualPlayerState.
-		 */
-		void processVisualStageControl(const VisualPlayerState& visualPlayerState);
-
-		/** VisualStageControl is a singleton class. Pointer to private instance is handled internally. */
-		static VisualStageControl* theVisualStageControl;
-		
-		/** A pointer to a visual ensemble. */
-		VisualEnsemble* aVisualEnsemble;
-
-		/** VisualAnimations is a multimap of VisualAnimations (VisualItemIdentifiers act as keys for later access by the owner). */
-		typedef std::multimap<VisualItemIdentifier, VisualAnimation> VisualAnimations;
-
-		/** A VisualAnimationsIterator is an iterator of VisualAnimations. */
-		typedef VisualAnimations::iterator VisualAnimationsIterator;
-
-		/** Vector of all currently running VisualAnimations. */
-		VisualAnimations visualAnimations;
-		
-		/** Internal persistent iterator that is used by getNextVisualAnimation(). */
-		VisualAnimationsIterator persistentAnimationIterator;
-		
-		/** Internal persistent identifier that is used by getNextVisualAnimation(). */
-		VisualItemIdentifier persistentIdentifier;
-
-	};
-
-}
-
-
-#endif /* VisualStageControl_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp b/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp
deleted file mode 100644
index 065a70d..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStagePosition.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStagePosition.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualStagePosition.h"
-
-
-
-using namespace VizKit;
-
-
-VisualStagePosition::VisualStagePosition() {
-	reset();
-}
-
-
-VisualStagePosition::~VisualStagePosition() {
-	// NULL
-}
-
-
-VisualStagePosition::VisualStagePosition(const VisualStagePosition& other) {
-	copy(other);
-}
-
-			
-VisualStagePosition& VisualStagePosition::operator=(const VisualStagePosition& other) {
-	if (this != &other) {
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-void VisualStagePosition::copy(const VisualStagePosition& other) {
-	horizontalAlignment = other.horizontalAlignment;
-	verticalAlignment = other.verticalAlignment;
-	depthAlignment = other.depthAlignment;
-	
-	marginTop = other.marginTop;
-	marginLeft = other.marginLeft;
-	marginBottom = other.marginBottom;
-	marginRight = other.marginRight;
-
-	minMarginTop = other.minMarginTop;
-	minMarginLeft = other.minMarginLeft;
-	minMarginBottom = other.minMarginBottom;
-	minMarginRight = other.minMarginRight;
-	
-	minWidth = other.minWidth;
-	maxWidth = other.maxWidth;
-	minHeight = other.minHeight;
-	maxHeight = other.maxHeight;
-	
-	marginTopUnit = other.marginTopUnit;
-	marginLeftUnit = other.marginLeftUnit;
-	marginRightUnit = other.marginRightUnit;
-	marginBottomUnit = other.marginBottomUnit;
-
-	minMarginTopUnit = other.minMarginTopUnit;
-	minMarginLeftUnit = other.minMarginLeftUnit;
-	minMarginRightUnit = other.minMarginRightUnit;
-	minMarginBottomUnit = other.minMarginBottomUnit;
-	
-	minWidthUnit = other.minWidthUnit;
-	maxWidthUnit = other.maxWidthUnit;
-	minHeightUnit = other.minHeightUnit;
-	maxHeightUnit = other.maxHeightUnit;
-}
-
-
-void VisualStagePosition::reset() {
-
-	this->horizontalAlignment = kCenterAligned;
-	this->verticalAlignment = kMiddleAligned;
-	this->depthAlignment = kDepthCenterAligned;
-	
-	this->marginTop = 0.0;
-	this->marginLeft = 0.0;
-	this->marginBottom = 0.0;
-	this->marginRight = 0.0;
-
-	this->minMarginTop = 0.0;
-	this->minMarginLeft = 0.0;
-	this->minMarginBottom = 0.0;
-	this->minMarginRight = 0.0;
-	
-	this->minWidth = 5.0;
-	this->maxWidth = 0.0;
-	this->minHeight = 5.0;
-	this->maxHeight = 0.0;
-	
-	this->marginTopUnit = kPixel;
-	this->marginLeftUnit = kPixel;
-	this->marginRightUnit = kPixel;
-	this->marginBottomUnit = kPixel;
-
-	this->minMarginTopUnit = kPixel;
-	this->minMarginLeftUnit = kPixel;
-	this->minMarginRightUnit = kPixel;
-	this->minMarginBottomUnit = kPixel;
-	
-	this->minWidthUnit = kPixel;
-	this->maxWidthUnit = kPixel;
-	this->minHeightUnit = kPixel;
-	this->maxHeightUnit = kPixel;
-	
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualStagePosition.h b/src/projectM-iTunes-VizKit/source/VisualStagePosition.h
deleted file mode 100644
index 1ee7641..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualStagePosition.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualStagePosition.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualStagePosition_h
-#define VisualStagePosition_h
-
-#include "VisualGraphicTypes.h"
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
- 
-namespace VizKit {
-
-	/**
-	 * Dimensionless position of asset on stage.
-	 */
-	class VisualStagePosition {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualStagePosition();
-
-		/**
-		 * The destructor.
-		 */		
-		~VisualStagePosition();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another VisualStagePosition.
-		 */		
-		VisualStagePosition(const VisualStagePosition& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Another VisualStagePosition.
-		 */
-		VisualStagePosition& operator=(const VisualStagePosition& other);
-
-		/**
-		 * Resets the values of the stage position to default.
-		 */			
-		void reset(void);
-
-		HorizontalAlignment horizontalAlignment; /**< The horizontal alignment of the box. */
-		VerticalAlignment verticalAlignment; /**< The vertical alignment of the box. */
-		DepthAlignment depthAlignment; /**< The depth alignment of the box (z-dimension). */
-		
-		double marginTop; /**< The top margin of the box. */
-		double marginLeft; /**< The left margin of the box. */
-		double marginBottom; /**< The bottom margin of the box. */
-		double marginRight; /**< The right margin of the box. */
-
-		double minMarginTop; /**< The minimum top margin of the box. */
-		double minMarginLeft; /**< The minimum left margin of the box. */
-		double minMarginBottom; /**< The minimum bottom margin of the box. */
-		double minMarginRight; /**< The minimum right margin of the box. */
-		
-		double minWidth; /**< The minimum width of the box. */
-		double maxWidth; /**< The maximum width of the box. */
-		double minHeight; /**< The minimum height of the box. */
-		double maxHeight; /**< The maximum height of the box. */
-		
-		Unit marginTopUnit; /**< The measure of the top margin value. */
-		Unit marginLeftUnit; /**< The measure of the left margin value. */
-		Unit marginRightUnit; /**< The measure of the right margin value. */
-		Unit marginBottomUnit; /**< The measure of the bottom margin value. */
-
-		Unit minMarginTopUnit; /**< The measure of the minimum top margin value. */
-		Unit minMarginLeftUnit; /**< The measure of the minimum left margin value. */
-		Unit minMarginRightUnit; /**< The measure of the minimum right margin value. */
-		Unit minMarginBottomUnit; /**< The measure of the minimum bottom margin value. */
-		
-		Unit minWidthUnit; /**< The measure of the minimum width value. */
-		Unit maxWidthUnit; /**< The measure of the maximum width value. */
-		Unit minHeightUnit; /**< The measure of the minimum height value. */
-		Unit maxHeightUnit; /**< The measure of the maximum height value. */
-		
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualStagePosition.
-		 */
-		void copy(const VisualStagePosition& other);
-		
-	};
-
-}
-
-#endif /* VisualStagePosition_h */
diff --git a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp
deleted file mode 100644
index 704d960..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.cpp
+++ /dev/null
@@ -1,936 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTextureContainer.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualTextureContainer.h"
-#include "VisualConvolutionFilter.h"
-#include "VisualString.h"
-#include "VisualStringStyle.h"
-#include "VisualFile.h"
-#include "VisualQuickTime.h"
-#include "VisualGraphics.h"
-#include "VisualStageBox.h"
-#include "VisualErrorHandling.h"
-#include "VisualDispatch.h"
-
-
-
-using namespace VizKit;
-
-
-VisualTextureContainer::TextureRefCountMap VisualTextureContainer::textureRefCountMap;
-
-
-VisualTextureContainer::VisualTextureContainer() {
-	textureIsSet = false;
-	textureName = 0;
-	textureWidth = 0;
-	textureHeight = 0;
-	textureLogicalWidth = 0.0;
-	textureLogicalHeight = 0.0;
-	imageWidth = 0;
-	imageHeight = 0;
-	useRectExtension = false;
-	pixelFormat = kGL_BGRA;
-#if __BIG_ENDIAN__
-	dataType = kGL_UNSIGNED_INT_8_8_8_8_REV;
-#else
-#if TARGET_OS_WIN
-	dataType = kGL_UNSIGNED_BYTE;
-#else
-	dataType = kGL_UNSIGNED_INT_8_8_8_8;
-#endif
-#endif
-	pixelBuffer = NULL;
-}
-
-
-VisualTextureContainer::VisualTextureContainer(UInt32 anImageWidth, UInt32 anImageHeight, bool useRectExtensionBool) {
-	textureIsSet = false;
-	textureName = 0;
-	imageWidth = anImageWidth;
-	imageHeight = anImageHeight;
-	useRectExtension = useRectExtensionBool;
-	if (useRectExtensionBool == false) {
-		VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-		textureWidth = theVisualGraphics->power2Ceiling(imageWidth);
-		textureHeight = theVisualGraphics->power2Ceiling(imageHeight);
-		textureLogicalWidth = (double)imageWidth / (double)textureWidth;
-		textureLogicalHeight = (double)imageHeight / (double)textureHeight;
-	} else {
-		textureWidth = imageWidth;
-		textureHeight = imageHeight;
-		textureLogicalWidth = (double)textureWidth;
-		textureLogicalHeight = (double)textureHeight;
-	}
-	pixelFormat = kGL_BGRA;
-#if __BIG_ENDIAN__
-	dataType = kGL_UNSIGNED_INT_8_8_8_8_REV;
-#else
-#if TARGET_OS_WIN
-	dataType = kGL_UNSIGNED_BYTE;
-#else
-	dataType = kGL_UNSIGNED_INT_8_8_8_8;
-#endif
-#endif
-	pixelBuffer = NULL;
-}
-
-
-VisualTextureContainer::~VisualTextureContainer() {
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-	}
-}
-
-
-VisualTextureContainer::VisualTextureContainer(const VisualTextureContainer& other) {
-	copy(other);
-}
-
-
-VisualTextureContainer& VisualTextureContainer::operator=(const VisualTextureContainer& other) {
-	if (this != &other) {
-		if ((this->textureIsSet) && (this->textureName != other.textureName)) {
-			this->releaseTextureData();
-		}
-		if (this->pixelBuffer != NULL) {
-			free(this->pixelBuffer);
-			this->pixelBuffer = NULL;
-		}
-		this->copy(other);
-	}
-	return *this;
-}
-
-
-OSStatus VisualTextureContainer::initWithDataHandle(Handle dataHandle, OSType fileType) {
-	
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-
-	OSStatus status = noErr;
-	char errLog[64];
-	GraphicsImportComponent gi = 0;
-
-	status = VisualQuickTime::getGraphicsImporterForHandle(dataHandle, gi, fileType);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: getGraphicsImporterForHandle", status);
-		writeLog(errLog);
-		return status;
-	}
-	
-	status = VisualQuickTime::setMaxQuality(gi);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: setMaxQuality", status);
-		writeLog(errLog);
-		return status;
-	}
-
-	VisualQuickTime::getImageDimensions(gi, this->imageWidth, this->imageHeight);
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	this->useRectExtension = theVisualGraphics->canUseTextureRectExtension();
-	if (this->useRectExtension == false) {
-		this->textureWidth = theVisualGraphics->power2Ceiling(this->imageWidth);
-		this->textureHeight = theVisualGraphics->power2Ceiling(this->imageHeight);
-	} else {
-		this->textureWidth = this->imageWidth;
-		this->textureHeight = this->imageHeight;
-	}
-
-	status = VisualQuickTime::flipImportMatrix(gi, this->imageWidth, this->imageHeight);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: flipImportMatrix", status);
-		writeLog(errLog);
-		return status;
-	}
-
-#if TARGET_OS_MAC	
-	CGImageRef imageRef = VisualQuickTime::createCGImageRef(gi);
-	if (imageRef == NULL) {
-		char errStr[256];
-		sprintf(errStr, "imageRef is NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return NULL;
-	}
-	
-	CGContextRef contextPtr = theVisualGraphics->createBitmapContext(this->textureWidth, this->textureHeight);
-
-	CGRect rect = CGRectMake(0, (this->textureHeight - this->imageHeight), this->imageWidth, this->imageHeight);
-	CGContextDrawImage(contextPtr, rect, imageRef);
-
-	this->pixelBuffer = static_cast<UInt32*>(CGBitmapContextGetData(contextPtr));
-#endif
-
-#if TARGET_OS_WIN
-	this->pixelBuffer = VisualQuickTime::getBitmapOfDrawing(gi, this->textureWidth, this->textureHeight);
-#endif
-
-	CloseComponent(gi);
-
-	this->textureName = theVisualGraphics->getNextFreeTextureName();
-	this->textureIsSet = true;
-	VisualTextureContainer::textureRefCountMap[this->textureName] = 1;
-#if TARGET_OS_WIN
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, kGL_UNSIGNED_BYTE, const_cast<const UInt32**>(&(this->pixelBuffer)));
-#endif
-#if TARGET_OS_MAC
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, this->dataType, const_cast<const UInt32**>(&(this->pixelBuffer)));
-#endif
-
-#if TARGET_OS_MAC
-	CGContextRelease(contextPtr);
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-	CGImageRelease(imageRef);
-#endif
-
-#if TARGET_OS_WIN
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-#endif
-
-	if (this->useRectExtension == false) {
-		this->textureLogicalWidth = (double)this->imageWidth / (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->imageHeight / (double)this->textureHeight;
-	} else {
-		this->textureLogicalWidth = (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->textureHeight;
-	}
-
-	return status;
-}
-
-
-OSStatus VisualTextureContainer::initWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType) {
-
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-	
-	OSStatus status = noErr;
-	
-	Handle handle;
-	PtrToHand(*aPointerToPointerToBuffer, &handle, size);
-	status = this->initWithDataHandle(handle, aFileFormatType);
-	
-	return status;
-}
-
-
-OSStatus VisualTextureContainer::initWithFile(const VisualFile& aFile, OSType fileType) {
-	
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-
-	OSStatus status = noErr;
-	char errLog[128];
-	GraphicsImportComponent gi = 0;
-	
-	status = VisualQuickTime::getGraphicsImporterForFile(aFile, gi, fileType);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: after getGraphicsImporterForFile() in file: %s (line: %d) [%s])", status, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return status;
-	}
-	
-	status = VisualQuickTime::setMaxQuality(gi);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: after setMaxQuality() in file: %s (line: %d) [%s])", status, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errLog);
-		return status;
-	}
-
-	VisualQuickTime::getImageDimensions(gi, this->imageWidth, this->imageHeight);
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	this->useRectExtension = theVisualGraphics->canUseTextureRectExtension();
-	if (this->useRectExtension == false) {
-		this->textureWidth = theVisualGraphics->power2Ceiling(this->imageWidth);
-		this->textureHeight = theVisualGraphics->power2Ceiling(this->imageHeight);
-	} else {
-		this->textureWidth = this->imageWidth;
-		this->textureHeight = this->imageHeight;
-	}
-
-	status = VisualQuickTime::flipImportMatrix(gi, this->imageWidth, this->imageHeight);
-	if (status != noErr) {
-		sprintf(errLog, "err %ld: flipImportMatrix", status);
-		writeLog(errLog);
-		return status;
-	}
-
-#if TARGET_OS_MAC	
-	CGImageRef imageRef = VisualQuickTime::createCGImageRef(gi);
-	if (imageRef == NULL) {
-		char errStr[256];
-		sprintf(errStr, "imageRef is NULL in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return NULL;
-	}
-	
-	CGContextRef contextPtr = theVisualGraphics->createBitmapContext(this->textureWidth, this->textureHeight);
-
-	CGRect rect = CGRectMake(0, (this->textureHeight - this->imageHeight), this->imageWidth, this->imageHeight);
-	CGContextDrawImage(contextPtr, rect, imageRef);
-
-	this->pixelBuffer = static_cast<UInt32*>(CGBitmapContextGetData(contextPtr));
-#endif
-
-#if TARGET_OS_WIN
-	this->pixelBuffer = VisualQuickTime::getBitmapOfDrawing(gi, this->textureWidth, this->textureHeight);
-#endif
-
-	CloseComponent(gi);
-
-	this->textureName = theVisualGraphics->getNextFreeTextureName();
-	this->textureIsSet = true;
-	VisualTextureContainer::textureRefCountMap[this->textureName] = 1;
-#if TARGET_OS_WIN
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, kGL_UNSIGNED_BYTE, const_cast<const UInt32**>(&(this->pixelBuffer)));
-#endif
-#if TARGET_OS_MAC
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, this->dataType, const_cast<const UInt32**>(&(this->pixelBuffer)));
-#endif
-
-#if TARGET_OS_WIN
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-#endif
-
-#if TARGET_OS_MAC
-	CGContextRelease(contextPtr);
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-	CGImageRelease(imageRef);	
-#endif
-
-	if (this->useRectExtension == false) {
-		this->textureLogicalWidth = (double)this->imageWidth / (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->imageHeight / (double)this->textureHeight;
-	} else {
-		this->textureLogicalWidth = (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->textureHeight;
-	}
-
-	return status;
-}
-
-
-OSStatus VisualTextureContainer::initWithString(const VisualString& stringValue, VisualStringStyle& stringStyle) {
-	
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-
-    OSStatus status = noErr;
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	UInt16 maxPixelWidth = theVisualGraphics->getCanvasPixelWidth();
-	UInt16 maxPixelHeight = theVisualGraphics->getCanvasPixelHeight();
-	
-	this->textureName = theVisualGraphics->getNextFreeTextureName();
-	this->textureIsSet = true;
-	VisualTextureContainer::textureRefCountMap[this->textureName] = 1;
-	this->useRectExtension = theVisualGraphics->canUseTextureRectExtension();
-
-#if TARGET_OS_MAC
-	char alignmentStr[32];	
-	switch (stringStyle.horizontalAlignment) {
-		case (kLeftAligned):
-			strcpy(alignmentStr, "left");
-			break;
-		case(kCenterAligned):
-			strcpy(alignmentStr, "center");
-			break;
-		case(kRightAligned):
-			strcpy(alignmentStr, "right");
-			break;
-		default:
-			break;
-	}
-	
-	status = getDimensionsOfCocoaStringBitmap((void*)&stringValue, &(this->imageWidth), &(this->imageHeight), const_cast<char*>(stringStyle.fontNameStr), &(stringStyle.fontSize), stringStyle.fontColor.r, stringStyle.fontColor.g, stringStyle.fontColor.b, maxPixelWidth, maxPixelHeight, alignmentStr);
-	
-	if (this->useRectExtension == false) {
-		this->textureWidth = theVisualGraphics->power2Ceiling(this->imageWidth);
-		this->textureHeight = theVisualGraphics->power2Ceiling(this->imageHeight);
-	} else {
-		this->textureWidth = this->imageWidth;
-		this->textureHeight = this->imageHeight;
-	}
-	
-	this->pixelBuffer = (UInt32*)calloc(this->textureWidth * this->textureHeight, sizeof(UInt32));
-
-	status = getCocoaStringBitmapData((void*)&stringValue, this->textureWidth, this->textureHeight, const_cast<char*>(stringStyle.fontNameStr), stringStyle.fontSize, stringStyle.fontColor.r, stringStyle.fontColor.g, stringStyle.fontColor.b, alignmentStr, &(this->pixelBuffer));
-	
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, this->dataType, const_cast<const UInt32**>(&(this->pixelBuffer)));
-
-#endif
-
-#if TARGET_OS_WIN
-
-	wchar_t* stringValueRef = (wchar_t*)stringValue.getCharactersPointer();
-	UInt8 red = (UInt8)(stringStyle.fontColor.r * 255.0f);
-	UInt8 green = (UInt8)(stringStyle.fontColor.g * 255.0f);
-	UInt8 blue = (UInt8)(stringStyle.fontColor.b * 255.0f);
-	
-	status = theVisualGraphics->makeTextureOfStringWin(stringValueRef, stringValue.getNumberOfCharacters(), this->textureName, this->textureWidth, this->textureHeight, this->imageWidth, this->imageHeight, stringStyle.fontNameStr, (UInt16)stringStyle.fontSize, red, green, blue, stringStyle.horizontalAlignment, maxPixelWidth, maxPixelHeight);
-
-#endif
-
-	if (this->useRectExtension == false) {
-		this->textureLogicalWidth = (double)this->imageWidth / (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->imageHeight / (double)this->textureHeight;
-	} else {
-		this->textureLogicalWidth = (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->textureHeight;
-	}
-
-	return status;
-}
-
-
-#if TARGET_OS_MAC
-OSStatus VisualTextureContainer::initWithURL(VisualString& anURL) {
-
-	this->releaseTextureData();
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-
-	OSStatus osStatus = noErr;
-	
-	CFURLRef imageURL = CFURLCreateWithString(kCFAllocatorDefault, anURL.getCharactersPointer(), NULL);
-	CGImageSourceRef imageSource = CGImageSourceCreateWithURL(imageURL, NULL);
-	CGImageRef imageRef = CGImageSourceCreateImageAtIndex(imageSource, 0, NULL);
-	this->imageWidth = CGImageGetWidth(imageRef);
-	this->imageHeight = CGImageGetHeight(imageRef);
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	this->useRectExtension = theVisualGraphics->canUseTextureRectExtension();
-	if (this->useRectExtension == false) {
-		this->textureWidth = theVisualGraphics->power2Ceiling(this->imageWidth);
-		this->textureHeight = theVisualGraphics->power2Ceiling(this->imageHeight);
-	} else {
-		this->textureWidth = this->imageWidth;
-		this->textureHeight = this->imageHeight;
-	}
-	CGContextRef context = theVisualGraphics->createBitmapContext(this->textureWidth, this->textureHeight);
-
-	CGContextTranslateCTM(context, 0.0, (float)this->textureHeight + (float)(this->textureHeight - this->imageHeight));
-	CGContextScaleCTM(context, 1.0, -1.0);
-
-	CGRect rect = CGRectMake(0, (this->textureHeight - this->imageHeight), this->imageWidth, this->imageHeight);
-	CGContextDrawImage(context, rect, imageRef);
-
-	this->pixelBuffer = static_cast<UInt32*>(CGBitmapContextGetData(context));
-
-	this->textureName = theVisualGraphics->getNextFreeTextureName();
-	this->textureIsSet = true;
-	VisualTextureContainer::textureRefCountMap[this->textureName] = 1;
-	theVisualGraphics->copyARGBBitmapDataToTexture(this->textureName, this->textureWidth, this->textureHeight, this->useRectExtension, this->pixelFormat, this->dataType, const_cast<const UInt32**>(&(this->pixelBuffer)));
-
-	CGContextRelease(context);
-	if (this->pixelBuffer) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-	CGImageRelease(imageRef);
-
-	if (this->useRectExtension == false) {
-		this->textureLogicalWidth = (double)this->imageWidth / (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->imageHeight / (double)this->textureHeight;
-	} else {
-		this->textureLogicalWidth = (double)this->textureWidth;
-		this->textureLogicalHeight = (double)this->textureHeight;
-	}
-
-	return osStatus;
-
-}
-#endif
-
-
-OSStatus VisualTextureContainer::initWithFramebuffer(UInt32 xPos, UInt32 yPos, UInt32 width, UInt32 height) {
-	
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-
-	this->releaseTextureData();
-
-	this->textureName = theVisualGraphics->getNextFreeTextureName();
-	this->textureIsSet = true;
-	VisualTextureContainer::textureRefCountMap[this->textureName] = 1;
-	this->useRectExtension = theVisualGraphics->canUseTextureRectExtension();
-
-	int prevReadBuffer = theVisualGraphics->getCurrentColorBufferForPixelReadingOperations();
-	theVisualGraphics->setColorBufferForPixelReadingOperations(kGL_BACK_COLOR_BUFFER);
-
-	int prevDrawBuffer = theVisualGraphics->getCurrentColorBufferForPixelDrawingOperations();
-	theVisualGraphics->setColorBufferForPixelDrawingOperations(kGL_BACK_COLOR_BUFFER);
-
-	theVisualGraphics->enableTexturing(this->useRectExtension);
-	theVisualGraphics->copyFramebufferToTexture(this->textureName, this->useRectExtension, xPos, yPos, width, height, this->pixelFormat, this->dataType);
-	theVisualGraphics->disableTexturing(this->useRectExtension);
-
-	theVisualGraphics->setColorBufferForPixelDrawingOperations(prevDrawBuffer);
-	theVisualGraphics->setColorBufferForPixelReadingOperations(prevReadBuffer);
-
-
-	return noErr;
-}
-
-
-UInt32* VisualTextureContainer::getTexturePixels(const UInt16 format, const UInt16 type) {
-
-	bool debug = false;
-
-	UInt8* pixelBuffer8Bit = NULL;
-		
-	char errStr[256];
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	
-	if (debug == true) {
-		if (this->pixelBuffer != NULL) {
-			free(this->pixelBuffer);
-			this->pixelBuffer = NULL;
-		}
-		this->pixelBuffer = theVisualGraphics->createARGBCheckPixels(this->textureWidth, this->textureHeight);
-		return this->pixelBuffer;
-	}
-	
-	if ((debug == false) && (this->pixelBuffer != NULL)) {
-		//return this->pixelBuffer;
-	}
-	
-	UInt8 numberOfBytesPerChannel = 0;
-	UInt8 numberOfChannels = 0; // channel == color resp. alpha channel
-	UInt8 numberOfBytesPerPixel = 0;
-	UInt32 numberOfBytesPerRow = 0;
-	if ((format == kGL_RGBA) || (format == kGL_BGRA)) {
-		numberOfChannels = 4;
-	} else {
-		sprintf(errStr, "unknown format %d in file: %s (line: %d) [%s])", format, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return this->pixelBuffer;
-	}
-	
-	if ((type == kGL_UNSIGNED_INT_8_8_8_8_REV) || (type == kGL_UNSIGNED_INT_8_8_8_8) || (type == kGL_UNSIGNED_BYTE)) {
-		numberOfBytesPerChannel = 1; // 1 byte (== 8 bits) per color/channel
-	} else {
-		sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", type, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return this->pixelBuffer;
-	}
-
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-
-	if (this->useRectExtension == false) {
-		numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels;
-		numberOfBytesPerRow = numberOfBytesPerPixel * this->textureWidth;
-		if ((format == kGL_RGBA) || (format == kGL_BGRA)) {
-			if ((type == kGL_UNSIGNED_INT_8_8_8_8_REV) || (type == kGL_UNSIGNED_INT_8_8_8_8)) {
-				this->pixelBuffer = (UInt32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureHeight, numberOfBytesPerPixel);
-			} else if (type == kGL_UNSIGNED_BYTE) {
-				this->pixelBuffer = (UInt32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureHeight, numberOfBytesPerPixel);
-				pixelBuffer8Bit = (UInt8*)malloc(this->textureWidth * this->textureHeight * 4);
-			}
-		}
-		
-		theVisualGraphics->enableTexturing(this->useRectExtension);
-		theVisualGraphics->bindTexture(this->textureName, this->useRectExtension);
-		theVisualGraphics->setPixelStorageParams();
-		if ((type == kGL_UNSIGNED_INT_8_8_8_8_REV) || (type == kGL_UNSIGNED_INT_8_8_8_8)) {
-			theVisualGraphics->get32BitPixelsOfCurrentTexture(this->useRectExtension, format, type, &(this->pixelBuffer));
-		} else if (type == kGL_UNSIGNED_BYTE) {
-			theVisualGraphics->get8BitPixelsOfCurrentTexture(this->useRectExtension, format, type, &pixelBuffer8Bit);
-		}
-		theVisualGraphics->disableTexturing(this->useRectExtension);
-
-	} else {
-#if TARGET_OS_MAC
-		// glGetTexImage() does not always reliably return the pixelBuffer
-		// of npot (non-power-of-two, GL_TEXTURE_RECTANGLE_EXT) textures
-		// because of inconsistencies with Nvidia's GeForce4 MX card (1.4.18) [only with some not all textures the pixel data was returned]
-		// we grab the pixels with glReadPixels()
-		// (HW, 20070208)
-		this->pixelBuffer = this->getRectPixels(format, type);
-#endif
-	}
-
-	if (type == kGL_UNSIGNED_BYTE) {
-		UInt32 b, g, r, a, color32bit;
-		UInt32 pixelBufferIdx = 0;
-		UInt32 pixelBuffer8BitIdx = 0;
-		for (UInt32 i = 0; i < this->textureHeight; i++) {
-			for (UInt32 k = 0; k < this->textureWidth; k++) {
-				b = pixelBuffer8Bit[pixelBuffer8BitIdx + 0] << 24;
-				g = pixelBuffer8Bit[pixelBuffer8BitIdx + 1] << 16;
-				r = pixelBuffer8Bit[pixelBuffer8BitIdx + 2] << 8;
-				a = pixelBuffer8Bit[pixelBuffer8BitIdx + 3];
-				color32bit = b | g | r | a;
-				this->pixelBuffer[pixelBufferIdx] = color32bit;
-				pixelBufferIdx++;
-				pixelBuffer8BitIdx += 4;
-			}
-		}
-		free(pixelBuffer8Bit);
-	}
-
-	return this->pixelBuffer;
-}
-
-
-UInt32* VisualTextureContainer::getRectPixels(const UInt16 format, const UInt16 type) {
-
-	UInt32* pixels = NULL;
-	UInt32* prevPixels = NULL;
-
-	char errStr[512];
-	
-	double scaleFactor = 1.0;
-
-	UInt8 numberOfBytesPerChannel = 0;
-	UInt8 numberOfChannels = 0; // channel == color resp. alpha channel
-	UInt8 numberOfBytesPerPixel = 0;
-	UInt32 numberOfBytesPerRow = 0;
-	if ((format == kGL_RGBA) || (format == kGL_BGRA)) {
-		numberOfChannels = 4;
-	} else {
-		sprintf(errStr, "unknown format %d in file: %s (line: %d) [%s])", format, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return pixels;
-	}
-	
-	if ((type == kGL_UNSIGNED_INT_8_8_8_8_REV) || (type == kGL_UNSIGNED_INT_8_8_8_8) || (type == kGL_UNSIGNED_BYTE)) {
-		numberOfBytesPerChannel = 1; // // 1 byte (== 8 bits) per color/channel
-	} else {
-		sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", type, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return pixels;
-	}
-	
-	numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels;
-	numberOfBytesPerRow = numberOfBytesPerPixel * this->textureWidth;
-
-	VisualStageBox stageBox;
-
-	VisualStagePosition position;
-	position.horizontalAlignment = kLeftAligned;
-	position.verticalAlignment = kBottomAligned;
-	stageBox.setVisualStagePosition(position);
-
-	stageBox.setContentPixelWidth(this->getImageWidth());
-	stageBox.setContentPixelHeight(this->getImageHeight());
-
-	VertexChain aVertexChain;
-	Vertex* topLeftFrontVertex = new Vertex;
-	topLeftFrontVertex->vertexPosition.xPos = stageBox.getLeftCoord() * scaleFactor;
-	topLeftFrontVertex->vertexPosition.yPos = stageBox.getTopCoord() * scaleFactor;
-	topLeftFrontVertex->vertexPosition.zPos = stageBox.getFrontPosition();
-	topLeftFrontVertex->vertexColor.r = 1.0f;
-	topLeftFrontVertex->vertexColor.g = 1.0f;
-	topLeftFrontVertex->vertexColor.b = 1.0f;
-	topLeftFrontVertex->vertexColor.a = 1.0f;
-	topLeftFrontVertex->texCoordPosition.sPos = 0.0f;
-	topLeftFrontVertex->texCoordPosition.tPos = this->getTextureLogicalHeight();
-	aVertexChain.push_back(topLeftFrontVertex);
-
-	Vertex* bottomLeftFrontVertex = new Vertex;
-	bottomLeftFrontVertex->vertexPosition.xPos = stageBox.getLeftCoord() * scaleFactor;
-	bottomLeftFrontVertex->vertexPosition.yPos = stageBox.getBottomCoord() * scaleFactor;
-	bottomLeftFrontVertex->vertexPosition.zPos = stageBox.getFrontPosition();
-	bottomLeftFrontVertex->vertexColor.r = 1.0f;
-	bottomLeftFrontVertex->vertexColor.g = 1.0f;
-	bottomLeftFrontVertex->vertexColor.b = 1.0f;
-	bottomLeftFrontVertex->vertexColor.a = 1.0f;
-	bottomLeftFrontVertex->texCoordPosition.sPos = 0.0f;
-	bottomLeftFrontVertex->texCoordPosition.tPos = 0.0f;
-	aVertexChain.push_back(bottomLeftFrontVertex);
-
-	Vertex* bottomRightFrontVertex = new Vertex;
-	bottomRightFrontVertex->vertexPosition.xPos = stageBox.getRightCoord() * scaleFactor;
-	bottomRightFrontVertex->vertexPosition.yPos = stageBox.getBottomCoord() * scaleFactor;
-	bottomRightFrontVertex->vertexPosition.zPos = stageBox.getFrontPosition();
-	bottomRightFrontVertex->vertexColor.r = 1.0f;
-	bottomRightFrontVertex->vertexColor.g = 1.0f;
-	bottomRightFrontVertex->vertexColor.b = 1.0f;
-	bottomRightFrontVertex->vertexColor.a = 1.0f;
-	bottomRightFrontVertex->texCoordPosition.sPos = this->getTextureLogicalWidth();
-	bottomRightFrontVertex->texCoordPosition.tPos = 0.0f;
-	aVertexChain.push_back(bottomRightFrontVertex);
-
-	Vertex* topRightFrontVertex = new Vertex;
-	topRightFrontVertex->vertexPosition.xPos = stageBox.getRightCoord() * scaleFactor;
-	topRightFrontVertex->vertexPosition.yPos = stageBox.getTopCoord() * scaleFactor;
-	topRightFrontVertex->vertexPosition.zPos = stageBox.getFrontPosition();
-	topRightFrontVertex->vertexColor.r = 1.0f;
-	topRightFrontVertex->vertexColor.g = 1.0f;
-	topRightFrontVertex->vertexColor.b = 1.0f;
-	topRightFrontVertex->vertexColor.a = 1.0f;
-	topRightFrontVertex->texCoordPosition.sPos = this->getTextureLogicalWidth();
-	topRightFrontVertex->texCoordPosition.tPos = this->getTextureLogicalHeight();
-	aVertexChain.push_back(topRightFrontVertex);
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	
-	// read previous pixels
-	if ((format == kGL_RGBA) || (format == kGL_BGRA)) {
-		prevPixels = (UInt32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureHeight, numberOfBytesPerPixel);
-	}
-	theVisualGraphics->readPixels(stageBox.getLeftCoord(), stageBox.getBottomCoord(), this->textureWidth, this->textureHeight, &prevPixels, format, type);
-
-	// draw current texture
-	theVisualGraphics->drawTexture(this->textureName, &aVertexChain, this->getUseRectExtension(), kReplace);
-
-	// read pixels of current texture
-	if ((format == kGL_RGBA) || (format == kGL_BGRA)) {
-		pixels = (UInt32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureHeight, numberOfBytesPerPixel);
-	}
-	theVisualGraphics->readPixels(stageBox.getLeftCoord(), stageBox.getBottomCoord(), this->textureWidth, this->textureHeight, &pixels, format, type);
-
-	// restore previous pixels
-	theVisualGraphics->drawPixels(&prevPixels, stageBox.getLeftCoord(), stageBox.getBottomCoord(), this->textureWidth, this->textureHeight, format, type);
-
-	for (VertexChainIterator chainIt = aVertexChain.begin(); chainIt != aVertexChain.end(); chainIt++) {
-		delete *chainIt;
-		*chainIt = NULL;
-	}
-	aVertexChain.clear();
-
-	free(prevPixels);
-	
-	return pixels;
-}
-
-
-void VisualTextureContainer::copy(const VisualTextureContainer& other) {
-	if (other.textureIsSet) {
-		VisualTextureContainer::textureRefCountMap[other.textureName]++;
-	}
-	this->textureIsSet = other.textureIsSet;
-	this->textureName = other.textureName;
-	this->textureWidth = other.textureWidth;
-	this->textureHeight = other.textureHeight;
-	this->textureLogicalWidth = other.textureLogicalWidth;
-	this->textureLogicalHeight = other.textureLogicalHeight;
-	this->imageWidth = other.imageWidth;
-	this->imageHeight = other.imageHeight;
-	this->useRectExtension = other.useRectExtension;
-	this->pixelFormat = other.pixelFormat;
-	this->dataType = other.dataType;
-	if (other.pixelBuffer != NULL) {
-		this->pixelBuffer = (UInt32*)malloc(this->textureWidth * this->textureHeight * sizeof(UInt32));
-		memcpy(this->pixelBuffer, other.pixelBuffer, this->textureWidth * this->textureHeight * sizeof(UInt32));
-	} else {
-		this->pixelBuffer = NULL;
-	}
-}
-
-
-void VisualTextureContainer::setTextureWidth(UInt32 aTextureWidth) {
-	this->textureWidth = aTextureWidth;
-}
-
-
-void VisualTextureContainer::setTextureHeight(UInt32 aTextureHeight) {
-	this->textureHeight = aTextureHeight;
-}
-
-
-void VisualTextureContainer::setTextureLogicalWidth(double aTextureLogicalWidth) {
-	this->textureLogicalWidth = aTextureLogicalWidth;
-}
-
-
-void VisualTextureContainer::setTextureLogicalHeight(double aTextureLogicalHeight) {
-	this->textureLogicalHeight = aTextureLogicalHeight;
-}
-
-
-void VisualTextureContainer::setImageWidth(UInt32 anImageWidth) {
-	this->imageWidth = anImageWidth;
-}
-
-
-void VisualTextureContainer::setImageHeight(UInt32 anImageHeight) {
-	this->imageHeight = anImageHeight;
-}
-
-
-UInt32 VisualTextureContainer::getTextureName() const {
-	return this->textureName;
-}
-
-
-UInt32 VisualTextureContainer::getTextureWidth() const {
-	return this->textureWidth;
-}
-
-
-UInt32 VisualTextureContainer::getTextureHeight() const {
-	return this->textureHeight;
-}
-
-
-double VisualTextureContainer::getTextureLogicalWidth() const {
-	return this->textureLogicalWidth;
-}
-
-
-double VisualTextureContainer::getTextureLogicalHeight() const {
-	return this->textureLogicalHeight;
-}
-
-
-UInt32 VisualTextureContainer::getImageWidth() const {
-	return this->imageWidth;
-}
-
-
-UInt32 VisualTextureContainer::getImageHeight() const {
-	return this->imageHeight;
-}
-
-
-bool VisualTextureContainer::getUseRectExtension() const {
-	return this->useRectExtension;
-}
-
-
-void VisualTextureContainer::releaseTextureData() {
-	if (this->textureIsSet) {
-		VisualTextureContainer::textureRefCountMap[this->textureName]--;
-		if (VisualTextureContainer::textureRefCountMap[this->textureName] == 0) {
-			VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-			theVisualGraphics->deleteTextures(1, &(this->textureName));
-			this->textureName = 0;
-			this->textureIsSet = false;
-		}
-	}
-}
-
-
-void VisualTextureContainer::applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter) {
-	
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-
-	int prevReadBuffer = theVisualGraphics->getCurrentColorBufferForPixelReadingOperations();
-	theVisualGraphics->setColorBufferForPixelReadingOperations(kGL_BACK_COLOR_BUFFER);
-
-	int prevDrawBuffer = theVisualGraphics->getCurrentColorBufferForPixelDrawingOperations();
-	theVisualGraphics->setColorBufferForPixelDrawingOperations(kGL_BACK_COLOR_BUFFER);
-	
-	UInt32* prevPixels = NULL;
-
-	char errStr[512];
-
-	UInt8 numberOfBytesPerChannel = 0;
-	UInt8 numberOfChannels = 0; // channel == color resp. alpha channel
-	UInt8 numberOfBytesPerPixel = 0;
-	UInt32 numberOfBytesPerRow = 0;
-	if ((this->pixelFormat == kGL_RGBA) || (this->pixelFormat == kGL_BGRA)) {
-		numberOfChannels = 4;
-	} else {
-		sprintf(errStr, "unknown format %d in file: %s (line: %d) [%s])", this->pixelFormat, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return;
-	}
-	
-	if ((this->dataType == kGL_UNSIGNED_INT_8_8_8_8_REV) || (this->dataType == kGL_UNSIGNED_INT_8_8_8_8) || (this->dataType == kGL_UNSIGNED_BYTE)) {
-		numberOfBytesPerChannel = 1; // // 1 byte (== 8 bits) per color/channel
-	} else {
-		sprintf(errStr, "unknown type %d in file: %s (line: %d) [%s])", this->dataType, __FILE__, __LINE__, __FUNCTION__);
-		writeLog(errStr);
-		return;
-	}
-	
-	numberOfBytesPerPixel = numberOfBytesPerChannel * numberOfChannels;
-	numberOfBytesPerRow = numberOfBytesPerPixel * this->textureWidth;
-
-	// read previous pixels
-	if ((this->pixelFormat == kGL_RGBA) || (this->pixelFormat == kGL_BGRA)) {
-		prevPixels = (UInt32*)calloc((numberOfBytesPerRow / numberOfBytesPerPixel) * this->textureHeight, numberOfBytesPerPixel);
-	}
-	theVisualGraphics->readPixels(theVisualGraphics->getMaxLeftCoordOfCanvas(), theVisualGraphics->getMaxBottomCoordOfCanvas(), this->textureWidth, this->textureHeight, &prevPixels, this->pixelFormat, this->dataType);
-
-	UInt32* pixels = this->getTexturePixels(this->pixelFormat, this->dataType);
-	UInt32* passedPixels = (UInt32*)malloc(this->textureWidth * this->textureHeight * 4);
-	memcpy(passedPixels, pixels, this->textureWidth * this->textureHeight * 4); // VisualStudio does not like when we pass a non-const pointer to instance variable (crashes in runtime)
-	theVisualGraphics->drawPixels((UInt32**)&(passedPixels), theVisualGraphics->getMaxLeftCoordOfCanvas(), theVisualGraphics->getMaxBottomCoordOfCanvas(), this->textureWidth, this->textureHeight, this->pixelFormat, this->dataType, &aConvolutionFilter);
-	if (passedPixels != NULL) {
-		free(passedPixels);
-		passedPixels = NULL;
-	}
-
-	theVisualGraphics->copyFramebufferToTexture(this->textureName, this->useRectExtension, 0, 0, this->textureWidth, this->textureHeight, this->pixelFormat, this->dataType);
-
-	// restore previous pixels
-	theVisualGraphics->drawPixels(&prevPixels, theVisualGraphics->getMaxLeftCoordOfCanvas(), theVisualGraphics->getMaxBottomCoordOfCanvas(), this->textureWidth, this->textureHeight, this->pixelFormat, this->dataType);
-	
-	free(prevPixels);
-
-	theVisualGraphics->setColorBufferForPixelDrawingOperations(prevDrawBuffer);
-	theVisualGraphics->setColorBufferForPixelReadingOperations(prevReadBuffer);
-
-	if (this->pixelBuffer != NULL) {
-		free(this->pixelBuffer);
-		this->pixelBuffer = NULL;
-	}
-	
-}
diff --git a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h b/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h
deleted file mode 100644
index 3d5a565..0000000
--- a/src/projectM-iTunes-VizKit/source/VisualTextureContainer.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualTextureContainer.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualTextureContainer_h
-#define VisualTextureContainer_h
-
-#include "VisualGraphicTypes.h"
-
-#include <map>
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualConvolutionFilter; // Forward declaration (to avoid include of header file).
-	class VisualString; // Forward declaration (to avoid include of header file).
-	class VisualStringStyle; // Forward declaration (to avoid include of header file).
-	class VisualFile; // Forward declaration (to avoid include of header file).
-	
-	/**
-	 * A data container with a reference to an image texture.
-	 */
-	class VisualTextureContainer {
-
-	public:
-
-		/**
-		 * The constructor.
-		 */
-		VisualTextureContainer();
-
-		/**
-		 * Another constructor of a VisualTextureContainer with dimensions and power-of-2-requirements as arguments.
-		 * @param anImageWidth The image width.		 
-		 * @param anImageHeight The image height.
-		 * @param useRectExtensionBool The image height.\ True if graphics system does support rectangular texture extension.\ False otherwise.
-		 */
-		VisualTextureContainer(UInt32 anImageWidth, UInt32 anImageHeight, bool useRectExtensionBool);
-		
-		/**
-		 * The destructor.
-		 */
-		~VisualTextureContainer();
-
-		/**
-		 * Copy constructor.
-		 * @param other Reference to another VisualTextureContainer.
-		 */
-		VisualTextureContainer(const VisualTextureContainer& other);
-
-		/**
-		 * Assignment operator.
-		 * @param other Reference to another VisualTextureContainer.
-		 */
-		VisualTextureContainer& operator=(const VisualTextureContainer& other);
-
-		/**
-		 * Initializes a texture by passing a data handle.
-		 * @param dataHandle A handle of the data.
-		 * @param fileType The file type of the data (e.g.\ JPEG or PNGf).
-		 * @return Error status.
-		 * @remarks Handle can be created from regular 8bit pointer with PtrToHand().
-		 */
-		OSStatus initWithDataHandle(Handle dataHandle, OSType fileType);
-
-		/**
-		 * Initializes a texture by passing a data pointer to a pointer.
-		 * @param aPointerToPointerToBuffer A pointer to pointer to the data.
-		 * @param size The size of the data pointed to in bytes.
-		 * @param aFileFormatType The file type of the image (e.g.\ JPEG or PNGf).
-		 * @return Error state (0 means no Error).
-		 */
-		OSStatus initWithDataPointerToPointer(const unsigned char** const aPointerToPointerToBuffer, UInt32 size, OSType aFileFormatType);
-
-		/**
-		 * Initializes a texture by passing a file.
-		 * @param aFile Reference to a file.
-		 * @param fileType Optional file type.\ Providing the file type as a hint may speed up finding the correct component.
-		 * @return Error status.
-		 */
-		OSStatus initWithFile(const VisualFile& aFile, OSType fileType = '    ');
-
-		/**
-		 * Creates a texture of the passed string.
-		 * @param stringValue The string to plot to texture.
-		 * @param stringStyle The style information of the string.
-		 * @return Error number.
-		 */
-		OSStatus initWithString(const VisualString& stringValue, VisualStringStyle& stringStyle);
-
-		/**
-		 * Creates a texture of the passed url.
-		 * @param url The url of the image data.
-		 * @return Error number.
-		 */
-#if TARGET_OS_MAC
-		OSStatus initWithURL(VisualString& anURL);
-#endif
-		/**
-		 * Creates a texture with the content of the current screen (framebuffer).
-		 * @param xPos The horizontal x position of the screen rect.
-		 * @param yPos The vertical y position of the screen rect.
-		 * @param width The width of the rectangle.
-		 * @param height The height of the rectangle.
-		 * @return Error number.
-		 */
-		OSStatus initWithFramebuffer(UInt32 xPos, UInt32 yPos, UInt32 width, UInt32 height);
-		
-		/**
-		 * Returns bitmap data of the texture.
-		 * @param format The format of the requested pixels (kGL_RGBA, kGL_LUMINANCE).
-		 * @param type The data type of the pixel data (8-bit byte, float, etc.).
-		 * @return A pointer to the rgba pixel data.
-		 */	
-		UInt32* getTexturePixels(const UInt16 format, const UInt16 type);
-
-		/**
-		 * Sets the pixel width of the texture.
-		 * @param aTextureWidth The pixel width of the texture.
-		 */
-		void setTextureWidth(UInt32 aTextureWidth);
-
-		/**
-		 * Sets the pixel height of the texture.
-		 * @param aTextureHeight The pixel height of the texture.
-		 */
-		void setTextureHeight(UInt32 aTextureHeight);
-		
-		/**
-		 * Sets the logical width of the texture.
-		 * @param aTextureLogicalWidth The logical width of the texture.\ The logical width typically ranges from 0.0 to 1.0.\ If the imageWidth is smaller than the textureWidth, aTextureLogicalWidth is smaller than the maximum value.\ If useRectExtension == true then aTextureLogicalWidth equals imageWidth and textureWidth.
-		 */
-		void setTextureLogicalWidth(double aTextureLogicalWidth);
-		
-		/**
-		 * Sets the logical height of the texture.
-		 * @param aTextureLogicalHeight The logical height of the texture.\ The logical height typically ranges from 0.0 to 1.0.\ If the imageHeight is smaller than the textureHeight, aTextureLogicalHeight is smaller than the maximum value.\ If useRectExtension == true then aTextureLogicalHeight equals imageHeight and textureHeight.
-		 */
-		void setTextureLogicalHeight(double aTextureLogicalHeight);
-
-		/**
-		 * Sets the pixel width of the image data.
-		 * @param anImageWidth The pixel width of the image data.
-		 */
-		void setImageWidth(UInt32 anImageWidth);
-
-		/**
-		 * Sets the pixel height of the image data.
-		 * @param anImageHeight The pixel height of the image data.
-		 */
-		void setImageHeight(UInt32 anImageHeight);
-
-		/**
-		 * Returns the name/number/id of the current texture.
-		 * @return The name/number/id of the current texture.
-		 */
-		UInt32 getTextureName(void) const;
-
-		/**
-		 * Returns the width of the texture.
-		 * @return The width of the texture.
-		 */
-		UInt32 getTextureWidth(void) const;
-
-		/**
-		 * Returns the height of the texture.
-		 * @return The height of the texture.
-		 */
-		UInt32 getTextureHeight(void) const;
-
-		/**
-		 * Returns the logical width of the texture.
-		 * @return The logical width of the texture.
-		 */
-		double getTextureLogicalWidth(void) const;
-
-		/**
-		 * Returns the logical height of the texture.
-		 * @return The logical height of the texture.
-		 */
-		double getTextureLogicalHeight(void) const;
-
-		/**
-		 * Returns the number of pixels of image data in horizontal direction.
-		 * @return The pixel width of the image data.
-		 */
-		UInt32 getImageWidth(void) const;
-
-		/**
-		 * Returns the number of pixels of image data in vertical direction.
-		 * @return The pixel height of the image data.
-		 */
-		UInt32 getImageHeight(void) const;
-
-		/**
-		 * Returns whether the texture is drawn with rectangular texture extension.
-		 * @return True if graphics system does support rectangular texture extension.\ False otherwise.
-		 * @remarks With rectangular texure extension non-power-of-2-rectangles can be stared in tetxures.
-		 */
-		bool getUseRectExtension(void) const;
-
-		/**
-		 * Frees any resources possibly allocated for texture data.
-		 */
-		void releaseTextureData(void);
-
-		/**
-		 * Applies a convolution filter to the texture.
-		 * @param aConvolutionFilter The convolution filter to apply to the texture.
-		 */
-		void applyConvolutionFilter(const VisualConvolutionFilter& aConvolutionFilter);
-
-	private:
-	
-		/**
-		 * Copy method for assignment operator and copy constructor.
-		 * @param other Another VisualTextureContainer.
-		 */
-		void copy(const VisualTextureContainer& other);
-		
-		UInt32* getRectPixels(const UInt16 format, const UInt16 type);
-
-		/** A TextureRefCountMap is a map of texture names and ref counts. */
-		typedef std::map<UInt32, UInt32> TextureRefCountMap;
-		
-		/** The map of the texture names and ref counts. */
-		static TextureRefCountMap textureRefCountMap;
-		
-		bool textureIsSet; /**< True if the texture container actually contains a texture. */
-
-		UInt32 textureName; /**< The name (number, id) of the texture. */
-		
-		UInt32 textureWidth; /**< The pixel width of the texture. */
-		
-		UInt32 textureHeight; /**< The pixel height of the texture. */
-		
-		double textureLogicalWidth; /**< The logical width of the texture. */
-		
-		double textureLogicalHeight; /**< The logical height of the texture. */
-		
-		UInt32 imageWidth; /**< The pixel width of the image data. */
-		
-		UInt32 imageHeight; /**< The pixel height of the image data. */
-		
-		UInt16 pixelFormat; /**< The format of the pixel data (rgba, luminance, etc.). */
-		
-		UInt16 dataType; /**< The data type of the pixel data (8-bit byte, float, etc.). */
-		
-		bool useRectExtension; /**< True if graphics system does support rectangular texture extension.\ False otherwise. */
-		
-		UInt32* pixelBuffer; /**< Pointer to 4-channel 32-bit pixel buffer of current texture (8 bit per channel).\ NULL if there is no pixel buffer of the texture available. */
-
-	};
-
-}
-
-
-#endif /* VisualTextureContainer_h */
diff --git a/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp b/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp
deleted file mode 100644
index a7f2ccc..0000000
--- a/src/projectM-iTunes-VizKit/source/carbontoprojectm.hpp
+++ /dev/null
@@ -1,115 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2007 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-/**
- * $Id: carbontoprojectM.hpp,v 1.2 2004/11/12 15:12:58 cvs Exp $
- *
- * Translates CARBON -> projectM variables
- *
- * $Log$
- */
-
-#ifndef _CARBONTOPROJECTM_H
-#define _CARBONTOPROJECTM_H
-
-#include "event.h"
-#ifdef WIN32
-#else
-#endif
-
-projectMEvent carbon2pmEvent( EventRecord *event ) { 
-
-switch ( event->what ) { 
-	/*
-        case updateEvt: 						
-            return PROJECTM_VIDEORESIZE; 
-        case keyUp: 
-            return PROJECTM_KEYUP; 
-        case keyDown: 
-            return PROJECTM_KEYDOWN; 
-*/
-        default:
-            return PROJECTM_KEYDOWN; 
-			
-      } 
-  } 
-
-projectMKeycode carbon2pmKeycode( EventRecord *event ) { 
-	
-    projectMKeycode char_code = (projectMKeycode)(event->message & charCodeMask); 
-    switch ( char_code ) { 
-        case kFunctionKeyCharCode: { 
-		
-            switch ( ( event->message << 16 ) >> 24 ) { \
-                case 111: { \
-                    return PROJECTM_K_F12; \
-                  } \
-                case 103: { \
-                    return PROJECTM_K_F11; \
-                  } \
-                case 109: { \
-                    return PROJECTM_K_F10; \
-                  } \
-                case 101: { \
-                    return PROJECTM_K_F9; \
-                  } \
-                case 100: { \
-                    return PROJECTM_K_F8; \
-                  } \
-                case 98: { \
-                    return PROJECTM_K_F7; \
-                  } \
-                case 97: { \
-                    return PROJECTM_K_F6; \
-                  } \
-                case 96: { \
-                    return PROJECTM_K_F5; \
-                  } \
-                case 118: { \
-                    return PROJECTM_K_F4; \
-                  } \
-                case 99: { \
-                    return PROJECTM_K_F3; \
-                  } \
-                case 120: { \
-                    return PROJECTM_K_F2; \
-                  } \
-                case 122: { \
-                    return PROJECTM_K_F1; \
-                  } 
-				default:
-					{
-						return PROJECTM_K_NONE;
-					}
-			}
-			
-          } 
-        default: { 
-            return char_code; 
-          } 
-      } 
-	  
-}
-
-projectMModifier carbon2pmModifier( EventRecord *event ) { \
-    return (projectMModifier)PROJECTM_K_LSHIFT; \
-  } \
-
-#endif /** _CARBONTOPROJECTM_H */
diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c
deleted file mode 100644
index d1e3d67..0000000
--- a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.c
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: iTunesAPI.c
- *
- */
-
-
-/*
-	File:		iTunesAPI.c
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under Apple’s
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-#include "iTunesAPI.h"
-#include "iTunesVisualAPI.h"
-
-/*
-	modified for cross platform (mac/win) operation
-	20040509 (HW)
-*/
-
-
-/* MemClear */
-
-static void MemClear (LogicalAddress dest, SInt32 length)
-{
-	register unsigned char	*ptr;
-
-	ptr = (unsigned char *) dest;
-	
-	if( length > 16 )
-	{
-		register unsigned long	*longPtr;
-		
-		while( ((unsigned long) ptr & 3) != 0 )
-		{
-			*ptr++ = 0;
-			--length;
-		}
-		
-		longPtr = (unsigned long *) ptr;
-		
-		while( length >= 4 )
-		{
-			*longPtr++ 	= 0;
-			length		-= 4;
-		}
-		
-		ptr = (unsigned char *) longPtr;
-	}
-	
-	while( --length >= 0 )
-	{
-		*ptr++ = 0;
-	}
-}
-
-
-/* SetNumVersion */
-
-void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev)
-{
-	numVersion->majorRev		= majorRev;
-	numVersion->minorAndBugRev	= minorAndBugRev;
-	numVersion->stage			= stage;
-	numVersion->nonRelRev		= nonRelRev;
-}
-
-
-/* ITCallApplication */
-
-static OSStatus ITCallApplicationInternal (void *appCookie, ITAppProcPtr handler, OSType message, UInt32 messageMajorVersion, UInt32 messageMinorVersion, PlayerMessageInfo *messageInfo)
-{
-	PlayerMessageInfo	localMessageInfo;
-	
-	if (messageInfo == nil)
-	{
-		MemClear(&localMessageInfo, sizeof(localMessageInfo));
-		
-		messageInfo = &localMessageInfo;
-	}
-	
-	messageInfo->messageMajorVersion = messageMajorVersion;
-	messageInfo->messageMinorVersion = messageMinorVersion;
-	messageInfo->messageInfoSize	 = sizeof(PlayerMessageInfo);
-	
-	return handler(appCookie, message, messageInfo);
-}
-
-
-/* ITCallApplication */
-
-OSStatus ITCallApplication (void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplicationInternal(appCookie, handler, message, kITPluginMajorMessageVersion, kITPluginMinorMessageVersion, messageInfo);
-}
-
-
-/* PlayerSetFullScreen */
-
-OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenMessage.fullScreen = fullScreen;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo);
-}
-
-
-/* PlayerSetFullScreenOptions */
-
-OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenOptionsMessage.minBitDepth		= minBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.maxBitDepth		= maxBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.preferredBitDepth = preferredBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredWidth		= desiredWidth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredHeight		= desiredHeight;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenOptionsMessage, &messageInfo);
-}
-
-
-/* PlayerGetCurrentTrackCoverArt */
-
-OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getCurrentTrackCoverArtMessage.coverArt = nil;
-
-	status = ITCallApplication(appCookie, appProc, kPlayerGetCurrentTrackCoverArtMessage, &messageInfo);
-
-	*coverArt = messageInfo.u.getCurrentTrackCoverArtMessage.coverArt;
-	if (coverArtFormat)
-		*coverArtFormat = messageInfo.u.getCurrentTrackCoverArtMessage.coverArtFormat;
-	return status;
-}
-
-
-/* PlayerGetPluginData */
-
-OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginDataMessage.dataSize;
-	
-	return status;
-}
-
-
-/* PlayerSetPluginData */
-
-OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginDataMessage.dataPtr	= dataPtr;
-	messageInfo.u.setPluginDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo);
-}
-
-
-/* PlayerGetPluginNamedData */
-
-OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginNamedDataMessage.dataName		= dataName;
-	messageInfo.u.getPluginNamedDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginNamedDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize;
-	
-	return status;
-}
-
-
-/* PlayerSetPluginNamedData */
-
-OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginNamedDataMessage.dataName	= dataName;
-	messageInfo.u.setPluginNamedDataMessage.dataPtr		= dataPtr;
-	messageInfo.u.setPluginNamedDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo);
-}
-
-
-/* PlayerIdle */
-
-OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil);
-}
-
-
-/* PlayerShowAbout */
-
-void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc)
-{
-	ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil);
-}
-
-
-/* PlayerOpenURL */
-
-void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.openURLMessage.url	= string;
-	messageInfo.u.openURLMessage.length	= length;
-
-	ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo);
-}
-
-
-/* PlayerUnregisterPlugin */
-
-OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo);
-}
-
-
-/* PlayerRegisterVisualPlugin */
-
-OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplicationInternal(appCookie, appProc, kPlayerRegisterVisualPluginMessage, kITVisualPluginMajorMessageVersion, kITVisualPluginMinorMessageVersion, messageInfo);
-}
-
-
-/* PlayerGetPluginITFileSpec */
-
-OSStatus PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginITFileSpecMessage.fileSpec = pluginFileSpec;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerGetPluginITFileSpecMessage, &messageInfo);
-}
-
-
-/* PlayerGetFileTrackInfo */
-
-OSStatus PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getFileTrackInfoMessage.fileSpec 	= fileSpec;
-	messageInfo.u.getFileTrackInfoMessage.trackInfo = trackInfo;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerGetFileTrackInfoMessage, &messageInfo);
-}
-
-
-/* PlayerSetFileTrackInfo */
-
-OSStatus PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFileTrackInfoMessage.fileSpec 	= fileSpec;
-	messageInfo.u.setFileTrackInfoMessage.trackInfo = trackInfo;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetFileTrackInfoMessage, &messageInfo);
-}
-
-
-/* PlayerGetITTrackInfoSize */
-
-OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize)
-{
-	PlayerMessageInfo	messageInfo;
-	OSStatus			status;
-	
-	/*
-		Note: appPluginMajorVersion and appPluginMinorVersion are the versions given to the plugin by iTunes in the plugin's init message.
-			  These versions are *not* the version of the API used when the plugin was compiled.
-	*/
-	
-	*itTrackInfoSize = 0;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetITTrackInfoSizeMessage, &messageInfo);
-	if( status == noErr )
-	{
-		*itTrackInfoSize = messageInfo.u.getITTrackInfoSizeMessage.itTrackInfoSize;
-	}
-	else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 2 )
-	{
-		/* iTunes 2.0.x */
-		
-		*itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->composer);
-		
-		status = noErr;
-	}
-	else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 3 )
-	{
-		/* iTunes 3.0.x */
-		
-		*itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->beatsPerMinute);
-		
-		status = noErr;
-	}
-	else
-	{
-		/*	iTunes 4.0 and later implement the kPlayerGetITTrackInfoSizeMessage message. If you got here
-			then the appPluginMajorVersion or appPluginMinorVersion are incorrect. */
-		
-		status = paramErr;
-	}
-	
-	if( status == noErr && (*itTrackInfoSize) > sizeof(ITTrackInfo) )
-	{
-		/* iTunes is using a larger ITTrackInfo than the one when this plugin was compiled. Pin *itTrackInfoSize to the plugin's known size */
-		
-		*itTrackInfoSize = sizeof(ITTrackInfo);
-	}
-	
-	return status;
-}
diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h
deleted file mode 100644
index 4941f04..0000000
--- a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesAPI.h
+++ /dev/null
@@ -1,739 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: iTunesAPI.h
- *
- */
-
-
-/*
-	File:		iTunesAPI.h
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under Apple’s
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-/*
-	modified for cross platform (mac/win) operation
-	20040509 (HW)
-*/
-
-#ifndef ITUNESAPI_H_
-#define ITUNESAPI_H_
-
-
-
-#if TARGET_OS_MAC
-#include <Carbon/Carbon.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <windows.h>
-#endif
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#include <QT/QTML.h>
-
-/*
-typedef unsigned long	UInt32;
-typedef signed long     SInt32;
-typedef unsigned short	UInt16;
-typedef signed short	SInt16;
-typedef	unsigned char	UInt8;
-typedef signed char     SInt8;
-
-typedef float			Float32;
-
-typedef UInt8			Str255[256];
-typedef UInt8			Str63[64];
-typedef const UInt8 *	ConstStringPtr;
-typedef UInt32			OptionBits;
-typedef UInt32			OSType;
-
-typedef SInt32			OSStatus;
-
-
-
-typedef UInt16			UniChar;
-
-typedef unsigned __int64 UInt64;
-
-typedef void **			Handle;
-
-struct NumVersion {
-	UInt8			majorRev;
-	UInt8			minorAndBugRev;
-	UInt8			stage;
-	UInt8			nonRelRev;
-};
-typedef struct NumVersion NumVersion;
-
-struct Point {
-    short   v;
-    short   h;
-};
-typedef struct Point                    Point;
-*/
-
-typedef UInt16			EventKind;
-
-typedef UInt16          EventModifiers;
-
-/*
-struct EventRecord {
-    EventKind                       what;
-    UInt32                          message;
-    UInt32                          when;
-    Point                           where;
-    EventModifiers                  modifiers;
-};
-typedef struct EventRecord EventRecord;
-*/
-
-typedef UInt8			Boolean;
-
-typedef UInt32			UnsignedFixed;
-
-typedef void *			LogicalAddress;
-
-#ifndef false
-#define	false			0
-#endif
-#ifndef true
-#define	true			1
-#endif
-#define	nil				NULL
-
-/*
-enum {
-	//noErr		= 0,
-	//paramErr	= -50,
-	//memFullErr	= -108,
-	//unimpErr	= -4
-};
-*/
-
-/*
-struct Rect {
-	short			top;
-	short			left;
-	short			bottom;
-	short			right;
-};
-typedef struct Rect Rect;
-*/
-
-/*
-struct SoundComponentData {
-	long			flags;
-	OSType			format;
-	short			numChannels;
-	short			sampleSize;
-	UnsignedFixed	sampleRate;
-	long			sampleCount;
-	UInt8 *			buffer;
-	long			reserved;
-};
-typedef struct SoundComponentData SoundComponentData;
-*/
-#endif
-
-
-#define	VOLUME_REFERENCE		SInt16
-/* VOLUME_REFERENCE on MacOS ? */
-
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 4)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(4)
-#endif
-
-
-enum {
-	kITPluginMajorMessageVersion = 10,
-	kITPluginMinorMessageVersion = 5
-};
-
-enum {
-	kTrackSupportsID3Tags		= (1L << 0),
-	kTrackHasVariableBitRate	= (1L << 1),
-	kTrackIsLocked				= (1L << 3),		/* Device tracks only. Track cannot be deleted or renamed */
-	kTrackCanBeDownloaded		= (1L << 4),		/* Device tracks only. Track can be copied from device to desktop. */
-	kTrackIsHidden				= (1L << 5)			/* Device tracks only. Track should not be displayed in the device window. */
-};
-typedef OptionBits	ITTrackAttributes;
-
-enum {
-	/*
-		These mask values are specified in ITTrackInfo.validFields
-		to indicate which fields contain valid data
-	*/
-	
-	kITTIFieldInvalid				= 0,
-	kITTINameFieldMask				= (1L << 0),
-	kITTIFileNameFieldMask			= (1L << 1),
-	kITTIArtistFieldMask			= (1L << 2),
-	kITTIAlbumFieldMask				= (1L << 3),
-	kITTIGenreFieldMask				= (1L << 4),
-	kITTIKindFieldMask				= (1L << 5),
-	kITTITrackNumberFieldsMask		= (1L << 6),
-	kITTIYearFieldMask				= (1L << 7),
-	kITTISoundVolumeFieldMask		= (1L << 8),
-	kITTIEQPresetFieldMask			= (1L << 9),
-	kITTICommentsFieldMask			= (1L << 10),
-	kITTITotalTimeFieldMask			= (1L << 11),			
-	kITTIStartTimeFieldMask			= (1L << 12),
-	kITTIStopTimeFieldMask			= (1L << 13),
-	kITTISizeFieldMask				= (1L << 14),
-	kITTIBitRateFieldMask			= (1L << 15),
-	kITTISampleRateFieldMask		= (1L << 16),
-	kITTIAttributesFieldMask		= (1L << 17),
-	kITTIFileTypeFieldMask			= (1L << 18),
-	kITTIDateFieldMask				= (1L << 19),
-	kITTIFileCreatorFieldMask		= (1L << 20),
-	kITTIComposerFieldMask			= (1L << 21),	/* Added in iTunes 3.0 */
-	kITTICompilationFieldMask		= (1L << 22),	/* Added in iTunes 3.0 */
-	kITTIDiscNumberFieldsMask		= (1L << 23),	/* Added in iTunes 3.0 */
-	kITTIUserRatingFieldMask		= (1L << 24),	/* Added in iTunes 3.0 */
-	kITTIPlayCountFieldMask 		= (1L << 25),	/* Added in iTunes 3.0 */
-	kITTILastPlayDateFieldMask		= (1L << 26),	/* Added in iTunes 3.0 */
-	kITTIBeatsPerMinuteFieldMask	= (1L << 27)	/* Added in iTunes 4.0 */
-};
-typedef OptionBits	ITTIFieldMask;
-
-enum
-{
-	kITTIUserModifiableFieldsMask = kITTINameFieldMask | kITTIArtistFieldMask | kITTIAlbumFieldMask | kITTIGenreFieldMask |
-										kITTITrackNumberFieldsMask | kITTIYearFieldMask | kITTISoundVolumeFieldMask | kITTIEQPresetFieldMask |
-										kITTICommentsFieldMask | kITTIStartTimeFieldMask | kITTIStopTimeFieldMask | kITTIComposerFieldMask |
-										kITTICompilationFieldMask | kITTIDiscNumberFieldsMask | kITTIUserRatingFieldMask | kITTIBeatsPerMinuteFieldMask
-};
-
-typedef UInt32	ITDeviceID;
-typedef UInt32	ITDeviceMediaID;
-typedef UInt32	ITDeviceTrackID;
-typedef UInt32	ITDevicePlaylistID;
-typedef UInt32	ITDevicePlaylistFolderID;
-typedef UInt32	ITDevicePlaylistItemID;
-
-typedef UniChar 		ITUniStr255[256];				/* Similar to Str255. First element is length of string in characters. */
-typedef UniChar *		ITUniStringPtr;
-typedef const UniChar *	ConstITUniStringPtr;
-
-
-
-#if TARGET_OS_WIN
-#define	kITFileSpecMaxPathLength	(MAX_PATH - 1)
-typedef struct ITFileSpec
-{
-	UInt16	length;		/* Length in characters */
-	UniChar	fullPath[kITFileSpecMaxPathLength];
-} ITFileSpec;
-#else
-typedef FSSpec	ITFileSpec;
-
-/* ITFileLocation ? */
-struct ITFileLocation {
-	ITFileSpec			spec;
-	FInfo				fInfo;
-};
-typedef struct ITFileLocation ITFileLocation;
-#endif
-	
-struct ITTrackInfo {
-	ITTIFieldMask		validFields;
-	UInt32				recordLength;					/* Size of this structure in bytes */
-	
-	ITUniStr255			name;	
-	ITUniStr255			fileName;
-	ITUniStr255			artist;
-	ITUniStr255			album;
-	ITUniStr255			genre;
-	ITUniStr255			kind;
-	ITUniStr255			eqPresetName;
-	ITUniStr255			comments;
-	
-	UInt32				trackNumber;
-	UInt32				numTracks;
-		
-	UInt16				year;
-	SInt16				soundVolumeAdjustment;			/* Valid range is -255 to +255 */
-		
-	UInt32				totalTimeInMS;
-	UInt32				startTimeInMS;
-	UInt32				stopTimeInMS;
-
-	UInt32				date;
-	UInt32				sizeInBytes;
-
-	UInt32				bitRate;
-	UInt32				sampleRateFixed;
-
-	OSType				fileType;
-	OSType				fileCreator;
-	
-	ITTrackAttributes	attributes;
-	ITTrackAttributes	validAttributes;				/* Mask indicating which attributes are applicable */
-
-	ITUniStr255			composer;						/* Added in iTunes 3.0 */
-	
-	Boolean				isCompilationTrack;				/* Added in iTunes 3.0 */
-	Boolean				reservedBoolean;				/* Reserved. Must be zero. */
-	
-	UInt16				userRating;						/* Added in iTunes 3.0. 0 = unrated, valid values are 20, 40, 60, 80 and 100. */
-
-	UInt16				discNumber;						/* Added in iTunes 3.0 */
-	UInt16				numDiscs;						/* Added in iTunes 3.0 */
-	
-	UInt32				playCount;						/* Added in iTunes 3.0 */
-	UInt32				lastPlayDate;					/* Added in iTunes 3.0 */
-	
-	UInt16				beatsPerMinute;					/* Added in iTunes 4.0 */
-	UInt16				reserved;						/* Reserved. Must be zero. */		
-};
-typedef struct ITTrackInfo ITTrackInfo;
-
-struct ITStreamInfo {
-	SInt32				version;
-	ITUniStr255			streamTitle;
-	ITUniStr255			streamURL;
-	ITUniStr255			streamMessage;
-};
-typedef struct ITStreamInfo ITStreamInfo;
-
-enum {
-	/* messages sent to plugin main */
-	
-	kPluginInitMessage					= 'init',
-	kPluginCleanupMessage				= 'clr ',
-	kPluginPrepareToQuitMessage			= 'prqt',
-	
-	kPluginIdleMessage					= 'idle',
-	kPluginVolumeMountedMessage			= 'vmnt',
-	kPluginVolumeUnmountedMessage		= 'vunm',
-	kPluginVolumeRenamedMessage			= 'vnam'
-};
-
-
-enum {
-	/* PluginInitMessage.options */
-	
-	kPluginWantsIdleMessages	= (1L << 1),	/* Send idle messages to plugin main */
-	kPluginWantsToBeLeftOpen	= (1L << 2),	/* Don't close this plugin just because it didn't register anyone */
-	kPluginWantsVolumeMessages	= (1L << 3)		/* The plugin wants to be notified when volumes are mounted/unmounted/renamed */
-};
-
-
-enum {
-	/* iTunes API messages */
-
-	kPlayerRegisterVisualPluginMessage	= 'rvis',	/* Register a visual plugin */
-	kPlayerRegisterDevicePluginMessage	= 'rdev',	/* Register a device plugin */
-	
-	/* Available for all plugins */
-
-	kPlayerUnregisterPluginMessage		= 'unrg',	/* Unregister the plugin this comes from */
-	kPlayerIdleMessage					= 'idle',	/* Give iTunes some time */
-	
-	kPlayerShowAboutMessage				= 'abou',	/* Show the about box. */
-	kPlayerOpenURLMessage				= 'url ',	/* Open a URL */
-
-	kPlayerSetPluginDataMessage			= 'sprf',	/* Set plugin preferences */
-	kPlayerGetPluginDataMessage			= 'gprf',	/* Get plugin preferences */
-	
-	kPlayerSetPluginNamedDataMessage	= 'snpr',	/* Set plugin named preferenes */
-	kPlayerGetPluginNamedDataMessage	= 'gnpr',	/* Get plugin named preferenes */
-	
-	kPlayerGetFileTrackInfoMessage		= 'gfti',	/* Query iTunes for information about a file */ 
-	kPlayerSetFileTrackInfoMessage		= 'sfti',	/* Ask iTunes to set information about a file */ 
-	
-	kPlayerGetITTrackInfoSizeMessage	= 'itsz',	/* Query iTunes for the sizeof(ITTrackInfo). This allows newer plugins to correctly workd with older versions of iTunes. */
-
-	kPlayerHandleMacOSEventMessage		= 'evnt',	/* Tell player to handle unhandled event */
-	kPlayerGetPluginITFileSpecMessage	= 'itfs',	/* Get the location of the plugin executable (iTunes 4.1 or later) */
-	
-	/* Available for visual plugins */
-
-	kPlayerSetFullScreenMessage			= 'sful',	/* Set full screen mode */
-	kPlayerSetFullScreenOptionsMessage	= 'sfop',	/* Set full screen options */
-	kPlayerGetCurrentTrackCoverArtMessage = 'covr',	/* Get current player track cover artwork */
-	
-	/* Available for device plugins */
-
-	kPlayerSetDeviceSerialNumberMessage = 'dvsn',	/* Set a serial number string for a device. Needed for per-device prefs */
-	kPlayerRefreshDeviceMediaMessage	= 'refm',	/* Tell iTunes to refresh (enumerate) the contents of a single media module on a device */
-	kPlayerRefreshAllDeviceMediaMessage = 'refa'	/* Tell iTunes to refresh (enumerate) the contents of all media modules on a device */
-};
-
-struct PlayerMessageInfo;
-
-typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo);
-
-
-/*
-	Plugin main Messages
-*/
-
-struct PluginInitMessage {
-	UInt32							majorVersion;			/* Input */
-	UInt32							minorVersion;			/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-	
-	OptionBits						options;				/* Output, see above for values */
-	void *							refCon;					/* Output */
-};
-typedef struct PluginInitMessage PluginInitMessage;
-
-struct PluginVolumeMountedMessage {
-	VOLUME_REFERENCE				vRefNum;				/* Input */
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				volumeName;				/* Input */			
-};
-typedef struct PluginVolumeMountedMessage PluginVolumeMountedMessage;
-
-struct PluginVolumeUnmountedMessage {
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				volumeName;				/* Input */			
-};
-typedef struct PluginVolumeUnmountedMessage PluginVolumeUnmountedMessage;
-
-struct PluginVolumeRenamedMessage {
-	VOLUME_REFERENCE				vRefNum;				/* Input */
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				newVolumeName;			/* Input */			
-};
-typedef struct PluginVolumeRenamedMessage PluginVolumeRenamedMessage;
-
-struct PluginMessageInfo {
-	union {
-		PluginInitMessage				initMessage;
-		PluginVolumeMountedMessage		volumeMountedMessage;
-		PluginVolumeUnmountedMessage	volumeUnmountedMessage;
-		PluginVolumeRenamedMessage		volumeRenamedMessage;
-	} u;
-};
-typedef struct PluginMessageInfo PluginMessageInfo;
-
-struct VisualPluginMessageInfo;
-struct DevicePluginMessageInfo;
-
-/* Plugin main entry point message handler */
-typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon);
-
-/* Visual plugin message handler */
-typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon);
-
-/* Device plugin message handler */
-typedef OSStatus (*DevicePluginProcPtr)(OSType message, struct DevicePluginMessageInfo *messageInfo, void *refCon);
-
-
-
-/*
-	Callbacks to iTunes
-*/
-
-enum {
-	/* PlayerRegisterVisualPluginMessage.options */
-	
-	kVisualWantsIdleMessages			= (1L << 3),
-	kVisualWantsConfigure				= (1L << 5)
-};
-
-struct PlayerRegisterVisualPluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Displayed in the Visual menu */
-	OptionBits						options;					/* See above */
-	
-	OSType							creator;					/* Identifies the plugin */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	VisualPluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-
-	UInt32							timeBetweenDataInMS;		/* How often to call the plugin (0xFFFFFFFF = as often as possible) */
-	UInt32							numWaveformChannels;		/* 0-2 waveforms requested */
-	UInt32							numSpectrumChannels;		/* 0-2 spectrums requested */
-	
-	SInt16							minWidth;					/* Minimum resizeable width */
-	SInt16							minHeight;					/* Minimum resizeable height */
-	
-	SInt16							maxWidth;					/* Maximum resizeable width */
-	SInt16							maxHeight;					/* Maximum resizeable height */
-		
-	UInt16							minFullScreenBitDepth;		/* 0 = Any */
-	UInt16							maxFullScreenBitDepth;		/* 0 = Any */
-	
-	UInt16							windowAlignmentInBytes;		/* Reserved (should be zero) */
-};
-typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage;
-
-enum {
-	/* PlayerRegisterDevicePluginMessage.options */
-	
-	kDeviceWantsIdleMessages = (1L << 0)
-};
-
-struct PlayerRegisterDevicePluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Used internally. Not currently displayed */
-	OptionBits						options;					/* See above */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	DevicePluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-	
-	UInt32							reserved[2];				/* Must be zero */
-};
-typedef struct PlayerRegisterDevicePluginMessage PlayerRegisterDevicePluginMessage;
-
-struct PlayerSetFullScreenMessage {
-	Boolean							fullScreen;
-};
-typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage;
-
-struct PlayerSetFullScreenOptionsMessage {
-	SInt16							minBitDepth;				/* 0 = Any */
-	SInt16							maxBitDepth;				/* 0 = Any */
-	SInt16							preferredBitDepth;			/* 0 = Current */
-	
-	SInt16							desiredWidth;				/* Must be within minWidth & maxWidth */
-	SInt16							desiredHeight;				/* Must be within minHeight & maxHeight */
-};
-typedef struct PlayerSetFullScreenOptionsMessage PlayerSetFullScreenOptionsMessage;
-
-struct PlayerGetCurrentTrackCoverArtMessage {
-	Handle						coverArt;		/* output - client must dispose */
-	OSType						coverArtFormat;	/* output - format of cover art */
-};
-typedef struct PlayerGetCurrentTrackCoverArtMessage PlayerGetCurrentTrackCoverArtMessage;
-
-struct PlayerOpenURLMessage {
-	SInt8 *							url;
-	UInt32							length;
-};
-typedef struct PlayerOpenURLMessage PlayerOpenURLMessage;
-
-struct PlayerSetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage;
-
-struct PlayerGetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage;
-
-struct PlayerSetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage;
-
-struct PlayerGetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage;
-
-struct PlayerHandleMacOSEventMessage {
-	const EventRecord *				theEvent;		/* Input */
-	
-	Boolean							handled;		/* Output */
-};
-typedef struct PlayerHandleMacOSEventMessage PlayerHandleMacOSEventMessage;
-
-
-
-/* struct PlayerGetPluginFileSpecMessage {
-	FSSpec *						fileSpec;		// Output
-};
-*/
-/* typedef struct PlayerGetPluginFileSpecMessage PlayerGetPluginFileSpecMessage; */
-
-
-struct PlayerGetPluginITFileSpecMessage {
-	ITFileSpec *					fileSpec;		/* Output */
-};
-typedef struct PlayerGetPluginITFileSpecMessage PlayerGetPluginITFileSpecMessage;
-
-
-struct PlayerSetDeviceSerialNumberMessage {
-	ConstStringPtr					serialNumber;	/* Input */
-};
-typedef struct PlayerSetDeviceSerialNumberMessage PlayerSetDeviceSerialNumberMessage;
-
-struct PlayerRefreshDeviceMediaMessage {
-	ITDeviceMediaID					mediaID;		/* Input */
-};
-typedef struct PlayerRefreshDeviceMediaMessage PlayerRefreshDeviceMediaMessage;
-
-struct PlayerGetFileTrackInfoMessage {
-	const ITFileSpec *				fileSpec;		/* Input */
-	ITTrackInfo *					trackInfo;		/* Output */
-};
-typedef struct PlayerGetFileTrackInfoMessage PlayerGetFileTrackInfoMessage;
-
-struct PlayerSetFileTrackInfoMessage {
-	const ITFileSpec *				fileSpec;		/* Input */
-	const ITTrackInfo *				trackInfo;		/* Input */
-};
-typedef struct PlayerSetFileTrackInfoMessage PlayerSetFileTrackInfoMessage;
-
-struct PlayerGetITTrackInfoSizeMessage {
-	UInt32							itTrackInfoSize;	/* Output */
-};
-typedef struct PlayerGetITTrackInfoSizeMessage PlayerGetITTrackInfoSizeMessage;
-
-struct PlayerMessageInfo {
-	UInt32									messageMajorVersion;		/* Should be kITCurrentPluginMajorMessageVersion */
-	UInt32									messageMinorVersion;		/* Should be kITCurrentPluginMinorMessageVersion */
-	UInt32									messageInfoSize;			/* Should be sizeof(PlayerMessageInfo) */
-	
-	union {
-		PlayerRegisterVisualPluginMessage	registerVisualPluginMessage;
-		PlayerRegisterDevicePluginMessage	registerDevicePluginMessage;
-
-		PlayerOpenURLMessage				openURLMessage;
-		
-		PlayerSetPluginDataMessage			setPluginDataMessage;
-		PlayerGetPluginDataMessage			getPluginDataMessage;
-		
-		PlayerSetPluginNamedDataMessage		setPluginNamedDataMessage;
-		PlayerGetPluginNamedDataMessage		getPluginNamedDataMessage;
-		
-		PlayerSetFullScreenMessage				setFullScreenMessage;
-		PlayerSetFullScreenOptionsMessage		setFullScreenOptionsMessage;
-		PlayerGetCurrentTrackCoverArtMessage	getCurrentTrackCoverArtMessage;
-		
-		PlayerSetDeviceSerialNumberMessage	setDeviceSerialNumberMessage;
-		PlayerRefreshDeviceMediaMessage		refreshDeviceMediaMessage;
-		
-		PlayerGetFileTrackInfoMessage		getFileTrackInfoMessage;
-		PlayerSetFileTrackInfoMessage		setFileTrackInfoMessage;
-		PlayerGetITTrackInfoSizeMessage		getITTrackInfoSizeMessage;
-
-		PlayerHandleMacOSEventMessage		handleMacOSEventMessage;
-
-					/* PlayerGetPluginFileSpecMessage		getPluginFileSpecMessage; */
-
-		PlayerGetPluginITFileSpecMessage	getPluginITFileSpecMessage;
-	} u;
-};
-typedef struct PlayerMessageInfo PlayerMessageInfo;
-
-extern OSStatus ITCallApplication (void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo);
-extern void		SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev);
-
-
-/* for use from plugin main */
-
-extern OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-
-/* For all plugins */
-
-extern OSStatus	PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-extern OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc);
-
-extern void		PlayerShowAbout (void *appCookie, ITAppProcPtr appProc);
-extern void		PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length);
-
-extern OSStatus	PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus	PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus	PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo);
-extern OSStatus	PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo);
-
-extern OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize);
-
-extern OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled);
-
-extern OSStatus	PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec);
-
-/* For visual plugins */
-
-extern OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen);
-extern OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight);
-extern OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat);
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ITUNESAPI_H_ */
diff --git a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h b/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h
deleted file mode 100644
index 22f291b..0000000
--- a/src/projectM-iTunes-VizKit/source/iTunesVisualAPI/iTunesVisualAPI.h
+++ /dev/null
@@ -1,333 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: iTunesVisualAPI.h
- *
- */
-
-
-/*
-	File:		iTunesVisualAPI.h
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under Appleís
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-#ifndef ITUNESVISUALAPI_H_
-#define ITUNESVISUALAPI_H_
-
-/*
-	modified for cross-platform (mac/win) operation
-	20040509 (HW)
-*/
-
-
-#ifndef GRAPHICS_DEVICE
-	#if TARGET_OS_WIN
-		#define GRAPHICS_DEVICE	HWND
-	#endif
-	#if TARGET_OS_MAC
-		#define GRAPHICS_DEVICE	CGrafPtr
-	#endif
-#endif
-
-#if TARGET_OS_WIN
-	#include <QT/Sound.h>
-#endif
-
-#include "iTunesAPI.h"
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 4)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(4)
-#endif
-
-struct ITTrackInfoV1 {
-	ITTIFieldMask		validFields;
-	UInt32				reserved;						/* Must be zero */
-	
-	Str255				name;	
-	Str255				fileName;
-	Str255				artist;
-	Str255				album;
-		
-	Str255				genre;
-	Str255				kind;
-	
-	UInt32				trackNumber;
-	UInt32				numTracks;
-		
-	UInt16				year;
-	SInt16				soundVolumeAdjustment;			/* Valid range is -255 to +255 */
-	
-	Str255				eqPresetName;
-	Str255				comments;
-	
-	UInt32				totalTimeInMS;
-	UInt32				startTimeInMS;
-	UInt32				stopTimeInMS;
-
-	UInt32				sizeInBytes;
-
-	UInt32				bitRate;
-	UInt32				sampleRateFixed;
-
-	OSType				fileType;
-	
-	UInt32				date;
-	UInt32				unusedReserved2;				/* Must be zero */
-	
-	ITTrackAttributes	attributes;
-	ITTrackAttributes	validAttributes;				/* Mask indicating which attributes are applicable */
-
-	OSType				fileCreator;
-};
-typedef struct ITTrackInfoV1 ITTrackInfoV1;
-
-enum {
-	kCurrentITStreamInfoVersion = 1
-};
-
-struct ITStreamInfoV1 {
-	SInt32				version;
-	Str255				streamTitle;
-	Str255				streamURL;
-	Str255				streamMessage;
-};
-typedef struct ITStreamInfoV1 ITStreamInfoV1;
-
-
-enum {
-	kITVisualPluginMajorMessageVersion = 10,
-	kITVisualPluginMinorMessageVersion = 5
-};
-
-enum {
-	/* VisualPlugin messages */
-	
-	kVisualPluginIdleMessage			= 'null',
-
-	kVisualPluginInitMessage			= 'init',
-	kVisualPluginCleanupMessage			= 'clr ',
-	
-	kVisualPluginConfigureMessage		= 'cnfg',	/* Configure the plugin (may not be enabled) */
-	
-	kVisualPluginEnableMessage			= 'von ',	/* Turn on the module (automatic)*/
-	kVisualPluginDisableMessage			= 'voff',	/* Turn off the module */
-	
-	kVisualPluginShowWindowMessage		= 'show',	/* Show the plugin window (allocate large memory here!) */
-	kVisualPluginHideWindowMessage		= 'hide',	/* Hide the plugin window (deallocate large memory here!) */
-		
-	kVisualPluginSetWindowMessage		= 'swin',	/* Change the window parameters */
-
-	kVisualPluginRenderMessage			= 'vrnd',	/* Render to window */
-	
-	kVisualPluginUpdateMessage			= 'vupd',	/* Update the window */
-	
-	kVisualPluginPlayMessage			= 'vply',	/* Playing a track */
-	kVisualPluginChangeTrackMessage		= 'ctrk',	/* Change track (for CD continuous play) */
-	kVisualPluginStopMessage			= 'vstp',	/* Stopping a track */
-	kVisualPluginSetPositionMessage		= 'setp',	/* Setting the position of a track */
-	
-	kVisualPluginPauseMessage			= 'vpau',	/* Pausing a track (unused - Pause is stop) */
-	kVisualPluginUnpauseMessage			= 'vunp',	/* Unpausing a track (unused - Pause is stop) */
-	
-	kVisualPluginEventMessage			= 'vevt',	/* Mac-event. */
-	
-	kVisualPluginDisplayChangedMessage	= 'dchn'	/* Something about display state changed */
-};
-
-/*
-	VisualPlugin messages
-*/
-
-enum {
-	kVisualMaxDataChannels		= 2,
-	kVisualNumWaveformEntries	= 512,
-	kVisualNumSpectrumEntries	= 512
-};
-
-enum {
-	/* Set/ShowWindow options */
-	
-	kWindowIsFullScreen = (1L << 0),
-	kWindowIsStretched	= (1L << 1)
-};
-
-struct RenderVisualData {
-	UInt8							numWaveformChannels;
-	UInt8							waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries];
-	
-	UInt8							numSpectrumChannels;
-	UInt8							spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries];
-};
-typedef struct RenderVisualData RenderVisualData;
-
-struct VisualPluginInitMessage {
-	UInt32							messageMajorVersion;	/* Input */
-	UInt32							messageMinorVersion;	/* Input */
-	NumVersion						appVersion;				/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-
-	OptionBits						options;				/* Output */
-	void *							refCon;					/* Output */
-};
-typedef struct VisualPluginInitMessage VisualPluginInitMessage;
-
-struct VisualPluginShowWindowMessage {
-#if TARGET_OS_WIN
-	GRAPHICS_DEVICE					window;					/* Input */
-#endif
-#if TARGET_OS_MAC
-	GRAPHICS_DEVICE					port;					/* Input */
-#endif
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginShowWindowMessage VisualPluginShowWindowMessage;
-
-struct VisualPluginSetWindowMessage {
-#if TARGET_OS_WIN
-	GRAPHICS_DEVICE					window;					/* Input */
-#endif
-#if TARGET_OS_MAC
-	GRAPHICS_DEVICE					port;					/* Input */
-#endif
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginSetWindowMessage VisualPluginSetWindowMessage;
-
-struct VisualPluginPlayMessage {
-	ITTrackInfoV1 *					trackInfo;				/* Input */
-	ITStreamInfoV1 *				streamInfo;				/* Input */
-	SInt32                          volume;					/* Input */
-	
-	UInt32                          bitRate;				/* Input */
-	
-	SoundComponentData				soundFormat;			/* Input */
-	ITTrackInfo *					trackInfoUnicode;		/* Input */
-	ITStreamInfo *					streamInfoUnicode;		/* Input */
-};
-typedef struct VisualPluginPlayMessage VisualPluginPlayMessage;
-
-struct VisualPluginChangeTrackMessage {
-	ITTrackInfoV1 *					trackInfo;				/* Input */
-	ITStreamInfoV1 *				streamInfo;				/* Input */
-	ITTrackInfo *					trackInfoUnicode;		/* Input */
-	ITStreamInfo *					streamInfoUnicode;		/* Input */
-};
-typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage;
-
-struct VisualPluginRenderMessage {
-	RenderVisualData *				renderData;				/* Input */
-	UInt32							timeStampID;			/* Input */
-	UInt32							currentPositionInMS;	/* Input -- added in 4.7 */
-};
-typedef struct VisualPluginRenderMessage VisualPluginRenderMessage;
-
-struct VisualPluginSetPositionMessage {
-	UInt32							positionTimeInMS;		/* Input */
-};
-typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage;
-
-enum {
-	kVisualDisplayDepthChanged 	= 1 << 0,					/* the display's depth has changed */
-	kVisualDisplayRectChanged	= 1 << 1,					/* the display's location changed */
-	kVisualWindowMovedMoved 	= 1 << 2					/* the window has moved location */	
-};
-
-
-    
-struct VisualPluginEventMessage {
-    EventRecord *					event;					/* Input */
-};
-typedef struct VisualPluginEventMessage VisualPluginEventMessage;
-
-#if TARGET_OS_WIN
-struct VisualPluginDisplayChangedMessage {
-        UInt32							flags;		/* Input */
-};
-typedef struct VisualPluginDisplayChangedMessage VisualPluginDisplayChangedMessage;
-#endif
-
-struct VisualPluginMessageInfo {
-	union {
-		VisualPluginInitMessage				initMessage;
-		VisualPluginShowWindowMessage		showWindowMessage;
-		VisualPluginSetWindowMessage		setWindowMessage;
-		VisualPluginPlayMessage				playMessage;
-		VisualPluginChangeTrackMessage		changeTrackMessage;
-		VisualPluginRenderMessage			renderMessage;
-		VisualPluginSetPositionMessage		setPositionMessage;
-        VisualPluginEventMessage			eventMessage;
-#if TARGET_OS_WIN
-		VisualPluginDisplayChangedMessage	displayChangedMessage;
-#endif
-	} u;
-};
-typedef struct VisualPluginMessageInfo VisualPluginMessageInfo;
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ITUNESVISUALAPI_H_ */
diff --git a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h
deleted file mode 100644
index 7553d97..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CocoaStringTexture.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-
-#import <Foundation/Foundation.h>
-#import <AppKit/AppKit.h>
-
-
-
-/* CocoaStringTexture generates a string texture by means of Cocoa framework. */
-
-/**
- * Initializes the Cocoa graphics engine for the Carbon app.
- * NSApplicationLoad() is called. Without call of NSApplicationLoad() Cocoa graphics will not be generated.
- * The Cocoa documentation explains about NSApplicationLoad(): 
- * "Startup function to call when running Cocoa code from a Carbon application.
- * You typically call this before calling other Cocoa code in a Plug-in loaded into a primarily Carbon application."
- * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default.
- */
-__attribute__((visibility("default")))
-OSStatus initCocoaForCarbonBundle(void);
-
-/**
- * Returns the dimensions (width and height in pixels) of an ARGB bitmap of a styled string.
- * @param stringValue The string value that should be converted into a texture.
- * @param[out] bitmapWidth The width of the string (in pixels).
- * @param[out] bitmapHeight The height of the string (in pixels).
- * @param fontNameStr The name of the font.
- * @param[in,out] fontSize The font size.\ On return the fontSize is set and with regard to the optional contraints maxPixelWidth and maxPixelHeight.
- * @param red The red color component of the text font.
- * @param green The green color component of the text font.
- * @param blue The blue color component of the text font.
- * @param maxPixelWidth The requested maximum width of the texture.\ If 0 the argument is ignored.
- * @param maxPixelHeight The requested maximum height of the texture.\ If 0 the argument is ignored.
- * @param alignment The horizontal alignment of the string.\ Possible values: left, center, right.
- * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default.
-*/
-__attribute__((visibility("default")))
-OSStatus getDimensionsOfStringBitmap(CFStringRef stringValue, UInt32* bitmapWidth, UInt32* bitmapHeight, const char* const fontNameStr, float* fontSize, float red, float green, float blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, const char* const alignment);
-
-/**
- * Writes ARGB pixel bitmap data into provided buffer.
- * @param stringValue The string value that should be converted into a texture.
- * @param bitmapWidth The width of the bitmap (in pixels).\ The size of the bitmap can be different from the exact size of the string so that it may fit for a power-of-2 texture.
- * @param bitmapHeight The height of the bitmap (in pixels).\ The size of the bitmap can be different from the exact size of the string so that it may fit for a power-of-2 texture.
- * @param fontNameStr The name of the font.
- * @param fontSize The font size.
- * @param red The red color component of the text font.
- * @param green The green color component of the text font.
- * @param blue The blue color component of the text font.
- * @param maxPixelWidth The requested maximum width of the texture.\ If 0 the argument is ignored.
- * @param maxPixelHeight The requested maximum height of the texture.\ If 0 the argument is ignored.
- * @param alignment The horizontal alignment of the string.\ Possible values: left, center, right.
- * @param[out] bitmapOut Pointer to pointer to the buffer into which the pixel bitmap data is written.
- * @remarks The bitmapOut buffer is assumed to have allocated sufficient memory.\ To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default.
-*/
-__attribute__((visibility("default")))
-OSStatus getStringBitmapData(CFStringRef stringValue, UInt32 bitmapWidth, UInt32 bitmapHeight, const char* const fontNameStr, float fontSize, float red, float green, float blue, const char* const alignment, UInt32** bitmapOut);
-
-/**
- * Prints a CFString to log.
- * @param aString The string that is to be printed.
- * @remarks To access the function with CFBundleGetFunctionPointerForName() the visibility is set to default.
- */
-__attribute__((visibility("default")))
-void logCFString(CFStringRef aString);
-
diff --git a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m b/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m
deleted file mode 100644
index 77e5513..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/CocoaStringTexture.m
+++ /dev/null
@@ -1,454 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: CocoaStringTexture.m
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#import "CocoaStringTexture.h"
-
-#import <mach-o/dyld.h>
-
-#include "VisualDispatch.h"
-
-
-CGContextRef CreateBitmapContext( int inWidth, int inHeight, void ** outBitmap );
-
-__private_extern__ BOOL fontIsAvailable(NSString* fontName);
-__private_extern__ OSStatus activateFont(NSString* fontName);
-
-
-OSStatus initCocoaForCarbonBundle() {
-
-	BOOL appLoadVal;
-	
-	appLoadVal = NSApplicationLoad();
-	if (appLoadVal == NO) {
-		NSLog (@"NSApplicationLoad failed\n");
-	}
-
-    return noErr;
-}
-
-
-BOOL fontIsAvailable(NSString* fontName) {
-
-	BOOL fontIsActive = NO;
-
-	NSString* fontNameStr;
-	NSArray* fontArray;
-	NSEnumerator* e;
-
-	NSFontManager* fontManager = [NSFontManager sharedFontManager];
-
-	fontArray = [fontManager availableFonts];
-	e = [fontArray objectEnumerator];
-	while ((fontNameStr = [e nextObject])) {
-		if ([fontNameStr isEqualToString:fontName]) {
-			fontIsActive = YES;
-		}
-		/* NSLog(fontNameStr); */
-	}
-
-	return fontIsActive;
-
-}
-
-
-OSStatus activateFont(NSString* fontName) {
-
-	OSStatus status = noErr;
-	OSErr err = noErr;
-	
-	BOOL fontIsActive = NO;
-
-	NSString* fontNameStr;
-	NSArray* fontArray;
-	NSEnumerator* e;
-
-	NSFontManager* fontManager = [NSFontManager sharedFontManager];
-
-	fontArray = [fontManager availableFonts];
-	e = [fontArray objectEnumerator];
-	while ((fontNameStr = [e nextObject])) {
-		if ([fontNameStr isEqualToString:fontName]) {
-			fontIsActive = YES;
-		}
-	}
-
-	if (fontIsActive == NO) {
-		/* assume Font is available as resource of bundle */
-		FSRef fsRef;
-		FSSpec fsSpec;
-		NSBundle* appBundle = [NSBundle bundleWithIdentifier:[NSString stringWithCString:getVisualPluginDomainIdentifier()]];
-		/* NSString * fontsPath = [[appBundle resourcePath] stringByAppendingPathComponent:fontName]; */
-		NSString* fontsPath = [appBundle resourcePath];
-		status = FSPathMakeRef((UInt8 *)[fontsPath UTF8String], &fsRef, NULL);
-		if (status == noErr) {
-			err = FSGetCatalogInfo(&fsRef, kFSCatInfoNone, NULL, NULL, &fsSpec, NULL);
-		}
-		if (err == noErr) {
-			ATSFontContainerRef anATSFontContainerRef;
-			status = ATSFontActivateFromFileSpecification(&fsSpec, kATSFontContextLocal, kATSFontFormatUnspecified, NULL, kATSOptionFlagsDefault, &anATSFontContainerRef);
-		} else {
-			status = 1000;
-		}
-	}
-
-	return status;
-
-}
-
-
-OSStatus getDimensionsOfStringBitmap(CFStringRef stringValue, UInt32* imageWidth, UInt32* imageHeight, const char* const fontNameStr, float* fontSize, float red, float green, float blue, UInt16 maxPixelWidth, UInt16 maxPixelHeight, const char* const alignment) {
-
-	NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init];
-	
-	NSString* aFontNameStr;
-	OSStatus err;
-	
-	NSColor* textColor;
-	NSColor* boxColor;
-	NSColor* borderColor;
-	NSSize marginSize;
-	NSSize frameSize;
-	
-	NSMutableAttributedString* theAttributedString;
-	NSMutableDictionary* fontAttribs;
-
-	BOOL theFontIsAvailable;
-	NSGraphicsContext* context = NULL;
-	
-	context = [NSGraphicsContext currentContext];
-	[context saveGraphicsState];
-	
-	aFontNameStr = [[NSString alloc] initWithCStringNoCopy:(char*)fontNameStr length:strlen(fontNameStr) freeWhenDone:NO];
-	
-	theFontIsAvailable = fontIsAvailable(aFontNameStr);
-
-	if (theFontIsAvailable == NO) {
-		/* if the font is not available we will load it as private resource of our bundle */
-		err = activateFont(aFontNameStr);
-		if (err != noErr) {
-			return 1000;
-		} else {
-			BOOL fontIsActive = NO;
-			NSString* fontName;
-			NSArray* fontArray;
-			NSEnumerator* e;
-
-			NSFontManager* fontManager = [NSFontManager sharedFontManager];
-
-			fontArray = [fontManager availableFonts];
-			e = [fontArray objectEnumerator];
-			while ((fontName = [e nextObject])) {
-				if ([fontName isEqualToString:aFontNameStr]) {
-					fontIsActive = YES;
-				}
-			}
-			if (fontIsActive == NO) {
-				/* default fallback font */
-				//[aFontNameStr release];
-				//aFontNameStr = [[NSString alloc] initWithCStringNoCopy:"Lucida Grande" length:strlen("Lucida Grande") freeWhenDone:NO];
-			}
-		}
-	}
-	
-    fontAttribs = [NSMutableDictionary dictionary];
-	[fontAttribs setObject: [NSFont fontWithName:aFontNameStr size: *fontSize] forKey:NSFontAttributeName];
-	[fontAttribs setObject: [NSColor colorWithDeviceRed:red green:green blue:blue alpha:1.0f] forKey: NSForegroundColorAttributeName];
-
-	theAttributedString = [[NSMutableAttributedString alloc] initWithString:(NSString*)stringValue attributes:fontAttribs];
-	
-	frameSize = [theAttributedString size];
-	if (maxPixelWidth > 0 && maxPixelHeight > 0) {
-		while ((frameSize.width > (float)maxPixelWidth) || (frameSize.height > (float)maxPixelHeight)) {
-			*fontSize -= 0.1f;
-			[fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:*fontSize] forKey:NSFontAttributeName];
-			[theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])];
-			frameSize = [theAttributedString size];
-		}
-	} else if (maxPixelWidth > 0) {
-		while (frameSize.width > (float)maxPixelWidth) {
-			*fontSize -= 0.1f;
-			[fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:*fontSize] forKey:NSFontAttributeName];
-			[theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])];
-			frameSize = [theAttributedString size];
-		}
-	} else if (maxPixelHeight > 0) {
-		while (frameSize.height > (float)maxPixelHeight) {
-			*fontSize -= 0.1f;
-			[fontAttribs setObject: [NSFont fontWithName:aFontNameStr size:*fontSize] forKey:NSFontAttributeName];
-			[theAttributedString setAttributes:fontAttribs range:NSMakeRange(0, [theAttributedString length])];
-			frameSize = [theAttributedString size];
-		}
-	}
-	
-	if (strcmp(alignment, "left") == 0) {
-		[theAttributedString setAlignment:NSLeftTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	} else if (strcmp(alignment, "center") == 0) {
-		[theAttributedString setAlignment:NSCenterTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	} else if (strcmp(alignment, "right") == 0) {
-		[theAttributedString setAlignment:NSRightTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	}
-	
-	textColor = [NSColor colorWithDeviceRed:red green:green blue:blue alpha:1.0f];
-	boxColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
-	borderColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
-
-	marginSize.width = 4.0f;
-	marginSize.height = 4.0f;
-
-	frameSize = [theAttributedString size];
-	frameSize.width += marginSize.width * 2.0f;
-	frameSize.height += marginSize.height * 2.0f;
-
-	*imageWidth = (UInt16)frameSize.width;
-	*imageHeight = (UInt16)frameSize.height;
-
-    [theAttributedString release];
-
-	[aFontNameStr release];
-	
-	[context restoreGraphicsState];
-
-    [localPool release];
-
-    return noErr;
-}
-
-
-OSStatus getStringBitmapData(CFStringRef stringValue, UInt32 bitmapWidth, UInt32 bitmapHeight, const char* const fontNameStr, float fontSize, float red, float green, float blue, const char* const alignment, UInt32** bitmapOut) {
-
-	NSAutoreleasePool* localPool = [[NSAutoreleasePool alloc] init];
-	
-	NSString* aFontNameStr;
-	OSStatus err;
-	
-	NSColor* textColor;
-	NSColor* boxColor;
-	NSColor* borderColor;
-	NSSize frameSize;
-	
-	NSMutableAttributedString* theAttributedString;
-	NSMutableDictionary* fontAttribs;
-
-	NSImage* image;
-	NSBitmapImageRep* bitmap;
-	unsigned int bytesPerRow, bitsPerPixel, i;
-	UInt32* from;
-	UInt32* to;
-	BOOL hasAlpha;
-	BOOL theFontIsAvailable;
-	NSGraphicsContext* context = NULL;
-	
-	context = [NSGraphicsContext currentContext];
-	[context saveGraphicsState];
-	
-	aFontNameStr = [[NSString alloc] initWithCStringNoCopy:(char*)fontNameStr length:strlen(fontNameStr) freeWhenDone:NO];
-	
-	theFontIsAvailable = fontIsAvailable(aFontNameStr);
-
-	if (theFontIsAvailable == NO) {
-		/* if the font is not available we will load it as private resource of our bundle */
-		err = activateFont(aFontNameStr);
-		if (err != noErr) {
-			return 1001;
-		} else {
-			BOOL fontIsActive = NO;
-			NSString* fontName;
-			NSArray* fontArray;
-			NSEnumerator* e;
-
-			NSFontManager* fontManager = [NSFontManager sharedFontManager];
-
-			fontArray = [fontManager availableFonts];
-			e = [fontArray objectEnumerator];
-			while ((fontName = [e nextObject])) {
-				if ([fontName isEqualToString:aFontNameStr]) {
-					fontIsActive = YES;
-				}
-			}
-			if (fontIsActive == NO) {
-				/* default fallback font */
-				//[aFontNameStr release];
-				//aFontNameStr = [[NSString alloc] initWithCStringNoCopy:"Lucida Grande" length:strlen("Lucida Grande") freeWhenDone:NO];
-			}
-		}
-	}
-	
-    fontAttribs = [NSMutableDictionary dictionary];
-	[fontAttribs setObject: [NSFont fontWithName:aFontNameStr size: fontSize] forKey:NSFontAttributeName];
-	[fontAttribs setObject: [NSColor colorWithDeviceRed:red green:green blue:blue alpha:1.0f] forKey: NSForegroundColorAttributeName];
-	/*
-	//colorWithAlphaComponent
-	// CGImageCreate
-	// kCGImageAlphaPremultipliedFirst
-	// CGContextSetShouldSmoothFonts
-	
-	// http: //www.idevgames.com/forum/archive/index.php/t-5750.html (CGImageCreate)
-	
-	//http: //www.idevgames.com/forum/archive/index.php/t-7560.html
-	*/
-
-	theAttributedString = [[NSMutableAttributedString alloc] initWithString:(NSString*)stringValue attributes:fontAttribs];
-	
-	if (strcmp(alignment, "left") == 0) {
-		[theAttributedString setAlignment:NSLeftTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	} else if (strcmp(alignment, "center") == 0) {
-		[theAttributedString setAlignment:NSCenterTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	} else if (strcmp(alignment, "right") == 0) {
-		[theAttributedString setAlignment:NSRightTextAlignment range:NSMakeRange(0, [theAttributedString length])];
-	}
-	
-	textColor = [NSColor colorWithDeviceRed:red green:green blue:blue alpha:1.0f];
-	boxColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
-	borderColor = [NSColor colorWithDeviceRed:0.0f green:0.0f blue:0.0f alpha:0.0f];
-
-	frameSize.width = (float)bitmapWidth;
-	frameSize.height = (float)bitmapHeight;
-	
-	image = [[NSImage alloc] initWithSize:frameSize];
-	
-	[image setCacheMode:NSImageCacheNever];
-	
-NS_DURING
-		[image lockFocus];
-NS_HANDLER
-		NSLog(@"Exception thrown in createStringBitmap (NSImage lockFocus)");
-		[image release];
-		[theAttributedString release];
-		[aFontNameStr release];
-		[context restoreGraphicsState];
-		[localPool release];
-		return 1002;
-NS_ENDHANDLER
-	
-	[boxColor set];
-	NSRectFill(NSMakeRect (0.0f, 0.0f, frameSize.width, frameSize.height));
-
-	/* [borderColor set]; 
-	NSFrameRect (NSMakeRect (0.0f, 0.0f, frameSize.width, frameSize.height));
-	[textColor set];
-	*/
-	
-	float imageWidth = [theAttributedString size].width;
-	float imageHeight = [theAttributedString size].height;
-	[theAttributedString drawInRect:NSMakeRect(0.0f, 0.0f, imageWidth, imageHeight)];
-	
-	bitmap = [[NSBitmapImageRep alloc] initWithFocusedViewRect:NSMakeRect(0.0f, 0.0f, frameSize.width, frameSize.height)];
-
-	[image unlockFocus];
-
-	/* colorSpaceName:NSCalibratedRGBColorSpace, NSDeviceRGBColorSpace */
-	bytesPerRow = [bitmap bytesPerRow];
-	bitsPerPixel = [bitmap bitsPerPixel];
-	hasAlpha = [bitmap hasAlpha];
-	/* flip image */
-	from = (UInt32*)[bitmap bitmapData];
-	to = *bitmapOut;
-	for (i = 0; i < bitmapHeight; i++) {
-		memcpy((to + (bytesPerRow / 4) * (bitmapHeight - i - 1)), (from + (bytesPerRow / 4) * i), bytesPerRow);
-	}
-	
-	[bitmap release];
-	[image release];
-
-    [theAttributedString release];
-
-	[aFontNameStr release];
-	
-	[context restoreGraphicsState];
-
-    [localPool release];
-
-    return noErr;
-}
-
-
-void logCFString(CFStringRef aString) {
-	NSLog(@"\"%@\"", (NSString*)aString);
-}
-
-
-CGContextRef CreateBitmapContext( int inWidth, int inHeight, void ** outBitmap )
-{
-    CGContextRef    context = NULL;
-    CGColorSpaceRef colorSpace;
-    void *          bitmapData;
-    int             bitmapByteCount;
-    int             bitmapBytesPerRow;
-
-    /* each pixel is represented by four bytes
-    // (8 bits each of R, G, B, and alpha)
-	*/
-    bitmapBytesPerRow   = (inWidth * 4);
-    bitmapByteCount     = (bitmapBytesPerRow * inHeight);
-
-    /* create an RGB color space */
-    colorSpace = CGColorSpaceCreateDeviceRGB();
-
-    /* create the bitmap */
-    bitmapData = malloc( bitmapByteCount );
-    if( bitmapData != NULL )
-    {
-
-        /* create the context */
-        context = CGBitmapContextCreate(    bitmapData,
-                                            inWidth,
-                                            inHeight,
-                                            8,              /* bits per component */
-                                            bitmapBytesPerRow,
-                                            colorSpace,
-                                            kCGImageAlphaPremultipliedLast);
-
-        if( context != NULL )
-        {
-            /* Return the bitmap to the caller */
-            /* so it can later be freed */
-            if( outBitmap != NULL )
-            {
-                *outBitmap = bitmapData;
-            }
-        }
-        else
-        {
-            /* the context couldnt be created for some reason,
-				and we have no use for the bitmap without the context */
-            free( bitmapData );
-        }
-    }
-
-    /* the context retains the color space, so we can release it */
-    CGColorSpaceRelease( colorSpace );
-
-    return context;
-}
diff --git a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp
deleted file mode 100644
index bd1d301..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.cpp
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: OptionsDialog.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "OptionsDialog.h"
-#include "VisualErrorHandling.h"
-#include "VisualGraphics.h"
-#include "VisualConfiguration.h"
-#include "VisualDataStore.h"
-#include "VisualNotification.h"
-
-
-using namespace VizKit;
-
-
-OptionsDialog* OptionsDialog::theOptionsDialog = NULL;  // singleton
-
-
-const OSType OptionsDialog::signatureOfOptionsDialog = 'vizK';
-
-const SInt32 OptionsDialog::displayResolutionMenuId = 6;
-const ControlID OptionsDialog::displayResolutionMenuControlID = {signatureOfOptionsDialog, displayResolutionMenuId};
-
-const SInt32 OptionsDialog::tabControlId = 128;
-const SInt32 OptionsDialog::aboutTabPaneId = 129;
-const SInt32 OptionsDialog::displayResolutionTabPaneId = 130;
-const ControlID OptionsDialog::tabControlID = {signatureOfOptionsDialog, tabControlId};
-
-const EventTypeSpec OptionsDialog::controlHitEvent = {kEventClassControl, kEventControlHit};
-const EventTypeSpec OptionsDialog::windowCloseEvent = {kEventClassWindow, kEventWindowClose};
-
-
-static pascal OSStatus optionsDialogControlHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData) {
-	OptionsDialog* theOptionsDialog;
-	theOptionsDialog = OptionsDialog::getOptionsDialog();
-	theOptionsDialog->handleEvent(inRef, inEvent, userData);
-    return noErr;
-}
-
-
-static pascal OSStatus optionsDialogWindowHandler(EventHandlerCallRef inRef, EventRef inEvent, void* userData) {
-	OptionsDialog* theOptionsDialog;
-	theOptionsDialog = OptionsDialog::getOptionsDialog();
-	theOptionsDialog->handleEvent(inRef, inEvent, userData);
-	return noErr;
-}
-
-
-void OptionsDialog::dispose() {
-	if (theOptionsDialog != NULL) {
-		DisposeMenu(theOptionsDialog->displayResolutionMenu);
-		if (theOptionsDialog->optionsDialogWindow != NULL) {
-			DisposeEventHandlerUPP(optionsDialogControlHandler);
-			DisposeEventHandlerUPP(optionsDialogWindowHandler);
-			DisposeWindow(theOptionsDialog->optionsDialogWindow);
-			theOptionsDialog->optionsDialogWindow = NULL;
-		}
-		delete theOptionsDialog;
-		theOptionsDialog = NULL;
-	}
-}
-
-
-OptionsDialog::OptionsDialog() {
-
-	optionsDialogWindow = NULL;
-	
-	tabPaneVector.push_back(aboutTabPaneId);
-	tabPaneVector.push_back(displayResolutionTabPaneId);
-	
-	displayResolutionPopUpControl = NULL;
-	displayResolutionMenuSelectedIdx = -1;
-	
-	tabControl = NULL;
-
-}
-
-
-OptionsDialog::~OptionsDialog() {
-	tabPaneVector.clear();
-}
-
-
-OptionsDialog* OptionsDialog::getOptionsDialog() {
-    if (theOptionsDialog == NULL) {
-		theOptionsDialog = new OptionsDialog;
-    }
-	return theOptionsDialog;
-}
-
-
-void OptionsDialog::show() {
-	int aLastTabIndex;
-	OSStatus err;
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->evaluateFullscreenDisplayResolution();
-	
-	aLastTabIndex = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kPreferencePane);
-	if (aLastTabIndex == 0) {
-		aLastTabIndex = 1;
-	}
-
-	if (theOptionsDialog->optionsDialogWindow == NULL) {
-	
-		// find the bundle to load the nib inside of it
-		IBNibRef nibRef;
-		CFStringRef pluginName;
-		pluginName = CFStringCreateWithCString(kCFAllocatorDefault, VisualConfiguration::kVisualPluginDomainIdentifier, kCFStringEncodingWindowsLatin1);
-		CFBundleRef thePlugin = CFBundleGetBundleWithIdentifier(pluginName);
-		err = CreateNibReferenceWithCFBundle(thePlugin, CFSTR("VisualOptions"), &nibRef);
-		if (err != noErr) {
-			writeLog("CreateNibReferenceWithCFBundle failed in OptionsDialog->show");
-			return;
-		}
-		CreateWindowFromNib(nibRef, CFSTR("OptionsDialog"), &(theOptionsDialog->optionsDialogWindow));
-		if (err != noErr) {
-			writeLog("CreateWindowFromNib failed in OptionsDialog->show");
-			return;
-		}
-		DisposeNibReference(nibRef);
-		CFRelease(pluginName);
-		
-		// tab control
-		GetControlByID(theOptionsDialog->optionsDialogWindow, &theOptionsDialog->tabControlID, &theOptionsDialog->tabControl);
-
-		// display resolution menu pop up control
-		err = GetControlByID(theOptionsDialog->optionsDialogWindow, &theOptionsDialog->displayResolutionMenuControlID, &(theOptionsDialog->displayResolutionPopUpControl));
-		if (err != noErr) {
-			writeLog("GetControlByID failed in OptionsDialog->show");
-			return;
-		}
-
-		UInt32 count;
-		MenuAttributes displayResolutionMenuAttributes = (MenuAttributes)NULL;
-		err = CreateNewMenu(131, displayResolutionMenuAttributes, &(theOptionsDialog->displayResolutionMenu));
-		if (err != noErr) {
-			writeLog("CreateNewMenu failed in OptionsDialog->show");
-			return;
-		}
-
-		CFStringRef displayResolutionShowStr;
-		count = 0;
-		char str[32];
-		UInt8 isSelected = 0;
-		
-		while(theVisualGraphics->getNextAvailableDisplayResolution(str, &isSelected)) {
-			displayResolutionShowStr = CFStringCreateWithFormat(kCFAllocatorDefault, NULL, CFSTR("%s"), str);
-			err = AppendMenuItemTextWithCFString(theOptionsDialog->displayResolutionMenu, displayResolutionShowStr, 0, 0, NULL);
-			if (err != noErr) {
-				writeLog("Error while appending menu item");
-			}
-			count++;
-			if (isSelected == 1) {
-				theOptionsDialog->displayResolutionMenuSelectedIdx = count;
-			}
-			CFRelease(displayResolutionShowStr);
-		}
-		SetControlPopupMenuHandle(theOptionsDialog->displayResolutionPopUpControl, theOptionsDialog->displayResolutionMenu);
-		SetControl32BitMaximum(theOptionsDialog->displayResolutionPopUpControl, count);
-		
-		InstallWindowEventHandler(theOptionsDialog->optionsDialogWindow, NewEventHandlerUPP(optionsDialogWindowHandler), 1, &windowCloseEvent, NULL, NULL);
-		InstallWindowEventHandler(theOptionsDialog->optionsDialogWindow, NewEventHandlerUPP(optionsDialogControlHandler), 1, &controlHitEvent, NULL, NULL);
-		
-	}
-	
-	if (theOptionsDialog->displayResolutionMenuSelectedIdx == -1) {
-		theOptionsDialog->displayResolutionMenuSelectedIdx = 1; // first menuItem is default
-	}
-	SetControl32BitValue(theOptionsDialog->displayResolutionPopUpControl, theOptionsDialog->displayResolutionMenuSelectedIdx);
-	
-	SetControl32BitValue(theOptionsDialog->tabControl, aLastTabIndex);
-	theOptionsDialog->showSelectedPaneOfTabControl();
-	
-	ShowWindow(theOptionsDialog->optionsDialogWindow);
-	SelectWindow(theOptionsDialog->optionsDialogWindow);
-
-}
-
-
-void OptionsDialog::handleEvent(EventHandlerCallRef inRef, EventRef inEvent, void* userData) {
-    
-	UInt32 eventClass;
-	UInt32 eventKind;
-	
-	eventClass = GetEventClass(inEvent);
-	eventKind = GetEventKind(inEvent);
-	
-	switch (eventClass) {
-	
-		case kEventClassWindow:
-			// window event
-			if (eventKind == kEventWindowClose) {
-				HideWindow(theOptionsDialog->optionsDialogWindow);
-			}
-			break;
-	
-		case kEventClassControl:
-			// control event
-			ControlID controlID;
-			ControlRef control = NULL;
-			GetEventParameter(inEvent, kEventParamDirectObject, typeControlRef, NULL, sizeof(ControlRef), NULL, &control);
-			GetControlID(control, &controlID);
-			UInt32 stringLength = 0;
-			CFStringRef selectedText = NULL;
-			
-			switch(controlID.id) {
-
-				case displayResolutionMenuId:
-					{
-						SInt32 selectedMenuItemIdx;
-						selectedMenuItemIdx = GetControl32BitValue(control);
-						theOptionsDialog->displayResolutionMenuSelectedIdx = selectedMenuItemIdx;
-						char str[32];
-						CopyMenuItemTextAsCFString(theOptionsDialog->displayResolutionMenu, selectedMenuItemIdx, &selectedText);
-						stringLength = CFStringGetLength(selectedText);
-						stringLength += 1; // incl. terminating null-byte
-						CFStringGetCString(selectedText, str, stringLength, kCFStringEncodingASCII);
-						CFRelease(selectedText);
-						
-						VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-						UInt16 horizontalPixels;
-						UInt16 verticalPixels;
-						UInt16 bitsPerPixel;
-						UInt16 refreshRate;
-						theVisualGraphics->matchDisplayResolutionShowStrWithPrefs(str, horizontalPixels, verticalPixels, bitsPerPixel, refreshRate);
-
-						VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenWidth, horizontalPixels);
-						VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenHeight, verticalPixels);
-						VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenBitsPerPixel, bitsPerPixel);
-						VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenRefreshRate, refreshRate);
-						
-						VisualDataStore::storePreferences();
-						
-						UInt16 minBitsPerPixel = 24;
-						UInt16 maxBitsPerPixel = 32;
-						VisualDataStore::setPreferredDisplayResolution(minBitsPerPixel, maxBitsPerPixel, bitsPerPixel, horizontalPixels, verticalPixels);
-					}
-					break;
-					
-				case tabControlId:
-					theOptionsDialog->showSelectedPaneOfTabControl();
-					break;
-			}
-			break;
-	}
-}
-
-
-void OptionsDialog::showSelectedPaneOfTabControl() {
-    ControlRef userPane;
-    ControlRef selectedPane = NULL;
-    UInt16 idx = 0;
-	SInt16 selectedPaneIdx;
-	ControlID controlID;
-	
-	controlID.signature = theOptionsDialog->signatureOfOptionsDialog;
-
-    selectedPaneIdx = GetControlValue(theOptionsDialog->tabControl);
-
-	TabPaneVectorIterator it;
-
-	for (it = theOptionsDialog->tabPaneVector.begin(); it != theOptionsDialog->tabPaneVector.end(); it++) {
-		
-		controlID.id = *it;
-        GetControlByID(GetControlOwner(theOptionsDialog->tabControl), &controlID, &userPane);
-		
-		idx++;
-        if (idx == selectedPaneIdx) {
-            selectedPane = userPane;
-        } else {
-            SetControlVisibility(userPane, false, false);
-            DisableControl(userPane);
-        }
-		
-    }
-    
-    if (selectedPane != NULL) {
-        EnableControl(selectedPane);
-        SetControlVisibility(selectedPane, true, true);
-    }
-    
-    Draw1Control(theOptionsDialog->tabControl);
-	
-	VisualDataStore::setPreferenceValueInt(VisualConfiguration::kPreferencePane, selectedPaneIdx);
-	VisualDataStore::storePreferences();
-	
-}
diff --git a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h b/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h
deleted file mode 100644
index c086f50..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/OptionsDialog.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: OptionsDialog.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef OptionsDialog_h
-#define OptionsDialog_h
-
-#include <vector>
-
-#include <Carbon/Carbon.h>
-
-
-namespace VizKit {
-
-	/**
-	 * UI (Mac): Shows a configuration dialog when selecting visualizer and choosing Options... menu entry in iTunes.
-	 */
-	class OptionsDialog {
-
-	public:
-
-		/**
-		 * Returns a pointer to the instance.
-		 */
-		static OptionsDialog* getOptionsDialog(void);
-
-		/**
-		 * Displays the options dialog on screen.
-		 * If the options dialog is hidden it is revealed.\ Otherwise it is constructed.
-		 */
-		void show(void);
-
-		/**
-		 * Disposes the allocated resources of the options dialog.
-		 */
-		static void dispose(void);
-
-		/**
-		 * Handles an event that was dispatched by installed EventHandler.
-		 * @param inRef Reference to EventHandlerCallRef.
-		 * @param inEvent Reference to event.
-		 * @param userData Additional data.
-		 */
-		void handleEvent(EventHandlerCallRef inRef, EventRef inEvent, void* userData);
-			
-	private:
-
-		/** The constructor.\ OptionsDialog is a singleton class.\ The constructor is private.\ New instance of class can only be created internally. */
-		OptionsDialog();
-		
-		/** The destructor.\ OptionsDialog is a singleton class.\ The destructor is private.\ Instance of class can only be destructed internally. */
-		~OptionsDialog();
-
-		/**
-		 * Copy constructor.
-		 * @param other Another OptionsDialog.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */
-		OptionsDialog(const OptionsDialog& other);
-
-		/**
-		 * Assignment operator.
-		 * @remarks Explicitely declared in private section and not implemented to enforce uniqueness of singleton pattern.
-		 */			
-		OptionsDialog& operator=(const OptionsDialog& other);
-
-		/**
-		 * Shows the selected pane of the tab control (and hides the others).
-		 * Unfortunately tab controls have to be made visible and invisible programmatically.
-		 */
-		void showSelectedPaneOfTabControl(void);
-		
-		/** OptionsDialog is a singleton class. Pointer to private instance is handled internally. */
-		static OptionsDialog* theOptionsDialog;
-		
-		/** The four-char-code for identifying controls on this window. */
-		static const OSType signatureOfOptionsDialog;
-		
-		/** The id of the tab control. */
-		static const SInt32 tabControlId;
-		
-		/** The ControlID of the tab control. */
-		static const ControlID tabControlID;
-		
-		/** The tab control. */
-		ControlRef tabControl;
-		
-		/** The id of the tab pane that display about information. */
-		static const SInt32 aboutTabPaneId;
-		
-		/** The id of the tab pane where fullscreen display resolution can be set. */
-		static const SInt32 displayResolutionTabPaneId;
-		
-		/** The TabPaneVector is a vector of all panes of the tab control. */
-		typedef std::vector<SInt32> TabPaneVector;
-		
-		/** The TabPaneVectorIterator is an iterator of the TabPaneVector. */
-		typedef TabPaneVector::iterator TabPaneVectorIterator;
-		
-		/** A vector that contains the id's of all panes of the tab control. */
-		TabPaneVector tabPaneVector;
-		
-		/** The id of the display resolution pop up menu control. */
-		static const SInt32 displayResolutionMenuId;
-		
-		/** The ControlID of the display resolution pop up menu control. */
-		static const ControlID displayResolutionMenuControlID;
-		
-		/** The pop up control is used to construct the pop up menu. */
-		ControlRef displayResolutionPopUpControl;
-		
-		/** The menu is attached to the pop up control. */
-		MenuRef displayResolutionMenu;
-		
-		/** The currently selected index of the display resolution menu. */
-		SInt32 displayResolutionMenuSelectedIdx;
-		
-		/** Event type definition of control hit event. */
-		static const EventTypeSpec controlHitEvent;
-		
-		/** Event type definition of window close event. */
-		static const EventTypeSpec windowCloseEvent;
-		
-		/** The window of the dialog. */
-		WindowRef optionsDialogWindow;
-		
-	};
-
-}
-
-#endif /* OptionsDialog_h */
diff --git a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp
deleted file mode 100644
index fd5d22f..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAppleScript.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualAppleScript.h"
-#include "VisualFile.h"
-#include "VisualString.h"
-
-#if TARGET_OS_MAC
-#include <Carbon/Carbon.h>
-#endif
-
-
-using namespace VizKit;
-
-
-bool VisualAppleScript::executeScriptFile(VisualFile& scriptFile) {
-
-	bool success = false;
-	
-	VisualString scriptFilePath;
-	scriptFile.getFilePath(scriptFilePath);
-	const char* const scriptPathCStr = scriptFilePath.getUtf8Representation();
-	
-	size_t scriptPathCStrLen = strlen(scriptPathCStr);
-	if (scriptPathCStrLen > 0) {
-		char* script = (char*)malloc(scriptPathCStrLen + strlen("osascript ") + 3);
-		sprintf(script, "osascript \"%s\"", scriptPathCStr);
-		system(script);
-		free(script);
-		success = true;
-	}
-	
-	return success;
-}
-
diff --git a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h b/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h
deleted file mode 100644
index 5957b43..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/VisualAppleScript.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualAppleScript.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#ifndef VisualAppleScript_h
-#define VisualAppleScript_h
-
-
-#if TARGET_OS_MAC
-#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
-#endif
-
-#if TARGET_OS_WIN
-#include <QT/MacTypes.h>
-#endif
-
-
-namespace VizKit {
-
-	class VisualFile; // Forward declaration (to avoid include of header file).
-
-	/**
-	 * Interaction with AppleScript.
-	 */
-	class VisualAppleScript {
-
-	public:
-		
-		/**
-		 * Executes a script file.
-		 * @param scriptFile The script file.
-		 */
-		static bool executeScriptFile(VisualFile& scriptFile);
-	
-	private:
-
-		/** The constructor.\ VisualAppleScript is a collection of static methods.\ Class does not need any instances.\ Constructor is private and not implemented. */
-		VisualAppleScript();
-
-		/** The destructor.\ VisualAppleScript is a collection of static methods.\ Class does not need any instances.\ Destructor is private and not implemented. */
-		~VisualAppleScript();
-
-	};
-	
-}
-
-#endif /* VisualAppleScript_h */
diff --git a/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript b/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript
deleted file mode 100644
index 91e3caf..0000000
--- a/src/projectM-iTunes-VizKit/source/mac/getLyrics.applescript
+++ /dev/null
@@ -1,21 +0,0 @@
--- Write lyrics of current audio track into file.
--- Simply executing script with osascript did not work with Mac OS X 10.4 
--- (directing output into file via command line shell did not work with right-to-left languages).
--- In case the script reports something like: Expected expression but found unknown token. (-2741),
--- chances are that Xcode messed up the UTF-8 encoding of the file 
--- (we need left and right pointing double angle quotation mark around "class utf8").
--- Best is to edit script file getLyrics.applescript in Scripteditor application of AppleScript. 
-
-try
-	tell application "iTunes"
-		set lyricsString to lyrics of current track as Unicode text
-		set f to (path to temporary items from user domain as text) & "VizKitLyrics.tmp.txt"
-		-- ~/Library/Caches/TemporaryItems/
-		open for access file f with write permission
-		write lyricsString to file f as Çclass utf8È
-		close access file f
-	end tell
-on error errMsg number errNr
-	log errNr
-	log errMsg
-end try
\ No newline at end of file
diff --git a/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp b/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp
deleted file mode 100644
index 9c6ecd4..0000000
--- a/src/projectM-iTunes-VizKit/source/win/AboutPane.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: AboutPane.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "AboutPane.h"
-#include "VisualDataStore.h"
-#include "VisualPropertySheet.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-using namespace VizKit;
-
-IMPLEMENT_DYNCREATE(CAboutPane, CPropertyPage)
-
-CAboutPane::CAboutPane() : CPropertyPage(CAboutPane::IDD) {
-	//{{AFX_DATA_INIT(CAboutPane)
-		//
-	//}}AFX_DATA_INIT
-}
-
-
-CAboutPane::~CAboutPane() {
-}
-
-
-void CAboutPane::DoDataExchange(CDataExchange* pDX) {
-	CPropertyPage::DoDataExchange(pDX);
-	//{{AFX_DATA_MAP(CAboutPane)
-		// 
-	//}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CAboutPane, CPropertyPage)
-	//{{AFX_MSG_MAP(CAboutPane)
-		//
-	//}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-BOOL CAboutPane::OnSetActive() 
-{
-	BOOL success;
-	int lastPane = 0;
-	
-	success = CPropertyPage::OnSetActive();
-
-	if (CVisualPropertySheet::isInitialized() == true) {
-		lastPane = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kPreferencePane);
-		if (lastPane != 0) {
-			VisualDataStore::setPreferenceValueInt(VisualConfiguration::kPreferencePane, 0);
-			VisualDataStore::storePreferences();
-		}
-	}
-
-	return success;
-}
diff --git a/src/projectM-iTunes-VizKit/source/win/AboutPane.h b/src/projectM-iTunes-VizKit/source/win/AboutPane.h
deleted file mode 100644
index 8e7c83a..0000000
--- a/src/projectM-iTunes-VizKit/source/win/AboutPane.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: AboutPane.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-
-#if !defined(AFX_ABOUTPANE_H__CDA85D4E_75D4_41D3_9856_C8BBE9366B33__INCLUDED_)
-#define AFX_ABOUTPANE_H__CDA85D4E_75D4_41D3_9856_C8BBE9366B33__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-
-#include "resource.h"
-#include <StdAfx.h>
-
-
-namespace VizKit {
-
-	/**
-	 * UI (Windows): Pane with about information.
-	 */
-	class CAboutPane : public CPropertyPage {
-
-	DECLARE_DYNCREATE(CAboutPane)
-
-	public:
-
-		/** The constructor. */
-		CAboutPane();
-
-		/** The destructor. */
-		~CAboutPane();
-
-		//{{AFX_DATA(CAboutPane)
-//		enum { IDD = IDD_DIALOG2 };
-			//
-		//}}AFX_DATA
-
-		//{{AFX_VIRTUAL(CAboutPane)
-
-		/**
-		 * Called when pane becomes active.
-		 * @return True on success, false on failure.
-		 */
-		virtual BOOL OnSetActive();
-
-	protected:
-
-		/**
-		 * Exchange of data (DDX/DDV).
-		 * @param pDX Pointer to data.
-		 */
-		virtual void DoDataExchange(CDataExchange* pDX);
-		//}}AFX_VIRTUAL
-
-		//{{AFX_MSG(CAboutPane)
-			//
-		//}}AFX_MSG
-		DECLARE_MESSAGE_MAP()
-
-	};
-
-}
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
-
-#endif // AFX_ABOUTPANE_H__CDA85D4E_75D4_41D3_9856_C8BBE9366B33__INCLUDED_
diff --git a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp
deleted file mode 100644
index 712ef11..0000000
--- a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.cpp
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: DisplayResolutionPane.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty.
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented;
-   you must not claim that you wrote the original software.
-   If you use this software in a product, an acknowledgment
-   in the product documentation would be appreciated
-   but is not required.
-
-2. Altered source versions must be plainly marked as such,
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "DisplayResolutionPane.h"
-#include "VisualConfiguration.h"
-#include "VisualGraphics.h"
-#include "VisualDataStore.h"
-#include "VisualPropertySheet.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-using namespace VizKit;
-
-IMPLEMENT_DYNCREATE(CDisplayResolutionPane, CPropertyPage)
-
-CDisplayResolutionPane::CDisplayResolutionPane() : CPropertyPage(CDisplayResolutionPane::IDD) {
-	//{{AFX_DATA_INIT(CDisplayResolutionPane)
-		//
-	//}}AFX_DATA_INIT
-}
-
-
-CDisplayResolutionPane::~CDisplayResolutionPane() {
-}
-
-
-void CDisplayResolutionPane::DoDataExchange(CDataExchange* pDX)
-{
-	CPropertyPage::DoDataExchange(pDX);
-	//{{AFX_DATA_MAP(CDisplayResolutionPane)
-		//
-	//}}AFX_DATA_MAP
-}
-
-
-BEGIN_MESSAGE_MAP(CDisplayResolutionPane, CPropertyPage)
-	//{{AFX_MSG_MAP(CDisplayResolutionPane)
-	ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
-	//}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-void CDisplayResolutionPane::OnSelchangeCombo1() {
-	char str[32];
-	CComboBox* pCB = (CComboBox*) GetDlgItem(IDC_COMBO1);
-
-	pCB->GetLBText(pCB->GetCurSel(), str);
-
-	VisualGraphics* theVisualGraphics = VisualGraphics::getInstance();
-	UInt16 horizontalPixels;
-	UInt16 verticalPixels;
-	UInt16 bitsPerPixel;
-	UInt16 refreshRate;
-	theVisualGraphics->matchDisplayResolutionShowStrWithPrefs(str, horizontalPixels, verticalPixels, bitsPerPixel, refreshRate);
-
-	VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenWidth, horizontalPixels);
-	VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenHeight, verticalPixels);
-	VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenBitsPerPixel, bitsPerPixel);
-	VisualDataStore::setPreferenceValueInt(VisualConfiguration::kFullscreenRefreshRate, refreshRate);
-	
-	VisualDataStore::storePreferences();
-	
-	UInt16 minBitsPerPixel = 24;
-	UInt16 maxBitsPerPixel = 32;
-	VisualDataStore::setPreferredDisplayResolution(minBitsPerPixel, maxBitsPerPixel, bitsPerPixel, horizontalPixels, verticalPixels);
-
-}
-
-
-BOOL CDisplayResolutionPane::OnInitDialog() {
-
-	CPropertyPage::OnInitDialog();
-
-	UInt8 isSelected;
-
-	CComboBox* pCB = (CComboBox*) GetDlgItem(IDC_COMBO1);
-
-	VisualGraphics* theVisualGraphics;
-	theVisualGraphics = VisualGraphics::getInstance();
-	theVisualGraphics->evaluateFullscreenDisplayResolution();
-	//theVisualGraphics->gatherAvailableDisplayResolutions();
-
-	//theVisualGraphics->resetDisplayResolutionIterIndex();
-	char showStr[32];
-	UInt16 count = 0;
-	UInt16 selIdx = 0;
-	while(theVisualGraphics->getNextAvailableDisplayResolution(showStr, &isSelected)) {
-		if (isSelected == 1) {
-			selIdx = count;
-		}
-		if (pCB->AddString(showStr) == CB_ERR) {
-			AfxMessageBox("AnError occurred while adding mon res item to combo list.");
-		}
-		count++;
-	}
-
-	pCB->SetCurSel(selIdx);
-	
-	return TRUE;  // return TRUE unless you set the focus to a control
-	              // EXCEPTION: OCX-Eigenschaftenseiten sollten FALSE zurückgeben
-}
-
-
-BOOL CDisplayResolutionPane::OnSetActive() 
-{
-	BOOL success;
-	int lastPane = 0;
-
-	success = CPropertyPage::OnSetActive();
-
-	if (CVisualPropertySheet::isInitialized() == true) {
-		lastPane = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kPreferencePane);
-		if (lastPane != 1) {
-			VisualDataStore::setPreferenceValueInt(VisualConfiguration::kPreferencePane, 1);
-			VisualDataStore::storePreferences();
-		}
-	}
-
-	return success;
-
-}
diff --git a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h b/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h
deleted file mode 100644
index 381df15..0000000
--- a/src/projectM-iTunes-VizKit/source/win/DisplayResolutionPane.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: DisplayResolutionPane.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty.
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented;
-   you must not claim that you wrote the original software.
-   If you use this software in a product, an acknowledgment
-   in the product documentation would be appreciated
-   but is not required.
-
-2. Altered source versions must be plainly marked as such,
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#if !defined(AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_)
-#define AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-
-#include "resource.h"
-#include <StdAfx.h>
-
-namespace VizKit {
-
-	/**
-	 * UI (Windows): Pane with information about possible display resolutions.
-	 */
-	class CDisplayResolutionPane : public CPropertyPage {
-
-	DECLARE_DYNCREATE(CDisplayResolutionPane)
-
-	public:
-
-		/** The constructor. */
-		CDisplayResolutionPane();
-
-		/** The destructor. */
-		~CDisplayResolutionPane();
-
-		//{{AFX_DATA(CDisplayResolutionPane)
-//		enum { IDD = IDD_DIALOG3 };
-			//
-		//}}AFX_DATA
-
-		//{{AFX_VIRTUAL(CDisplayResolutionPane)
-		/**
-		 * Called when pane becomes active.
-		 * @return True on success, false on failure.
-		 */
-		virtual BOOL OnSetActive();
-	
-	protected:
-
-		/**
-		 * Exchange of data (DDX/DDV).
-		 * @param pDX Pointer to data.
-		 */
-		virtual void DoDataExchange(CDataExchange* pDX);
-		//}}AFX_VIRTUAL
-
-		//{{AFX_MSG(CDisplayResolutionPane)
-		/**
-		 * Called when value of dropdown menu changed.
-		 */
-		afx_msg void OnSelchangeCombo1();
-
-		/**
-		 * Called when pane is initialized.
-		 * @return True on success, false on failure.
-		 */
-		virtual BOOL OnInitDialog();
-
-		//}}AFX_MSG
-		DECLARE_MESSAGE_MAP()
-
-	};
-
-}
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
-
-#endif // AFX_DISPLAYRESOLUTIONPANE_H__E6486A83_29C1_4F7E_84D9_D4C8037CBEA4__INCLUDED_
diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp b/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp
deleted file mode 100644
index c2b8666..0000000
--- a/src/projectM-iTunes-VizKit/source/win/StdAfx.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: StdAfx.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-// stdafx.cpp : Quelltextdatei, die nur die Standard-Includes einbindet
-//	VizKit.pch ist die vorcompilierte Header-Datei
-//	stdafx.obj enthält die vorcompilierte Typinformation
-
-#include "stdafx.h"
-
-
-
diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.h b/src/projectM-iTunes-VizKit/source/win/StdAfx.h
deleted file mode 100644
index e51b40c..0000000
--- a/src/projectM-iTunes-VizKit/source/win/StdAfx.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: StdAfx.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-// stdafx.h : Include-Datei für Standard-System-Include-Dateien,
-//  oder projektspezifische Include-Dateien, die häufig benutzt, aber
-//      in unregelmäßigen Abständen geändert werden.
-//
-
-#if !defined(AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_)
-#define AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-#define VC_EXTRALEAN		// Selten verwendete Teile der Windows-Header nicht einbinden
-
-#include <afxwin.h>         // MFC-Kern- und -Standardkomponenten
-#include <afxext.h>         // MFC-Erweiterungen
-
-#ifndef _AFX_NO_OLE_SUPPORT
-#include <afxole.h>         // MFC OLE-Klassen
-#include <afxodlgs.h>       // MFC OLE-Dialogfeldklassen
-#include <afxdisp.h>        // MFC Automatisierungsklassen
-#endif // _AFX_NO_OLE_SUPPORT
-
-
-#ifndef _AFX_NO_DB_SUPPORT
-#include <afxdb.h>			// MFC ODBC-Datenbankklassen
-#endif // _AFX_NO_DB_SUPPORT
-
-#ifndef _AFX_NO_DAO_SUPPORT
-#include <afxdao.h>			// MFC DAO-Datenbankklassen
-#endif // _AFX_NO_DAO_SUPPORT
-
-#include <afxdtctl.h>		// MFC-Unterstützung für allgemeine Steuerelemente von Internet Explorer 4
-#ifndef _AFX_NO_AFXCMN_SUPPORT
-#include <afxcmn.h>			// MFC-Unterstützung für gängige Windows-Steuerelemente
-#endif // _AFX_NO_AFXCMN_SUPPORT
-
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
-
-#endif // !defined(AFX_STDAFX_H__1CDAB033_E8A2_4619_B05B_F57E9367DD46__INCLUDED_)
diff --git a/src/projectM-iTunes-VizKit/source/win/StdAfx.pch b/src/projectM-iTunes-VizKit/source/win/StdAfx.pch
deleted file mode 100644
index 4e81365..0000000
Binary files a/src/projectM-iTunes-VizKit/source/win/StdAfx.pch and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp
deleted file mode 100644
index edacd0e..0000000
--- a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.cpp
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualPropertySheet.cpp
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#include "VisualPropertySheet.h"
-#include "VisualDataStore.h"
-#include "VisualErrorHandling.h"
-
-#ifdef _DEBUG
-#define new DEBUG_NEW
-#undef THIS_FILE
-static char THIS_FILE[] = __FILE__;
-#endif
-
-
-using namespace VizKit;
-
-
-bool CVisualPropertySheet::propertysheetIsInitialized = false;
-
-
-IMPLEMENT_DYNAMIC(CVisualPropertySheet, CPropertySheet)
-
-
-BEGIN_MESSAGE_MAP(CVisualPropertySheet, CPropertySheet)
-	//{{AFX_MSG_MAP(CVisualPropertySheet)
-	ON_WM_CLOSE()
-	//}}AFX_MSG_MAP
-END_MESSAGE_MAP()
-
-
-CVisualPropertySheet::CVisualPropertySheet(UINT nIDCaption, CWnd* pParentWnd, UINT iSelectPage)
-	:CPropertySheet(nIDCaption, pParentWnd, iSelectPage) {
-}
-
-
-CVisualPropertySheet::CVisualPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd, UINT iSelectPage)
-	:CPropertySheet(pszCaption, pParentWnd, iSelectPage) {
-	AddPage(&mAboutPane);
-	AddPage(&mDisplayResolutionPane);
-}
-
-
-CVisualPropertySheet* CVisualPropertySheet::getInstance() {
-	static CVisualPropertySheet* theCVisualPropertySheet = NULL;
-	if (CVisualPropertySheet::propertysheetIsInitialized == false) {
-		theCVisualPropertySheet = new CVisualPropertySheet("Visualizer Options");
-		BOOL success = theCVisualPropertySheet->Create();
-		if (!success) {
-			delete theCVisualPropertySheet;
-			theCVisualPropertySheet = NULL;
-			char errLog[256];
-			sprintf(errLog, "err after CVisualPropertySheet::Create() in file: %s (line: %d) [%s])", __FILE__, __LINE__, __FUNCTION__);
-			writeLog(errLog);
-		}
-	}
-	return theCVisualPropertySheet;
-}
-
-
-void CVisualPropertySheet::dispose() {
-	if (CVisualPropertySheet::propertysheetIsInitialized == true) {
-		CVisualPropertySheet* theCVisualPropertySheet = CVisualPropertySheet::getInstance();
-		theCVisualPropertySheet->DestroyWindow();
-	}
-}
-
-
-bool CVisualPropertySheet::isInitialized() {
-	return CVisualPropertySheet::propertysheetIsInitialized;
-}
-
-
-CVisualPropertySheet::~CVisualPropertySheet() {
-	writeLog("~CVisualPropertySheet()");
-	CVisualPropertySheet::propertysheetIsInitialized = false;
-}
-
-
-void CVisualPropertySheet::OnClose() {
-	writeLog("CVisualPropertySheet::OnClose");
-	CPropertySheet::OnClose();
-	DestroyWindow();
-}
-
-
-BOOL CVisualPropertySheet::DestroyWindow() {
-	writeLog("CVisualPropertySheet::DestroyWindow");
-	return CPropertySheet::DestroyWindow();
-}
-
-
-BOOL CVisualPropertySheet::OnInitDialog() 
-{
-	BOOL success = CPropertySheet::OnInitDialog();
-
-	CRect rectWnd;
-	CRect rectBtn;
-	int lastActivePage = 0;
-
-	GetWindowRect(rectWnd);
-	
-	CWnd* pOKButton = GetDlgItem(IDOK);
-	pOKButton->GetWindowRect(rectBtn);
-
-	ASSERT(pOKButton);
-	pOKButton->ShowWindow(SW_HIDE);
-
-	CWnd* pCancelButton = GetDlgItem(IDCANCEL);
-	ASSERT(pCancelButton);
-	pCancelButton->ShowWindow(SW_HIDE);
-
-	CWnd* pApplyButton = GetDlgItem(ID_APPLY_NOW);
-	ASSERT(pApplyButton);
-	pApplyButton->ShowWindow(SW_HIDE);
-
-	rectWnd.bottom = rectBtn.top;
-	
-	MoveWindow(rectWnd);
-
-	lastActivePage = VisualDataStore::getPreferenceValueInt(VisualConfiguration::kPreferencePane);
-
-	if (lastActivePage != 0) {
-		SetActivePage(lastActivePage);
-	}
-
-	CVisualPropertySheet::propertysheetIsInitialized = true;
-
-	return success;
-}
-
-
-void CVisualPropertySheet::PostNcDestroy() {
-	writeLog("CVisualPropertySheet::PostNcDestroy");
-	delete this;
-	CPropertySheet::PostNcDestroy();
-}
diff --git a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h b/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h
deleted file mode 100644
index 6b5442c..0000000
--- a/src/projectM-iTunes-VizKit/source/win/VisualPropertySheet.h
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Project: VizKit
- * Version: 1.9
- 
- * Date: 20070503
- * File: VisualPropertySheet.h
- *
- */
-
-/***************************************************************************
-
-Copyright (c) 2004-2007 Heiko Wichmann (http://www.imagomat.de/vizkit)
-
-
-This software is provided 'as-is', without any expressed or implied warranty. 
-In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; 
-   you must not claim that you wrote the original software. 
-   If you use this software in a product, an acknowledgment 
-   in the product documentation would be appreciated 
-   but is not required.
-
-2. Altered source versions must be plainly marked as such, 
-   and must not be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source distribution.
-
- ***************************************************************************/
-
-#if !defined(AFX_VISUALPROPERTYSHEET_H__6297EFE6_8738_4964_8897_123AE8AFFDF3__INCLUDED_)
-#define AFX_VISUALPROPERTYSHEET_H__6297EFE6_8738_4964_8897_123AE8AFFDF3__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-
-#include "resource.h"
-#include <StdAfx.h>
-
-#include "AboutPane.h"
-#include "DisplayResolutionPane.h"
-
-
-namespace VizKit {
-
-	/**
-	 * UI (Windows): Property sheet which contains various panes.
-	 */
-	class CVisualPropertySheet : public CPropertySheet {
-
-	DECLARE_DYNAMIC(CVisualPropertySheet)
-
-	public:
-
-		/**
-		 * Constructs a VisualPropertySheet.\ The VisualPropertySheet internally is a singleton.\ Returns a pointer to the initialized VisualPropertySheet.
-		 * @return A pointer to the singleton instance.
-		 */
-		static CVisualPropertySheet* getInstance();
-
-		/**
-		 * Disposes the VisualPropertySheet.
-		 */
-		static void dispose(void);
-
-		/**
-		 * Ansers the question whether the property sheet is initialized.
-		 * @return False if singleton instance is not initialized, true if initialized. 
-		 */
-		static bool isInitialized(void);
-
-		/** A constructor. */
-		CVisualPropertySheet(UINT nIDCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
-
-		/** A constructor. */
-		CVisualPropertySheet(LPCTSTR pszCaption, CWnd* pParentWnd = NULL, UINT iSelectPage = 0);
-
-		/** The destructor. */
-		virtual ~CVisualPropertySheet();
-
-		//{{AFX_VIRTUAL(CVisualPropertySheet)
-		/**
-		 * Called when property sheet is initialized.
-		 * @return True on success, false on failure.
-		 */
-		virtual BOOL OnInitDialog();
-		//}}AFX_VIRTUAL
-
-	protected:
-		//{{AFX_MSG(CVisualPropertySheet)
-		afx_msg void OnClose();
-		//}}AFX_MSG
-		DECLARE_MESSAGE_MAP()
-
-		/**
-		 * Override of DestroyWindow().
-		 * @remarks We implement DestroyWindow() to note that the property sheet is destructed.
-		 */
-		virtual BOOL DestroyWindow();
-
-		/**
-		 * Ansers the question whether the property sheet is initialized.
-		 * @return False if singleton instance is not initialized, true if initialized. 
-		 */
-		static bool propertysheetIsInitialized;
-
-		/** We delete any allocated memory here. */
-		virtual void PostNcDestroy();
-
-	private:
-
-		/** About pane. */
-		CAboutPane mAboutPane;
-
-		/** Display resolution pane. */
-		CDisplayResolutionPane mDisplayResolutionPane;
-		
-	};
-
-}
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
-
-#endif // AFX_VISUALPROPERTYSHEET_H__6297EFE6_8738_4964_8897_123AE8AFFDF3__INCLUDED_
diff --git a/src/projectM-iTunes-VizKit/source/win/VizKit.aps b/src/projectM-iTunes-VizKit/source/win/VizKit.aps
deleted file mode 100644
index 6956eea..0000000
Binary files a/src/projectM-iTunes-VizKit/source/win/VizKit.aps and /dev/null differ
diff --git a/src/projectM-iTunes-VizKit/source/win/VizKit.rc b/src/projectM-iTunes-VizKit/source/win/VizKit.rc
deleted file mode 100644
index bf9dc6f..0000000
--- a/src/projectM-iTunes-VizKit/source/win/VizKit.rc
+++ /dev/null
@@ -1,135 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// German (Germany) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
-    "#define _AFX_NO_OLE_RESOURCES\r\n"
-    "#define _AFX_NO_TRACKER_RESOURCES\r\n"
-    "#define _AFX_NO_PROPERTY_RESOURCES\r\n"
-    "\r\n"
-    "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)\r\n"
-    "#ifdef _WIN32\r\n"
-    "LANGUAGE 7, 1\r\n"
-    "#pragma code_page(1252)\r\n"
-    "#endif //_WIN32\r\n"
-    "#include ""l.deu\\afxres.rc""          // Standardkomponenten\r\n"
-    "#endif\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-#endif    // German (Germany) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// Neutral (Sys. Default) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NEUSD)
-#ifdef _WIN32
-LANGUAGE LANG_NEUTRAL, SUBLANG_SYS_DEFAULT
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,0
- PRODUCTVERSION 1,0,0,0
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904b0"
-        BEGIN
-            VALUE "FileDescription", "projectM 1.0 for iTunes"
-            VALUE "FileVersion", "1, 0, 0, 0"
-            VALUE "InternalName", "projectM"
-            VALUE "LegalCopyright", "Copyright (C) 2007"
-            VALUE "OriginalFilename", "VizKit.rc"
-            VALUE "ProductName", "projectM 1.0 for iTunes"
-            VALUE "ProductVersion", "1, 0, 0, 0"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-#endif    // Neutral (Sys. Default) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-#define _AFX_NO_SPLITTER_RESOURCES
-#define _AFX_NO_OLE_RESOURCES
-#define _AFX_NO_TRACKER_RESOURCES
-#define _AFX_NO_PROPERTY_RESOURCES
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
-#ifdef _WIN32
-LANGUAGE 7, 1
-#pragma code_page(1252)
-#endif //_WIN32
-#include "l.deu\afxres.rc"          // Standardkomponenten
-#endif
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/src/projectM-iTunes-VizKit/source/win/glext.h b/src/projectM-iTunes-VizKit/source/win/glext.h
deleted file mode 100644
index 57606dd..0000000
--- a/src/projectM-iTunes-VizKit/source/win/glext.h
+++ /dev/null
@@ -1,6712 +0,0 @@
-#ifndef __glext_h_
-#define __glext_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-#ifndef APIENTRYP
-#define APIENTRYP APIENTRY *
-#endif
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-/*************************************************************/
-
-/* Header file version number, required by OpenGL ABI for Linux */
-/* glext.h last updated 2006/11/20 */
-/* Current version at http://www.opengl.org/registry/ */
-#define GL_GLEXT_VERSION 37
-
-#ifndef GL_VERSION_1_2
-#define GL_UNSIGNED_BYTE_3_3_2            0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4         0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1         0x8034
-#define GL_UNSIGNED_INT_8_8_8_8           0x8035
-#define GL_UNSIGNED_INT_10_10_10_2        0x8036
-#define GL_RESCALE_NORMAL                 0x803A
-#define GL_TEXTURE_BINDING_3D             0x806A
-#define GL_PACK_SKIP_IMAGES               0x806B
-#define GL_PACK_IMAGE_HEIGHT              0x806C
-#define GL_UNPACK_SKIP_IMAGES             0x806D
-#define GL_UNPACK_IMAGE_HEIGHT            0x806E
-#define GL_TEXTURE_3D                     0x806F
-#define GL_PROXY_TEXTURE_3D               0x8070
-#define GL_TEXTURE_DEPTH                  0x8071
-#define GL_TEXTURE_WRAP_R                 0x8072
-#define GL_MAX_3D_TEXTURE_SIZE            0x8073
-#define GL_UNSIGNED_BYTE_2_3_3_REV        0x8362
-#define GL_UNSIGNED_SHORT_5_6_5           0x8363
-#define GL_UNSIGNED_SHORT_5_6_5_REV       0x8364
-#define GL_UNSIGNED_SHORT_4_4_4_4_REV     0x8365
-#define GL_UNSIGNED_SHORT_1_5_5_5_REV     0x8366
-#define GL_UNSIGNED_INT_8_8_8_8_REV       0x8367
-#define GL_UNSIGNED_INT_2_10_10_10_REV    0x8368
-#define GL_BGR                            0x80E0
-#define GL_BGRA                           0x80E1
-#define GL_MAX_ELEMENTS_VERTICES          0x80E8
-#define GL_MAX_ELEMENTS_INDICES           0x80E9
-#define GL_CLAMP_TO_EDGE                  0x812F
-#define GL_TEXTURE_MIN_LOD                0x813A
-#define GL_TEXTURE_MAX_LOD                0x813B
-#define GL_TEXTURE_BASE_LEVEL             0x813C
-#define GL_TEXTURE_MAX_LEVEL              0x813D
-#define GL_LIGHT_MODEL_COLOR_CONTROL      0x81F8
-#define GL_SINGLE_COLOR                   0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR        0x81FA
-#define GL_SMOOTH_POINT_SIZE_RANGE        0x0B12
-#define GL_SMOOTH_POINT_SIZE_GRANULARITY  0x0B13
-#define GL_SMOOTH_LINE_WIDTH_RANGE        0x0B22
-#define GL_SMOOTH_LINE_WIDTH_GRANULARITY  0x0B23
-#define GL_ALIASED_POINT_SIZE_RANGE       0x846D
-#define GL_ALIASED_LINE_WIDTH_RANGE       0x846E
-#endif
-
-#ifndef GL_ARB_imaging
-#define GL_CONSTANT_COLOR                 0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR       0x8002
-#define GL_CONSTANT_ALPHA                 0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA       0x8004
-#define GL_BLEND_COLOR                    0x8005
-#define GL_FUNC_ADD                       0x8006
-#define GL_MIN                            0x8007
-#define GL_MAX                            0x8008
-#define GL_BLEND_EQUATION                 0x8009
-#define GL_FUNC_SUBTRACT                  0x800A
-#define GL_FUNC_REVERSE_SUBTRACT          0x800B
-#define GL_CONVOLUTION_1D                 0x8010
-#define GL_CONVOLUTION_2D                 0x8011
-#define GL_SEPARABLE_2D                   0x8012
-#define GL_CONVOLUTION_BORDER_MODE        0x8013
-#define GL_CONVOLUTION_FILTER_SCALE       0x8014
-#define GL_CONVOLUTION_FILTER_BIAS        0x8015
-#define GL_REDUCE                         0x8016
-#define GL_CONVOLUTION_FORMAT             0x8017
-#define GL_CONVOLUTION_WIDTH              0x8018
-#define GL_CONVOLUTION_HEIGHT             0x8019
-#define GL_MAX_CONVOLUTION_WIDTH          0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT         0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE     0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE   0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE    0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE   0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS      0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS    0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS     0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS    0x8023
-#define GL_HISTOGRAM                      0x8024
-#define GL_PROXY_HISTOGRAM                0x8025
-#define GL_HISTOGRAM_WIDTH                0x8026
-#define GL_HISTOGRAM_FORMAT               0x8027
-#define GL_HISTOGRAM_RED_SIZE             0x8028
-#define GL_HISTOGRAM_GREEN_SIZE           0x8029
-#define GL_HISTOGRAM_BLUE_SIZE            0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE           0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE       0x802C
-#define GL_HISTOGRAM_SINK                 0x802D
-#define GL_MINMAX                         0x802E
-#define GL_MINMAX_FORMAT                  0x802F
-#define GL_MINMAX_SINK                    0x8030
-#define GL_TABLE_TOO_LARGE                0x8031
-#define GL_COLOR_MATRIX                   0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH       0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH   0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE    0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE  0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE   0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE  0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS     0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS   0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS    0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS   0x80BB
-#define GL_COLOR_TABLE                    0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE   0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE  0x80D2
-#define GL_PROXY_COLOR_TABLE              0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5
-#define GL_COLOR_TABLE_SCALE              0x80D6
-#define GL_COLOR_TABLE_BIAS               0x80D7
-#define GL_COLOR_TABLE_FORMAT             0x80D8
-#define GL_COLOR_TABLE_WIDTH              0x80D9
-#define GL_COLOR_TABLE_RED_SIZE           0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE         0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE          0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE         0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE     0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE     0x80DF
-#define GL_CONSTANT_BORDER                0x8151
-#define GL_REPLICATE_BORDER               0x8153
-#define GL_CONVOLUTION_BORDER_COLOR       0x8154
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_TEXTURE0                       0x84C0
-#define GL_TEXTURE1                       0x84C1
-#define GL_TEXTURE2                       0x84C2
-#define GL_TEXTURE3                       0x84C3
-#define GL_TEXTURE4                       0x84C4
-#define GL_TEXTURE5                       0x84C5
-#define GL_TEXTURE6                       0x84C6
-#define GL_TEXTURE7                       0x84C7
-#define GL_TEXTURE8                       0x84C8
-#define GL_TEXTURE9                       0x84C9
-#define GL_TEXTURE10                      0x84CA
-#define GL_TEXTURE11                      0x84CB
-#define GL_TEXTURE12                      0x84CC
-#define GL_TEXTURE13                      0x84CD
-#define GL_TEXTURE14                      0x84CE
-#define GL_TEXTURE15                      0x84CF
-#define GL_TEXTURE16                      0x84D0
-#define GL_TEXTURE17                      0x84D1
-#define GL_TEXTURE18                      0x84D2
-#define GL_TEXTURE19                      0x84D3
-#define GL_TEXTURE20                      0x84D4
-#define GL_TEXTURE21                      0x84D5
-#define GL_TEXTURE22                      0x84D6
-#define GL_TEXTURE23                      0x84D7
-#define GL_TEXTURE24                      0x84D8
-#define GL_TEXTURE25                      0x84D9
-#define GL_TEXTURE26                      0x84DA
-#define GL_TEXTURE27                      0x84DB
-#define GL_TEXTURE28                      0x84DC
-#define GL_TEXTURE29                      0x84DD
-#define GL_TEXTURE30                      0x84DE
-#define GL_TEXTURE31                      0x84DF
-#define GL_ACTIVE_TEXTURE                 0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE          0x84E1
-#define GL_MAX_TEXTURE_UNITS              0x84E2
-#define GL_TRANSPOSE_MODELVIEW_MATRIX     0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX    0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX       0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX         0x84E6
-#define GL_MULTISAMPLE                    0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE       0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE            0x809F
-#define GL_SAMPLE_COVERAGE                0x80A0
-#define GL_SAMPLE_BUFFERS                 0x80A8
-#define GL_SAMPLES                        0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE          0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT         0x80AB
-#define GL_MULTISAMPLE_BIT                0x20000000
-#define GL_NORMAL_MAP                     0x8511
-#define GL_REFLECTION_MAP                 0x8512
-#define GL_TEXTURE_CUBE_MAP               0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP       0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X    0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X    0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y    0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y    0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z    0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z    0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP         0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE      0x851C
-#define GL_COMPRESSED_ALPHA               0x84E9
-#define GL_COMPRESSED_LUMINANCE           0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA     0x84EB
-#define GL_COMPRESSED_INTENSITY           0x84EC
-#define GL_COMPRESSED_RGB                 0x84ED
-#define GL_COMPRESSED_RGBA                0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT       0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE  0x86A0
-#define GL_TEXTURE_COMPRESSED             0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS     0x86A3
-#define GL_CLAMP_TO_BORDER                0x812D
-#define GL_COMBINE                        0x8570
-#define GL_COMBINE_RGB                    0x8571
-#define GL_COMBINE_ALPHA                  0x8572
-#define GL_SOURCE0_RGB                    0x8580
-#define GL_SOURCE1_RGB                    0x8581
-#define GL_SOURCE2_RGB                    0x8582
-#define GL_SOURCE0_ALPHA                  0x8588
-#define GL_SOURCE1_ALPHA                  0x8589
-#define GL_SOURCE2_ALPHA                  0x858A
-#define GL_OPERAND0_RGB                   0x8590
-#define GL_OPERAND1_RGB                   0x8591
-#define GL_OPERAND2_RGB                   0x8592
-#define GL_OPERAND0_ALPHA                 0x8598
-#define GL_OPERAND1_ALPHA                 0x8599
-#define GL_OPERAND2_ALPHA                 0x859A
-#define GL_RGB_SCALE                      0x8573
-#define GL_ADD_SIGNED                     0x8574
-#define GL_INTERPOLATE                    0x8575
-#define GL_SUBTRACT                       0x84E7
-#define GL_CONSTANT                       0x8576
-#define GL_PRIMARY_COLOR                  0x8577
-#define GL_PREVIOUS                       0x8578
-#define GL_DOT3_RGB                       0x86AE
-#define GL_DOT3_RGBA                      0x86AF
-#endif
-
-#ifndef GL_VERSION_1_4
-#define GL_BLEND_DST_RGB                  0x80C8
-#define GL_BLEND_SRC_RGB                  0x80C9
-#define GL_BLEND_DST_ALPHA                0x80CA
-#define GL_BLEND_SRC_ALPHA                0x80CB
-#define GL_POINT_SIZE_MIN                 0x8126
-#define GL_POINT_SIZE_MAX                 0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE      0x8128
-#define GL_POINT_DISTANCE_ATTENUATION     0x8129
-#define GL_GENERATE_MIPMAP                0x8191
-#define GL_GENERATE_MIPMAP_HINT           0x8192
-#define GL_DEPTH_COMPONENT16              0x81A5
-#define GL_DEPTH_COMPONENT24              0x81A6
-#define GL_DEPTH_COMPONENT32              0x81A7
-#define GL_MIRRORED_REPEAT                0x8370
-#define GL_FOG_COORDINATE_SOURCE          0x8450
-#define GL_FOG_COORDINATE                 0x8451
-#define GL_FRAGMENT_DEPTH                 0x8452
-#define GL_CURRENT_FOG_COORDINATE         0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE      0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE    0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER   0x8456
-#define GL_FOG_COORDINATE_ARRAY           0x8457
-#define GL_COLOR_SUM                      0x8458
-#define GL_CURRENT_SECONDARY_COLOR        0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE     0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE     0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE   0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER  0x845D
-#define GL_SECONDARY_COLOR_ARRAY          0x845E
-#define GL_MAX_TEXTURE_LOD_BIAS           0x84FD
-#define GL_TEXTURE_FILTER_CONTROL         0x8500
-#define GL_TEXTURE_LOD_BIAS               0x8501
-#define GL_INCR_WRAP                      0x8507
-#define GL_DECR_WRAP                      0x8508
-#define GL_TEXTURE_DEPTH_SIZE             0x884A
-#define GL_DEPTH_TEXTURE_MODE             0x884B
-#define GL_TEXTURE_COMPARE_MODE           0x884C
-#define GL_TEXTURE_COMPARE_FUNC           0x884D
-#define GL_COMPARE_R_TO_TEXTURE           0x884E
-#endif
-
-#ifndef GL_VERSION_1_5
-#define GL_BUFFER_SIZE                    0x8764
-#define GL_BUFFER_USAGE                   0x8765
-#define GL_QUERY_COUNTER_BITS             0x8864
-#define GL_CURRENT_QUERY                  0x8865
-#define GL_QUERY_RESULT                   0x8866
-#define GL_QUERY_RESULT_AVAILABLE         0x8867
-#define GL_ARRAY_BUFFER                   0x8892
-#define GL_ELEMENT_ARRAY_BUFFER           0x8893
-#define GL_ARRAY_BUFFER_BINDING           0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING   0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING    0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING    0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING     0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING     0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING    0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
-#define GL_READ_ONLY                      0x88B8
-#define GL_WRITE_ONLY                     0x88B9
-#define GL_READ_WRITE                     0x88BA
-#define GL_BUFFER_ACCESS                  0x88BB
-#define GL_BUFFER_MAPPED                  0x88BC
-#define GL_BUFFER_MAP_POINTER             0x88BD
-#define GL_STREAM_DRAW                    0x88E0
-#define GL_STREAM_READ                    0x88E1
-#define GL_STREAM_COPY                    0x88E2
-#define GL_STATIC_DRAW                    0x88E4
-#define GL_STATIC_READ                    0x88E5
-#define GL_STATIC_COPY                    0x88E6
-#define GL_DYNAMIC_DRAW                   0x88E8
-#define GL_DYNAMIC_READ                   0x88E9
-#define GL_DYNAMIC_COPY                   0x88EA
-#define GL_SAMPLES_PASSED                 0x8914
-#define GL_FOG_COORD_SRC                  GL_FOG_COORDINATE_SOURCE
-#define GL_FOG_COORD                      GL_FOG_COORDINATE
-#define GL_CURRENT_FOG_COORD              GL_CURRENT_FOG_COORDINATE
-#define GL_FOG_COORD_ARRAY_TYPE           GL_FOG_COORDINATE_ARRAY_TYPE
-#define GL_FOG_COORD_ARRAY_STRIDE         GL_FOG_COORDINATE_ARRAY_STRIDE
-#define GL_FOG_COORD_ARRAY_POINTER        GL_FOG_COORDINATE_ARRAY_POINTER
-#define GL_FOG_COORD_ARRAY                GL_FOG_COORDINATE_ARRAY
-#define GL_FOG_COORD_ARRAY_BUFFER_BINDING GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING
-#define GL_SRC0_RGB                       GL_SOURCE0_RGB
-#define GL_SRC1_RGB                       GL_SOURCE1_RGB
-#define GL_SRC2_RGB                       GL_SOURCE2_RGB
-#define GL_SRC0_ALPHA                     GL_SOURCE0_ALPHA
-#define GL_SRC1_ALPHA                     GL_SOURCE1_ALPHA
-#define GL_SRC2_ALPHA                     GL_SOURCE2_ALPHA
-#endif
-
-#ifndef GL_VERSION_2_0
-#define GL_BLEND_EQUATION_RGB             GL_BLEND_EQUATION
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED    0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE       0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE     0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE       0x8625
-#define GL_CURRENT_VERTEX_ATTRIB          0x8626
-#define GL_VERTEX_PROGRAM_POINT_SIZE      0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE        0x8643
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER    0x8645
-#define GL_STENCIL_BACK_FUNC              0x8800
-#define GL_STENCIL_BACK_FAIL              0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL   0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS   0x8803
-#define GL_MAX_DRAW_BUFFERS               0x8824
-#define GL_DRAW_BUFFER0                   0x8825
-#define GL_DRAW_BUFFER1                   0x8826
-#define GL_DRAW_BUFFER2                   0x8827
-#define GL_DRAW_BUFFER3                   0x8828
-#define GL_DRAW_BUFFER4                   0x8829
-#define GL_DRAW_BUFFER5                   0x882A
-#define GL_DRAW_BUFFER6                   0x882B
-#define GL_DRAW_BUFFER7                   0x882C
-#define GL_DRAW_BUFFER8                   0x882D
-#define GL_DRAW_BUFFER9                   0x882E
-#define GL_DRAW_BUFFER10                  0x882F
-#define GL_DRAW_BUFFER11                  0x8830
-#define GL_DRAW_BUFFER12                  0x8831
-#define GL_DRAW_BUFFER13                  0x8832
-#define GL_DRAW_BUFFER14                  0x8833
-#define GL_DRAW_BUFFER15                  0x8834
-#define GL_BLEND_EQUATION_ALPHA           0x883D
-#define GL_POINT_SPRITE                   0x8861
-#define GL_COORD_REPLACE                  0x8862
-#define GL_MAX_VERTEX_ATTRIBS             0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
-#define GL_MAX_TEXTURE_COORDS             0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS        0x8872
-#define GL_FRAGMENT_SHADER                0x8B30
-#define GL_VERTEX_SHADER                  0x8B31
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS  0x8B4A
-#define GL_MAX_VARYING_FLOATS             0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
-#define GL_SHADER_TYPE                    0x8B4F
-#define GL_FLOAT_VEC2                     0x8B50
-#define GL_FLOAT_VEC3                     0x8B51
-#define GL_FLOAT_VEC4                     0x8B52
-#define GL_INT_VEC2                       0x8B53
-#define GL_INT_VEC3                       0x8B54
-#define GL_INT_VEC4                       0x8B55
-#define GL_BOOL                           0x8B56
-#define GL_BOOL_VEC2                      0x8B57
-#define GL_BOOL_VEC3                      0x8B58
-#define GL_BOOL_VEC4                      0x8B59
-#define GL_FLOAT_MAT2                     0x8B5A
-#define GL_FLOAT_MAT3                     0x8B5B
-#define GL_FLOAT_MAT4                     0x8B5C
-#define GL_SAMPLER_1D                     0x8B5D
-#define GL_SAMPLER_2D                     0x8B5E
-#define GL_SAMPLER_3D                     0x8B5F
-#define GL_SAMPLER_CUBE                   0x8B60
-#define GL_SAMPLER_1D_SHADOW              0x8B61
-#define GL_SAMPLER_2D_SHADOW              0x8B62
-#define GL_DELETE_STATUS                  0x8B80
-#define GL_COMPILE_STATUS                 0x8B81
-#define GL_LINK_STATUS                    0x8B82
-#define GL_VALIDATE_STATUS                0x8B83
-#define GL_INFO_LOG_LENGTH                0x8B84
-#define GL_ATTACHED_SHADERS               0x8B85
-#define GL_ACTIVE_UNIFORMS                0x8B86
-#define GL_ACTIVE_UNIFORM_MAX_LENGTH      0x8B87
-#define GL_SHADER_SOURCE_LENGTH           0x8B88
-#define GL_ACTIVE_ATTRIBUTES              0x8B89
-#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH    0x8B8A
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT 0x8B8B
-#define GL_SHADING_LANGUAGE_VERSION       0x8B8C
-#define GL_CURRENT_PROGRAM                0x8B8D
-#define GL_POINT_SPRITE_COORD_ORIGIN      0x8CA0
-#define GL_LOWER_LEFT                     0x8CA1
-#define GL_UPPER_LEFT                     0x8CA2
-#define GL_STENCIL_BACK_REF               0x8CA3
-#define GL_STENCIL_BACK_VALUE_MASK        0x8CA4
-#define GL_STENCIL_BACK_WRITEMASK         0x8CA5
-#endif
-
-#ifndef GL_VERSION_2_1
-#define GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F
-#define GL_PIXEL_PACK_BUFFER              0x88EB
-#define GL_PIXEL_UNPACK_BUFFER            0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING      0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING    0x88EF
-#define GL_FLOAT_MAT2x3                   0x8B65
-#define GL_FLOAT_MAT2x4                   0x8B66
-#define GL_FLOAT_MAT3x2                   0x8B67
-#define GL_FLOAT_MAT3x4                   0x8B68
-#define GL_FLOAT_MAT4x2                   0x8B69
-#define GL_FLOAT_MAT4x3                   0x8B6A
-#define GL_SRGB                           0x8C40
-#define GL_SRGB8                          0x8C41
-#define GL_SRGB_ALPHA                     0x8C42
-#define GL_SRGB8_ALPHA8                   0x8C43
-#define GL_SLUMINANCE_ALPHA               0x8C44
-#define GL_SLUMINANCE8_ALPHA8             0x8C45
-#define GL_SLUMINANCE                     0x8C46
-#define GL_SLUMINANCE8                    0x8C47
-#define GL_COMPRESSED_SRGB                0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA          0x8C49
-#define GL_COMPRESSED_SLUMINANCE          0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA    0x8C4B
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_TEXTURE0_ARB                   0x84C0
-#define GL_TEXTURE1_ARB                   0x84C1
-#define GL_TEXTURE2_ARB                   0x84C2
-#define GL_TEXTURE3_ARB                   0x84C3
-#define GL_TEXTURE4_ARB                   0x84C4
-#define GL_TEXTURE5_ARB                   0x84C5
-#define GL_TEXTURE6_ARB                   0x84C6
-#define GL_TEXTURE7_ARB                   0x84C7
-#define GL_TEXTURE8_ARB                   0x84C8
-#define GL_TEXTURE9_ARB                   0x84C9
-#define GL_TEXTURE10_ARB                  0x84CA
-#define GL_TEXTURE11_ARB                  0x84CB
-#define GL_TEXTURE12_ARB                  0x84CC
-#define GL_TEXTURE13_ARB                  0x84CD
-#define GL_TEXTURE14_ARB                  0x84CE
-#define GL_TEXTURE15_ARB                  0x84CF
-#define GL_TEXTURE16_ARB                  0x84D0
-#define GL_TEXTURE17_ARB                  0x84D1
-#define GL_TEXTURE18_ARB                  0x84D2
-#define GL_TEXTURE19_ARB                  0x84D3
-#define GL_TEXTURE20_ARB                  0x84D4
-#define GL_TEXTURE21_ARB                  0x84D5
-#define GL_TEXTURE22_ARB                  0x84D6
-#define GL_TEXTURE23_ARB                  0x84D7
-#define GL_TEXTURE24_ARB                  0x84D8
-#define GL_TEXTURE25_ARB                  0x84D9
-#define GL_TEXTURE26_ARB                  0x84DA
-#define GL_TEXTURE27_ARB                  0x84DB
-#define GL_TEXTURE28_ARB                  0x84DC
-#define GL_TEXTURE29_ARB                  0x84DD
-#define GL_TEXTURE30_ARB                  0x84DE
-#define GL_TEXTURE31_ARB                  0x84DF
-#define GL_ACTIVE_TEXTURE_ARB             0x84E0
-#define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
-#define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3
-#define GL_TRANSPOSE_PROJECTION_MATRIX_ARB 0x84E4
-#define GL_TRANSPOSE_TEXTURE_MATRIX_ARB   0x84E5
-#define GL_TRANSPOSE_COLOR_MATRIX_ARB     0x84E6
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_MULTISAMPLE_ARB                0x809D
-#define GL_SAMPLE_ALPHA_TO_COVERAGE_ARB   0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_ARB        0x809F
-#define GL_SAMPLE_COVERAGE_ARB            0x80A0
-#define GL_SAMPLE_BUFFERS_ARB             0x80A8
-#define GL_SAMPLES_ARB                    0x80A9
-#define GL_SAMPLE_COVERAGE_VALUE_ARB      0x80AA
-#define GL_SAMPLE_COVERAGE_INVERT_ARB     0x80AB
-#define GL_MULTISAMPLE_BIT_ARB            0x20000000
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_NORMAL_MAP_ARB                 0x8511
-#define GL_REFLECTION_MAP_ARB             0x8512
-#define GL_TEXTURE_CUBE_MAP_ARB           0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_COMPRESSED_ALPHA_ARB           0x84E9
-#define GL_COMPRESSED_LUMINANCE_ARB       0x84EA
-#define GL_COMPRESSED_LUMINANCE_ALPHA_ARB 0x84EB
-#define GL_COMPRESSED_INTENSITY_ARB       0x84EC
-#define GL_COMPRESSED_RGB_ARB             0x84ED
-#define GL_COMPRESSED_RGBA_ARB            0x84EE
-#define GL_TEXTURE_COMPRESSION_HINT_ARB   0x84EF
-#define GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB 0x86A0
-#define GL_TEXTURE_COMPRESSED_ARB         0x86A1
-#define GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A2
-#define GL_COMPRESSED_TEXTURE_FORMATS_ARB 0x86A3
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_CLAMP_TO_BORDER_ARB            0x812D
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_POINT_SIZE_MIN_ARB             0x8126
-#define GL_POINT_SIZE_MAX_ARB             0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_ARB  0x8128
-#define GL_POINT_DISTANCE_ATTENUATION_ARB 0x8129
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_MAX_VERTEX_UNITS_ARB           0x86A4
-#define GL_ACTIVE_VERTEX_UNITS_ARB        0x86A5
-#define GL_WEIGHT_SUM_UNITY_ARB           0x86A6
-#define GL_VERTEX_BLEND_ARB               0x86A7
-#define GL_CURRENT_WEIGHT_ARB             0x86A8
-#define GL_WEIGHT_ARRAY_TYPE_ARB          0x86A9
-#define GL_WEIGHT_ARRAY_STRIDE_ARB        0x86AA
-#define GL_WEIGHT_ARRAY_SIZE_ARB          0x86AB
-#define GL_WEIGHT_ARRAY_POINTER_ARB       0x86AC
-#define GL_WEIGHT_ARRAY_ARB               0x86AD
-#define GL_MODELVIEW0_ARB                 0x1700
-#define GL_MODELVIEW1_ARB                 0x850A
-#define GL_MODELVIEW2_ARB                 0x8722
-#define GL_MODELVIEW3_ARB                 0x8723
-#define GL_MODELVIEW4_ARB                 0x8724
-#define GL_MODELVIEW5_ARB                 0x8725
-#define GL_MODELVIEW6_ARB                 0x8726
-#define GL_MODELVIEW7_ARB                 0x8727
-#define GL_MODELVIEW8_ARB                 0x8728
-#define GL_MODELVIEW9_ARB                 0x8729
-#define GL_MODELVIEW10_ARB                0x872A
-#define GL_MODELVIEW11_ARB                0x872B
-#define GL_MODELVIEW12_ARB                0x872C
-#define GL_MODELVIEW13_ARB                0x872D
-#define GL_MODELVIEW14_ARB                0x872E
-#define GL_MODELVIEW15_ARB                0x872F
-#define GL_MODELVIEW16_ARB                0x8730
-#define GL_MODELVIEW17_ARB                0x8731
-#define GL_MODELVIEW18_ARB                0x8732
-#define GL_MODELVIEW19_ARB                0x8733
-#define GL_MODELVIEW20_ARB                0x8734
-#define GL_MODELVIEW21_ARB                0x8735
-#define GL_MODELVIEW22_ARB                0x8736
-#define GL_MODELVIEW23_ARB                0x8737
-#define GL_MODELVIEW24_ARB                0x8738
-#define GL_MODELVIEW25_ARB                0x8739
-#define GL_MODELVIEW26_ARB                0x873A
-#define GL_MODELVIEW27_ARB                0x873B
-#define GL_MODELVIEW28_ARB                0x873C
-#define GL_MODELVIEW29_ARB                0x873D
-#define GL_MODELVIEW30_ARB                0x873E
-#define GL_MODELVIEW31_ARB                0x873F
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_MATRIX_PALETTE_ARB             0x8840
-#define GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841
-#define GL_MAX_PALETTE_MATRICES_ARB       0x8842
-#define GL_CURRENT_PALETTE_MATRIX_ARB     0x8843
-#define GL_MATRIX_INDEX_ARRAY_ARB         0x8844
-#define GL_CURRENT_MATRIX_INDEX_ARB       0x8845
-#define GL_MATRIX_INDEX_ARRAY_SIZE_ARB    0x8846
-#define GL_MATRIX_INDEX_ARRAY_TYPE_ARB    0x8847
-#define GL_MATRIX_INDEX_ARRAY_STRIDE_ARB  0x8848
-#define GL_MATRIX_INDEX_ARRAY_POINTER_ARB 0x8849
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_COMBINE_ARB                    0x8570
-#define GL_COMBINE_RGB_ARB                0x8571
-#define GL_COMBINE_ALPHA_ARB              0x8572
-#define GL_SOURCE0_RGB_ARB                0x8580
-#define GL_SOURCE1_RGB_ARB                0x8581
-#define GL_SOURCE2_RGB_ARB                0x8582
-#define GL_SOURCE0_ALPHA_ARB              0x8588
-#define GL_SOURCE1_ALPHA_ARB              0x8589
-#define GL_SOURCE2_ALPHA_ARB              0x858A
-#define GL_OPERAND0_RGB_ARB               0x8590
-#define GL_OPERAND1_RGB_ARB               0x8591
-#define GL_OPERAND2_RGB_ARB               0x8592
-#define GL_OPERAND0_ALPHA_ARB             0x8598
-#define GL_OPERAND1_ALPHA_ARB             0x8599
-#define GL_OPERAND2_ALPHA_ARB             0x859A
-#define GL_RGB_SCALE_ARB                  0x8573
-#define GL_ADD_SIGNED_ARB                 0x8574
-#define GL_INTERPOLATE_ARB                0x8575
-#define GL_SUBTRACT_ARB                   0x84E7
-#define GL_CONSTANT_ARB                   0x8576
-#define GL_PRIMARY_COLOR_ARB              0x8577
-#define GL_PREVIOUS_ARB                   0x8578
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_DOT3_RGB_ARB                   0x86AE
-#define GL_DOT3_RGBA_ARB                  0x86AF
-#endif
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_ARB            0x8370
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_DEPTH_COMPONENT16_ARB          0x81A5
-#define GL_DEPTH_COMPONENT24_ARB          0x81A6
-#define GL_DEPTH_COMPONENT32_ARB          0x81A7
-#define GL_TEXTURE_DEPTH_SIZE_ARB         0x884A
-#define GL_DEPTH_TEXTURE_MODE_ARB         0x884B
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_TEXTURE_COMPARE_MODE_ARB       0x884C
-#define GL_TEXTURE_COMPARE_FUNC_ARB       0x884D
-#define GL_COMPARE_R_TO_TEXTURE_ARB       0x884E
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF
-#endif
-
-#ifndef GL_ARB_window_pos
-#endif
-
-#ifndef GL_ARB_vertex_program
-#define GL_COLOR_SUM_ARB                  0x8458
-#define GL_VERTEX_PROGRAM_ARB             0x8620
-#define GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB 0x8622
-#define GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB   0x8623
-#define GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB 0x8624
-#define GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB   0x8625
-#define GL_CURRENT_VERTEX_ATTRIB_ARB      0x8626
-#define GL_PROGRAM_LENGTH_ARB             0x8627
-#define GL_PROGRAM_STRING_ARB             0x8628
-#define GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB 0x862E
-#define GL_MAX_PROGRAM_MATRICES_ARB       0x862F
-#define GL_CURRENT_MATRIX_STACK_DEPTH_ARB 0x8640
-#define GL_CURRENT_MATRIX_ARB             0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_ARB  0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_ARB    0x8643
-#define GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB 0x8645
-#define GL_PROGRAM_ERROR_POSITION_ARB     0x864B
-#define GL_PROGRAM_BINDING_ARB            0x8677
-#define GL_MAX_VERTEX_ATTRIBS_ARB         0x8869
-#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB 0x886A
-#define GL_PROGRAM_ERROR_STRING_ARB       0x8874
-#define GL_PROGRAM_FORMAT_ASCII_ARB       0x8875
-#define GL_PROGRAM_FORMAT_ARB             0x8876
-#define GL_PROGRAM_INSTRUCTIONS_ARB       0x88A0
-#define GL_MAX_PROGRAM_INSTRUCTIONS_ARB   0x88A1
-#define GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A2
-#define GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB 0x88A3
-#define GL_PROGRAM_TEMPORARIES_ARB        0x88A4
-#define GL_MAX_PROGRAM_TEMPORARIES_ARB    0x88A5
-#define GL_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A6
-#define GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB 0x88A7
-#define GL_PROGRAM_PARAMETERS_ARB         0x88A8
-#define GL_MAX_PROGRAM_PARAMETERS_ARB     0x88A9
-#define GL_PROGRAM_NATIVE_PARAMETERS_ARB  0x88AA
-#define GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB 0x88AB
-#define GL_PROGRAM_ATTRIBS_ARB            0x88AC
-#define GL_MAX_PROGRAM_ATTRIBS_ARB        0x88AD
-#define GL_PROGRAM_NATIVE_ATTRIBS_ARB     0x88AE
-#define GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB 0x88AF
-#define GL_PROGRAM_ADDRESS_REGISTERS_ARB  0x88B0
-#define GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB 0x88B1
-#define GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B2
-#define GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB 0x88B3
-#define GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB 0x88B4
-#define GL_MAX_PROGRAM_ENV_PARAMETERS_ARB 0x88B5
-#define GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB 0x88B6
-#define GL_TRANSPOSE_CURRENT_MATRIX_ARB   0x88B7
-#define GL_MATRIX0_ARB                    0x88C0
-#define GL_MATRIX1_ARB                    0x88C1
-#define GL_MATRIX2_ARB                    0x88C2
-#define GL_MATRIX3_ARB                    0x88C3
-#define GL_MATRIX4_ARB                    0x88C4
-#define GL_MATRIX5_ARB                    0x88C5
-#define GL_MATRIX6_ARB                    0x88C6
-#define GL_MATRIX7_ARB                    0x88C7
-#define GL_MATRIX8_ARB                    0x88C8
-#define GL_MATRIX9_ARB                    0x88C9
-#define GL_MATRIX10_ARB                   0x88CA
-#define GL_MATRIX11_ARB                   0x88CB
-#define GL_MATRIX12_ARB                   0x88CC
-#define GL_MATRIX13_ARB                   0x88CD
-#define GL_MATRIX14_ARB                   0x88CE
-#define GL_MATRIX15_ARB                   0x88CF
-#define GL_MATRIX16_ARB                   0x88D0
-#define GL_MATRIX17_ARB                   0x88D1
-#define GL_MATRIX18_ARB                   0x88D2
-#define GL_MATRIX19_ARB                   0x88D3
-#define GL_MATRIX20_ARB                   0x88D4
-#define GL_MATRIX21_ARB                   0x88D5
-#define GL_MATRIX22_ARB                   0x88D6
-#define GL_MATRIX23_ARB                   0x88D7
-#define GL_MATRIX24_ARB                   0x88D8
-#define GL_MATRIX25_ARB                   0x88D9
-#define GL_MATRIX26_ARB                   0x88DA
-#define GL_MATRIX27_ARB                   0x88DB
-#define GL_MATRIX28_ARB                   0x88DC
-#define GL_MATRIX29_ARB                   0x88DD
-#define GL_MATRIX30_ARB                   0x88DE
-#define GL_MATRIX31_ARB                   0x88DF
-#endif
-
-#ifndef GL_ARB_fragment_program
-#define GL_FRAGMENT_PROGRAM_ARB           0x8804
-#define GL_PROGRAM_ALU_INSTRUCTIONS_ARB   0x8805
-#define GL_PROGRAM_TEX_INSTRUCTIONS_ARB   0x8806
-#define GL_PROGRAM_TEX_INDIRECTIONS_ARB   0x8807
-#define GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x8808
-#define GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x8809
-#define GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x880A
-#define GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB 0x880B
-#define GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB 0x880C
-#define GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB 0x880D
-#define GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB 0x880E
-#define GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB 0x880F
-#define GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB 0x8810
-#define GL_MAX_TEXTURE_COORDS_ARB         0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_ARB    0x8872
-#endif
-
-#ifndef GL_ARB_vertex_buffer_object
-#define GL_BUFFER_SIZE_ARB                0x8764
-#define GL_BUFFER_USAGE_ARB               0x8765
-#define GL_ARRAY_BUFFER_ARB               0x8892
-#define GL_ELEMENT_ARRAY_BUFFER_ARB       0x8893
-#define GL_ARRAY_BUFFER_BINDING_ARB       0x8894
-#define GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB 0x8895
-#define GL_VERTEX_ARRAY_BUFFER_BINDING_ARB 0x8896
-#define GL_NORMAL_ARRAY_BUFFER_BINDING_ARB 0x8897
-#define GL_COLOR_ARRAY_BUFFER_BINDING_ARB 0x8898
-#define GL_INDEX_ARRAY_BUFFER_BINDING_ARB 0x8899
-#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB 0x889A
-#define GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB 0x889B
-#define GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB 0x889C
-#define GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB 0x889D
-#define GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB 0x889E
-#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB 0x889F
-#define GL_READ_ONLY_ARB                  0x88B8
-#define GL_WRITE_ONLY_ARB                 0x88B9
-#define GL_READ_WRITE_ARB                 0x88BA
-#define GL_BUFFER_ACCESS_ARB              0x88BB
-#define GL_BUFFER_MAPPED_ARB              0x88BC
-#define GL_BUFFER_MAP_POINTER_ARB         0x88BD
-#define GL_STREAM_DRAW_ARB                0x88E0
-#define GL_STREAM_READ_ARB                0x88E1
-#define GL_STREAM_COPY_ARB                0x88E2
-#define GL_STATIC_DRAW_ARB                0x88E4
-#define GL_STATIC_READ_ARB                0x88E5
-#define GL_STATIC_COPY_ARB                0x88E6
-#define GL_DYNAMIC_DRAW_ARB               0x88E8
-#define GL_DYNAMIC_READ_ARB               0x88E9
-#define GL_DYNAMIC_COPY_ARB               0x88EA
-#endif
-
-#ifndef GL_ARB_occlusion_query
-#define GL_QUERY_COUNTER_BITS_ARB         0x8864
-#define GL_CURRENT_QUERY_ARB              0x8865
-#define GL_QUERY_RESULT_ARB               0x8866
-#define GL_QUERY_RESULT_AVAILABLE_ARB     0x8867
-#define GL_SAMPLES_PASSED_ARB             0x8914
-#endif
-
-#ifndef GL_ARB_shader_objects
-#define GL_PROGRAM_OBJECT_ARB             0x8B40
-#define GL_SHADER_OBJECT_ARB              0x8B48
-#define GL_OBJECT_TYPE_ARB                0x8B4E
-#define GL_OBJECT_SUBTYPE_ARB             0x8B4F
-#define GL_FLOAT_VEC2_ARB                 0x8B50
-#define GL_FLOAT_VEC3_ARB                 0x8B51
-#define GL_FLOAT_VEC4_ARB                 0x8B52
-#define GL_INT_VEC2_ARB                   0x8B53
-#define GL_INT_VEC3_ARB                   0x8B54
-#define GL_INT_VEC4_ARB                   0x8B55
-#define GL_BOOL_ARB                       0x8B56
-#define GL_BOOL_VEC2_ARB                  0x8B57
-#define GL_BOOL_VEC3_ARB                  0x8B58
-#define GL_BOOL_VEC4_ARB                  0x8B59
-#define GL_FLOAT_MAT2_ARB                 0x8B5A
-#define GL_FLOAT_MAT3_ARB                 0x8B5B
-#define GL_FLOAT_MAT4_ARB                 0x8B5C
-#define GL_SAMPLER_1D_ARB                 0x8B5D
-#define GL_SAMPLER_2D_ARB                 0x8B5E
-#define GL_SAMPLER_3D_ARB                 0x8B5F
-#define GL_SAMPLER_CUBE_ARB               0x8B60
-#define GL_SAMPLER_1D_SHADOW_ARB          0x8B61
-#define GL_SAMPLER_2D_SHADOW_ARB          0x8B62
-#define GL_SAMPLER_2D_RECT_ARB            0x8B63
-#define GL_SAMPLER_2D_RECT_SHADOW_ARB     0x8B64
-#define GL_OBJECT_DELETE_STATUS_ARB       0x8B80
-#define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81
-#define GL_OBJECT_LINK_STATUS_ARB         0x8B82
-#define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83
-#define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84
-#define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85
-#define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86
-#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
-#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
-#endif
-
-#ifndef GL_ARB_vertex_shader
-#define GL_VERTEX_SHADER_ARB              0x8B31
-#define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
-#define GL_MAX_VARYING_FLOATS_ARB         0x8B4B
-#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
-#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
-#define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89
-#define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
-#endif
-
-#ifndef GL_ARB_fragment_shader
-#define GL_FRAGMENT_SHADER_ARB            0x8B30
-#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
-#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
-#endif
-
-#ifndef GL_ARB_shading_language_100
-#define GL_SHADING_LANGUAGE_VERSION_ARB   0x8B8C
-#endif
-
-#ifndef GL_ARB_texture_non_power_of_two
-#endif
-
-#ifndef GL_ARB_point_sprite
-#define GL_POINT_SPRITE_ARB               0x8861
-#define GL_COORD_REPLACE_ARB              0x8862
-#endif
-
-#ifndef GL_ARB_fragment_program_shadow
-#endif
-
-#ifndef GL_ARB_draw_buffers
-#define GL_MAX_DRAW_BUFFERS_ARB           0x8824
-#define GL_DRAW_BUFFER0_ARB               0x8825
-#define GL_DRAW_BUFFER1_ARB               0x8826
-#define GL_DRAW_BUFFER2_ARB               0x8827
-#define GL_DRAW_BUFFER3_ARB               0x8828
-#define GL_DRAW_BUFFER4_ARB               0x8829
-#define GL_DRAW_BUFFER5_ARB               0x882A
-#define GL_DRAW_BUFFER6_ARB               0x882B
-#define GL_DRAW_BUFFER7_ARB               0x882C
-#define GL_DRAW_BUFFER8_ARB               0x882D
-#define GL_DRAW_BUFFER9_ARB               0x882E
-#define GL_DRAW_BUFFER10_ARB              0x882F
-#define GL_DRAW_BUFFER11_ARB              0x8830
-#define GL_DRAW_BUFFER12_ARB              0x8831
-#define GL_DRAW_BUFFER13_ARB              0x8832
-#define GL_DRAW_BUFFER14_ARB              0x8833
-#define GL_DRAW_BUFFER15_ARB              0x8834
-#endif
-
-#ifndef GL_ARB_texture_rectangle
-#define GL_TEXTURE_RECTANGLE_ARB          0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_ARB  0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_ARB    0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB 0x84F8
-#endif
-
-#ifndef GL_ARB_color_buffer_float
-#define GL_RGBA_FLOAT_MODE_ARB            0x8820
-#define GL_CLAMP_VERTEX_COLOR_ARB         0x891A
-#define GL_CLAMP_FRAGMENT_COLOR_ARB       0x891B
-#define GL_CLAMP_READ_COLOR_ARB           0x891C
-#define GL_FIXED_ONLY_ARB                 0x891D
-#endif
-
-#ifndef GL_ARB_half_float_pixel
-#define GL_HALF_FLOAT_ARB                 0x140B
-#endif
-
-#ifndef GL_ARB_texture_float
-#define GL_TEXTURE_RED_TYPE_ARB           0x8C10
-#define GL_TEXTURE_GREEN_TYPE_ARB         0x8C11
-#define GL_TEXTURE_BLUE_TYPE_ARB          0x8C12
-#define GL_TEXTURE_ALPHA_TYPE_ARB         0x8C13
-#define GL_TEXTURE_LUMINANCE_TYPE_ARB     0x8C14
-#define GL_TEXTURE_INTENSITY_TYPE_ARB     0x8C15
-#define GL_TEXTURE_DEPTH_TYPE_ARB         0x8C16
-#define GL_UNSIGNED_NORMALIZED_ARB        0x8C17
-#define GL_RGBA32F_ARB                    0x8814
-#define GL_RGB32F_ARB                     0x8815
-#define GL_ALPHA32F_ARB                   0x8816
-#define GL_INTENSITY32F_ARB               0x8817
-#define GL_LUMINANCE32F_ARB               0x8818
-#define GL_LUMINANCE_ALPHA32F_ARB         0x8819
-#define GL_RGBA16F_ARB                    0x881A
-#define GL_RGB16F_ARB                     0x881B
-#define GL_ALPHA16F_ARB                   0x881C
-#define GL_INTENSITY16F_ARB               0x881D
-#define GL_LUMINANCE16F_ARB               0x881E
-#define GL_LUMINANCE_ALPHA16F_ARB         0x881F
-#endif
-
-#ifndef GL_ARB_pixel_buffer_object
-#define GL_PIXEL_PACK_BUFFER_ARB          0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_ARB        0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_ARB  0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_ARB 0x88EF
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_ABGR_EXT                       0x8000
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_CONSTANT_COLOR_EXT             0x8001
-#define GL_ONE_MINUS_CONSTANT_COLOR_EXT   0x8002
-#define GL_CONSTANT_ALPHA_EXT             0x8003
-#define GL_ONE_MINUS_CONSTANT_ALPHA_EXT   0x8004
-#define GL_BLEND_COLOR_EXT                0x8005
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_POLYGON_OFFSET_EXT             0x8037
-#define GL_POLYGON_OFFSET_FACTOR_EXT      0x8038
-#define GL_POLYGON_OFFSET_BIAS_EXT        0x8039
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_ALPHA4_EXT                     0x803B
-#define GL_ALPHA8_EXT                     0x803C
-#define GL_ALPHA12_EXT                    0x803D
-#define GL_ALPHA16_EXT                    0x803E
-#define GL_LUMINANCE4_EXT                 0x803F
-#define GL_LUMINANCE8_EXT                 0x8040
-#define GL_LUMINANCE12_EXT                0x8041
-#define GL_LUMINANCE16_EXT                0x8042
-#define GL_LUMINANCE4_ALPHA4_EXT          0x8043
-#define GL_LUMINANCE6_ALPHA2_EXT          0x8044
-#define GL_LUMINANCE8_ALPHA8_EXT          0x8045
-#define GL_LUMINANCE12_ALPHA4_EXT         0x8046
-#define GL_LUMINANCE12_ALPHA12_EXT        0x8047
-#define GL_LUMINANCE16_ALPHA16_EXT        0x8048
-#define GL_INTENSITY_EXT                  0x8049
-#define GL_INTENSITY4_EXT                 0x804A
-#define GL_INTENSITY8_EXT                 0x804B
-#define GL_INTENSITY12_EXT                0x804C
-#define GL_INTENSITY16_EXT                0x804D
-#define GL_RGB2_EXT                       0x804E
-#define GL_RGB4_EXT                       0x804F
-#define GL_RGB5_EXT                       0x8050
-#define GL_RGB8_EXT                       0x8051
-#define GL_RGB10_EXT                      0x8052
-#define GL_RGB12_EXT                      0x8053
-#define GL_RGB16_EXT                      0x8054
-#define GL_RGBA2_EXT                      0x8055
-#define GL_RGBA4_EXT                      0x8056
-#define GL_RGB5_A1_EXT                    0x8057
-#define GL_RGBA8_EXT                      0x8058
-#define GL_RGB10_A2_EXT                   0x8059
-#define GL_RGBA12_EXT                     0x805A
-#define GL_RGBA16_EXT                     0x805B
-#define GL_TEXTURE_RED_SIZE_EXT           0x805C
-#define GL_TEXTURE_GREEN_SIZE_EXT         0x805D
-#define GL_TEXTURE_BLUE_SIZE_EXT          0x805E
-#define GL_TEXTURE_ALPHA_SIZE_EXT         0x805F
-#define GL_TEXTURE_LUMINANCE_SIZE_EXT     0x8060
-#define GL_TEXTURE_INTENSITY_SIZE_EXT     0x8061
-#define GL_REPLACE_EXT                    0x8062
-#define GL_PROXY_TEXTURE_1D_EXT           0x8063
-#define GL_PROXY_TEXTURE_2D_EXT           0x8064
-#define GL_TEXTURE_TOO_LARGE_EXT          0x8065
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_PACK_SKIP_IMAGES_EXT           0x806B
-#define GL_PACK_IMAGE_HEIGHT_EXT          0x806C
-#define GL_UNPACK_SKIP_IMAGES_EXT         0x806D
-#define GL_UNPACK_IMAGE_HEIGHT_EXT        0x806E
-#define GL_TEXTURE_3D_EXT                 0x806F
-#define GL_PROXY_TEXTURE_3D_EXT           0x8070
-#define GL_TEXTURE_DEPTH_EXT              0x8071
-#define GL_TEXTURE_WRAP_R_EXT             0x8072
-#define GL_MAX_3D_TEXTURE_SIZE_EXT        0x8073
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_FILTER4_SGIS                   0x8146
-#define GL_TEXTURE_FILTER4_SIZE_SGIS      0x8147
-#endif
-
-#ifndef GL_EXT_subtexture
-#endif
-
-#ifndef GL_EXT_copy_texture
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_HISTOGRAM_EXT                  0x8024
-#define GL_PROXY_HISTOGRAM_EXT            0x8025
-#define GL_HISTOGRAM_WIDTH_EXT            0x8026
-#define GL_HISTOGRAM_FORMAT_EXT           0x8027
-#define GL_HISTOGRAM_RED_SIZE_EXT         0x8028
-#define GL_HISTOGRAM_GREEN_SIZE_EXT       0x8029
-#define GL_HISTOGRAM_BLUE_SIZE_EXT        0x802A
-#define GL_HISTOGRAM_ALPHA_SIZE_EXT       0x802B
-#define GL_HISTOGRAM_LUMINANCE_SIZE_EXT   0x802C
-#define GL_HISTOGRAM_SINK_EXT             0x802D
-#define GL_MINMAX_EXT                     0x802E
-#define GL_MINMAX_FORMAT_EXT              0x802F
-#define GL_MINMAX_SINK_EXT                0x8030
-#define GL_TABLE_TOO_LARGE_EXT            0x8031
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_CONVOLUTION_1D_EXT             0x8010
-#define GL_CONVOLUTION_2D_EXT             0x8011
-#define GL_SEPARABLE_2D_EXT               0x8012
-#define GL_CONVOLUTION_BORDER_MODE_EXT    0x8013
-#define GL_CONVOLUTION_FILTER_SCALE_EXT   0x8014
-#define GL_CONVOLUTION_FILTER_BIAS_EXT    0x8015
-#define GL_REDUCE_EXT                     0x8016
-#define GL_CONVOLUTION_FORMAT_EXT         0x8017
-#define GL_CONVOLUTION_WIDTH_EXT          0x8018
-#define GL_CONVOLUTION_HEIGHT_EXT         0x8019
-#define GL_MAX_CONVOLUTION_WIDTH_EXT      0x801A
-#define GL_MAX_CONVOLUTION_HEIGHT_EXT     0x801B
-#define GL_POST_CONVOLUTION_RED_SCALE_EXT 0x801C
-#define GL_POST_CONVOLUTION_GREEN_SCALE_EXT 0x801D
-#define GL_POST_CONVOLUTION_BLUE_SCALE_EXT 0x801E
-#define GL_POST_CONVOLUTION_ALPHA_SCALE_EXT 0x801F
-#define GL_POST_CONVOLUTION_RED_BIAS_EXT  0x8020
-#define GL_POST_CONVOLUTION_GREEN_BIAS_EXT 0x8021
-#define GL_POST_CONVOLUTION_BLUE_BIAS_EXT 0x8022
-#define GL_POST_CONVOLUTION_ALPHA_BIAS_EXT 0x8023
-#endif
-
-#ifndef GL_SGI_color_matrix
-#define GL_COLOR_MATRIX_SGI               0x80B1
-#define GL_COLOR_MATRIX_STACK_DEPTH_SGI   0x80B2
-#define GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI 0x80B3
-#define GL_POST_COLOR_MATRIX_RED_SCALE_SGI 0x80B4
-#define GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI 0x80B5
-#define GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI 0x80B6
-#define GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI 0x80B7
-#define GL_POST_COLOR_MATRIX_RED_BIAS_SGI 0x80B8
-#define GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI 0x80B9
-#define GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI 0x80BA
-#define GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI 0x80BB
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_COLOR_TABLE_SGI                0x80D0
-#define GL_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D1
-#define GL_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D2
-#define GL_PROXY_COLOR_TABLE_SGI          0x80D3
-#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE_SGI 0x80D4
-#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE_SGI 0x80D5
-#define GL_COLOR_TABLE_SCALE_SGI          0x80D6
-#define GL_COLOR_TABLE_BIAS_SGI           0x80D7
-#define GL_COLOR_TABLE_FORMAT_SGI         0x80D8
-#define GL_COLOR_TABLE_WIDTH_SGI          0x80D9
-#define GL_COLOR_TABLE_RED_SIZE_SGI       0x80DA
-#define GL_COLOR_TABLE_GREEN_SIZE_SGI     0x80DB
-#define GL_COLOR_TABLE_BLUE_SIZE_SGI      0x80DC
-#define GL_COLOR_TABLE_ALPHA_SIZE_SGI     0x80DD
-#define GL_COLOR_TABLE_LUMINANCE_SIZE_SGI 0x80DE
-#define GL_COLOR_TABLE_INTENSITY_SIZE_SGI 0x80DF
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_PIXEL_TEXTURE_SGIS             0x8353
-#define GL_PIXEL_FRAGMENT_RGB_SOURCE_SGIS 0x8354
-#define GL_PIXEL_FRAGMENT_ALPHA_SOURCE_SGIS 0x8355
-#define GL_PIXEL_GROUP_COLOR_SGIS         0x8356
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_PIXEL_TEX_GEN_SGIX             0x8139
-#define GL_PIXEL_TEX_GEN_MODE_SGIX        0x832B
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_PACK_SKIP_VOLUMES_SGIS         0x8130
-#define GL_PACK_IMAGE_DEPTH_SGIS          0x8131
-#define GL_UNPACK_SKIP_VOLUMES_SGIS       0x8132
-#define GL_UNPACK_IMAGE_DEPTH_SGIS        0x8133
-#define GL_TEXTURE_4D_SGIS                0x8134
-#define GL_PROXY_TEXTURE_4D_SGIS          0x8135
-#define GL_TEXTURE_4DSIZE_SGIS            0x8136
-#define GL_TEXTURE_WRAP_Q_SGIS            0x8137
-#define GL_MAX_4D_TEXTURE_SIZE_SGIS       0x8138
-#define GL_TEXTURE_4D_BINDING_SGIS        0x814F
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_TEXTURE_COLOR_TABLE_SGI        0x80BC
-#define GL_PROXY_TEXTURE_COLOR_TABLE_SGI  0x80BD
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_CMYK_EXT                       0x800C
-#define GL_CMYKA_EXT                      0x800D
-#define GL_PACK_CMYK_HINT_EXT             0x800E
-#define GL_UNPACK_CMYK_HINT_EXT           0x800F
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_TEXTURE_PRIORITY_EXT           0x8066
-#define GL_TEXTURE_RESIDENT_EXT           0x8067
-#define GL_TEXTURE_1D_BINDING_EXT         0x8068
-#define GL_TEXTURE_2D_BINDING_EXT         0x8069
-#define GL_TEXTURE_3D_BINDING_EXT         0x806A
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_DETAIL_TEXTURE_2D_SGIS         0x8095
-#define GL_DETAIL_TEXTURE_2D_BINDING_SGIS 0x8096
-#define GL_LINEAR_DETAIL_SGIS             0x8097
-#define GL_LINEAR_DETAIL_ALPHA_SGIS       0x8098
-#define GL_LINEAR_DETAIL_COLOR_SGIS       0x8099
-#define GL_DETAIL_TEXTURE_LEVEL_SGIS      0x809A
-#define GL_DETAIL_TEXTURE_MODE_SGIS       0x809B
-#define GL_DETAIL_TEXTURE_FUNC_POINTS_SGIS 0x809C
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_LINEAR_SHARPEN_SGIS            0x80AD
-#define GL_LINEAR_SHARPEN_ALPHA_SGIS      0x80AE
-#define GL_LINEAR_SHARPEN_COLOR_SGIS      0x80AF
-#define GL_SHARPEN_TEXTURE_FUNC_POINTS_SGIS 0x80B0
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_UNSIGNED_BYTE_3_3_2_EXT        0x8032
-#define GL_UNSIGNED_SHORT_4_4_4_4_EXT     0x8033
-#define GL_UNSIGNED_SHORT_5_5_5_1_EXT     0x8034
-#define GL_UNSIGNED_INT_8_8_8_8_EXT       0x8035
-#define GL_UNSIGNED_INT_10_10_10_2_EXT    0x8036
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_TEXTURE_MIN_LOD_SGIS           0x813A
-#define GL_TEXTURE_MAX_LOD_SGIS           0x813B
-#define GL_TEXTURE_BASE_LEVEL_SGIS        0x813C
-#define GL_TEXTURE_MAX_LEVEL_SGIS         0x813D
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_MULTISAMPLE_SGIS               0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_SGIS      0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_SGIS       0x809F
-#define GL_SAMPLE_MASK_SGIS               0x80A0
-#define GL_1PASS_SGIS                     0x80A1
-#define GL_2PASS_0_SGIS                   0x80A2
-#define GL_2PASS_1_SGIS                   0x80A3
-#define GL_4PASS_0_SGIS                   0x80A4
-#define GL_4PASS_1_SGIS                   0x80A5
-#define GL_4PASS_2_SGIS                   0x80A6
-#define GL_4PASS_3_SGIS                   0x80A7
-#define GL_SAMPLE_BUFFERS_SGIS            0x80A8
-#define GL_SAMPLES_SGIS                   0x80A9
-#define GL_SAMPLE_MASK_VALUE_SGIS         0x80AA
-#define GL_SAMPLE_MASK_INVERT_SGIS        0x80AB
-#define GL_SAMPLE_PATTERN_SGIS            0x80AC
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_RESCALE_NORMAL_EXT             0x803A
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_VERTEX_ARRAY_EXT               0x8074
-#define GL_NORMAL_ARRAY_EXT               0x8075
-#define GL_COLOR_ARRAY_EXT                0x8076
-#define GL_INDEX_ARRAY_EXT                0x8077
-#define GL_TEXTURE_COORD_ARRAY_EXT        0x8078
-#define GL_EDGE_FLAG_ARRAY_EXT            0x8079
-#define GL_VERTEX_ARRAY_SIZE_EXT          0x807A
-#define GL_VERTEX_ARRAY_TYPE_EXT          0x807B
-#define GL_VERTEX_ARRAY_STRIDE_EXT        0x807C
-#define GL_VERTEX_ARRAY_COUNT_EXT         0x807D
-#define GL_NORMAL_ARRAY_TYPE_EXT          0x807E
-#define GL_NORMAL_ARRAY_STRIDE_EXT        0x807F
-#define GL_NORMAL_ARRAY_COUNT_EXT         0x8080
-#define GL_COLOR_ARRAY_SIZE_EXT           0x8081
-#define GL_COLOR_ARRAY_TYPE_EXT           0x8082
-#define GL_COLOR_ARRAY_STRIDE_EXT         0x8083
-#define GL_COLOR_ARRAY_COUNT_EXT          0x8084
-#define GL_INDEX_ARRAY_TYPE_EXT           0x8085
-#define GL_INDEX_ARRAY_STRIDE_EXT         0x8086
-#define GL_INDEX_ARRAY_COUNT_EXT          0x8087
-#define GL_TEXTURE_COORD_ARRAY_SIZE_EXT   0x8088
-#define GL_TEXTURE_COORD_ARRAY_TYPE_EXT   0x8089
-#define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A
-#define GL_TEXTURE_COORD_ARRAY_COUNT_EXT  0x808B
-#define GL_EDGE_FLAG_ARRAY_STRIDE_EXT     0x808C
-#define GL_EDGE_FLAG_ARRAY_COUNT_EXT      0x808D
-#define GL_VERTEX_ARRAY_POINTER_EXT       0x808E
-#define GL_NORMAL_ARRAY_POINTER_EXT       0x808F
-#define GL_COLOR_ARRAY_POINTER_EXT        0x8090
-#define GL_INDEX_ARRAY_POINTER_EXT        0x8091
-#define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092
-#define GL_EDGE_FLAG_ARRAY_POINTER_EXT    0x8093
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_GENERATE_MIPMAP_SGIS           0x8191
-#define GL_GENERATE_MIPMAP_HINT_SGIS      0x8192
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_LINEAR_CLIPMAP_LINEAR_SGIX     0x8170
-#define GL_TEXTURE_CLIPMAP_CENTER_SGIX    0x8171
-#define GL_TEXTURE_CLIPMAP_FRAME_SGIX     0x8172
-#define GL_TEXTURE_CLIPMAP_OFFSET_SGIX    0x8173
-#define GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8174
-#define GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX 0x8175
-#define GL_TEXTURE_CLIPMAP_DEPTH_SGIX     0x8176
-#define GL_MAX_CLIPMAP_DEPTH_SGIX         0x8177
-#define GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX 0x8178
-#define GL_NEAREST_CLIPMAP_NEAREST_SGIX   0x844D
-#define GL_NEAREST_CLIPMAP_LINEAR_SGIX    0x844E
-#define GL_LINEAR_CLIPMAP_NEAREST_SGIX    0x844F
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_TEXTURE_COMPARE_SGIX           0x819A
-#define GL_TEXTURE_COMPARE_OPERATOR_SGIX  0x819B
-#define GL_TEXTURE_LEQUAL_R_SGIX          0x819C
-#define GL_TEXTURE_GEQUAL_R_SGIX          0x819D
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_CLAMP_TO_EDGE_SGIS             0x812F
-#endif
-
-#ifndef GL_SGIS_texture_border_clamp
-#define GL_CLAMP_TO_BORDER_SGIS           0x812D
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_FUNC_ADD_EXT                   0x8006
-#define GL_MIN_EXT                        0x8007
-#define GL_MAX_EXT                        0x8008
-#define GL_BLEND_EQUATION_EXT             0x8009
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_FUNC_SUBTRACT_EXT              0x800A
-#define GL_FUNC_REVERSE_SUBTRACT_EXT      0x800B
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_INTERLACE_SGIX                 0x8094
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_PIXEL_TILE_BEST_ALIGNMENT_SGIX 0x813E
-#define GL_PIXEL_TILE_CACHE_INCREMENT_SGIX 0x813F
-#define GL_PIXEL_TILE_WIDTH_SGIX          0x8140
-#define GL_PIXEL_TILE_HEIGHT_SGIX         0x8141
-#define GL_PIXEL_TILE_GRID_WIDTH_SGIX     0x8142
-#define GL_PIXEL_TILE_GRID_HEIGHT_SGIX    0x8143
-#define GL_PIXEL_TILE_GRID_DEPTH_SGIX     0x8144
-#define GL_PIXEL_TILE_CACHE_SIZE_SGIX     0x8145
-#endif
-
-#ifndef GL_SGIS_texture_select
-#define GL_DUAL_ALPHA4_SGIS               0x8110
-#define GL_DUAL_ALPHA8_SGIS               0x8111
-#define GL_DUAL_ALPHA12_SGIS              0x8112
-#define GL_DUAL_ALPHA16_SGIS              0x8113
-#define GL_DUAL_LUMINANCE4_SGIS           0x8114
-#define GL_DUAL_LUMINANCE8_SGIS           0x8115
-#define GL_DUAL_LUMINANCE12_SGIS          0x8116
-#define GL_DUAL_LUMINANCE16_SGIS          0x8117
-#define GL_DUAL_INTENSITY4_SGIS           0x8118
-#define GL_DUAL_INTENSITY8_SGIS           0x8119
-#define GL_DUAL_INTENSITY12_SGIS          0x811A
-#define GL_DUAL_INTENSITY16_SGIS          0x811B
-#define GL_DUAL_LUMINANCE_ALPHA4_SGIS     0x811C
-#define GL_DUAL_LUMINANCE_ALPHA8_SGIS     0x811D
-#define GL_QUAD_ALPHA4_SGIS               0x811E
-#define GL_QUAD_ALPHA8_SGIS               0x811F
-#define GL_QUAD_LUMINANCE4_SGIS           0x8120
-#define GL_QUAD_LUMINANCE8_SGIS           0x8121
-#define GL_QUAD_INTENSITY4_SGIS           0x8122
-#define GL_QUAD_INTENSITY8_SGIS           0x8123
-#define GL_DUAL_TEXTURE_SELECT_SGIS       0x8124
-#define GL_QUAD_TEXTURE_SELECT_SGIS       0x8125
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SPRITE_SGIX                    0x8148
-#define GL_SPRITE_MODE_SGIX               0x8149
-#define GL_SPRITE_AXIS_SGIX               0x814A
-#define GL_SPRITE_TRANSLATION_SGIX        0x814B
-#define GL_SPRITE_AXIAL_SGIX              0x814C
-#define GL_SPRITE_OBJECT_ALIGNED_SGIX     0x814D
-#define GL_SPRITE_EYE_ALIGNED_SGIX        0x814E
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_TEXTURE_MULTI_BUFFER_HINT_SGIX 0x812E
-#endif
-
-#ifndef GL_EXT_point_parameters
-#define GL_POINT_SIZE_MIN_EXT             0x8126
-#define GL_POINT_SIZE_MAX_EXT             0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_EXT  0x8128
-#define GL_DISTANCE_ATTENUATION_EXT       0x8129
-#endif
-
-#ifndef GL_SGIS_point_parameters
-#define GL_POINT_SIZE_MIN_SGIS            0x8126
-#define GL_POINT_SIZE_MAX_SGIS            0x8127
-#define GL_POINT_FADE_THRESHOLD_SIZE_SGIS 0x8128
-#define GL_DISTANCE_ATTENUATION_SGIS      0x8129
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_INSTRUMENT_BUFFER_POINTER_SGIX 0x8180
-#define GL_INSTRUMENT_MEASUREMENTS_SGIX   0x8181
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_POST_TEXTURE_FILTER_BIAS_SGIX  0x8179
-#define GL_POST_TEXTURE_FILTER_SCALE_SGIX 0x817A
-#define GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX 0x817B
-#define GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX 0x817C
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_FRAMEZOOM_SGIX                 0x818B
-#define GL_FRAMEZOOM_FACTOR_SGIX          0x818C
-#define GL_MAX_FRAMEZOOM_FACTOR_SGIX      0x818D
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#endif
-
-#ifndef GL_FfdMaskSGIX
-#define GL_TEXTURE_DEFORMATION_BIT_SGIX   0x00000001
-#define GL_GEOMETRY_DEFORMATION_BIT_SGIX  0x00000002
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_GEOMETRY_DEFORMATION_SGIX      0x8194
-#define GL_TEXTURE_DEFORMATION_SGIX       0x8195
-#define GL_DEFORMATIONS_MASK_SGIX         0x8196
-#define GL_MAX_DEFORMATION_ORDER_SGIX     0x8197
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_REFERENCE_PLANE_SGIX           0x817D
-#define GL_REFERENCE_PLANE_EQUATION_SGIX  0x817E
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_DEPTH_COMPONENT16_SGIX         0x81A5
-#define GL_DEPTH_COMPONENT24_SGIX         0x81A6
-#define GL_DEPTH_COMPONENT32_SGIX         0x81A7
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_FOG_FUNC_SGIS                  0x812A
-#define GL_FOG_FUNC_POINTS_SGIS           0x812B
-#define GL_MAX_FOG_FUNC_POINTS_SGIS       0x812C
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_FOG_OFFSET_SGIX                0x8198
-#define GL_FOG_OFFSET_VALUE_SGIX          0x8199
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_IMAGE_SCALE_X_HP               0x8155
-#define GL_IMAGE_SCALE_Y_HP               0x8156
-#define GL_IMAGE_TRANSLATE_X_HP           0x8157
-#define GL_IMAGE_TRANSLATE_Y_HP           0x8158
-#define GL_IMAGE_ROTATE_ANGLE_HP          0x8159
-#define GL_IMAGE_ROTATE_ORIGIN_X_HP       0x815A
-#define GL_IMAGE_ROTATE_ORIGIN_Y_HP       0x815B
-#define GL_IMAGE_MAG_FILTER_HP            0x815C
-#define GL_IMAGE_MIN_FILTER_HP            0x815D
-#define GL_IMAGE_CUBIC_WEIGHT_HP          0x815E
-#define GL_CUBIC_HP                       0x815F
-#define GL_AVERAGE_HP                     0x8160
-#define GL_IMAGE_TRANSFORM_2D_HP          0x8161
-#define GL_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8162
-#define GL_PROXY_POST_IMAGE_TRANSFORM_COLOR_TABLE_HP 0x8163
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_IGNORE_BORDER_HP               0x8150
-#define GL_CONSTANT_BORDER_HP             0x8151
-#define GL_REPLICATE_BORDER_HP            0x8153
-#define GL_CONVOLUTION_BORDER_COLOR_HP    0x8154
-#endif
-
-#ifndef GL_INGR_palette_buffer
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_TEXTURE_ENV_BIAS_SGIX          0x80BE
-#endif
-
-#ifndef GL_EXT_color_subtable
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_VERTEX_DATA_HINT_PGI           0x1A22A
-#define GL_VERTEX_CONSISTENT_HINT_PGI     0x1A22B
-#define GL_MATERIAL_SIDE_HINT_PGI         0x1A22C
-#define GL_MAX_VERTEX_HINT_PGI            0x1A22D
-#define GL_COLOR3_BIT_PGI                 0x00010000
-#define GL_COLOR4_BIT_PGI                 0x00020000
-#define GL_EDGEFLAG_BIT_PGI               0x00040000
-#define GL_INDEX_BIT_PGI                  0x00080000
-#define GL_MAT_AMBIENT_BIT_PGI            0x00100000
-#define GL_MAT_AMBIENT_AND_DIFFUSE_BIT_PGI 0x00200000
-#define GL_MAT_DIFFUSE_BIT_PGI            0x00400000
-#define GL_MAT_EMISSION_BIT_PGI           0x00800000
-#define GL_MAT_COLOR_INDEXES_BIT_PGI      0x01000000
-#define GL_MAT_SHININESS_BIT_PGI          0x02000000
-#define GL_MAT_SPECULAR_BIT_PGI           0x04000000
-#define GL_NORMAL_BIT_PGI                 0x08000000
-#define GL_TEXCOORD1_BIT_PGI              0x10000000
-#define GL_TEXCOORD2_BIT_PGI              0x20000000
-#define GL_TEXCOORD3_BIT_PGI              0x40000000
-#define GL_TEXCOORD4_BIT_PGI              0x80000000
-#define GL_VERTEX23_BIT_PGI               0x00000004
-#define GL_VERTEX4_BIT_PGI                0x00000008
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PREFER_DOUBLEBUFFER_HINT_PGI   0x1A1F8
-#define GL_CONSERVE_MEMORY_HINT_PGI       0x1A1FD
-#define GL_RECLAIM_MEMORY_HINT_PGI        0x1A1FE
-#define GL_NATIVE_GRAPHICS_HANDLE_PGI     0x1A202
-#define GL_NATIVE_GRAPHICS_BEGIN_HINT_PGI 0x1A203
-#define GL_NATIVE_GRAPHICS_END_HINT_PGI   0x1A204
-#define GL_ALWAYS_FAST_HINT_PGI           0x1A20C
-#define GL_ALWAYS_SOFT_HINT_PGI           0x1A20D
-#define GL_ALLOW_DRAW_OBJ_HINT_PGI        0x1A20E
-#define GL_ALLOW_DRAW_WIN_HINT_PGI        0x1A20F
-#define GL_ALLOW_DRAW_FRG_HINT_PGI        0x1A210
-#define GL_ALLOW_DRAW_MEM_HINT_PGI        0x1A211
-#define GL_STRICT_DEPTHFUNC_HINT_PGI      0x1A216
-#define GL_STRICT_LIGHTING_HINT_PGI       0x1A217
-#define GL_STRICT_SCISSOR_HINT_PGI        0x1A218
-#define GL_FULL_STIPPLE_HINT_PGI          0x1A219
-#define GL_CLIP_NEAR_HINT_PGI             0x1A220
-#define GL_CLIP_FAR_HINT_PGI              0x1A221
-#define GL_WIDE_LINE_HINT_PGI             0x1A222
-#define GL_BACK_NORMALS_HINT_PGI          0x1A223
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_COLOR_INDEX1_EXT               0x80E2
-#define GL_COLOR_INDEX2_EXT               0x80E3
-#define GL_COLOR_INDEX4_EXT               0x80E4
-#define GL_COLOR_INDEX8_EXT               0x80E5
-#define GL_COLOR_INDEX12_EXT              0x80E6
-#define GL_COLOR_INDEX16_EXT              0x80E7
-#define GL_TEXTURE_INDEX_SIZE_EXT         0x80ED
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_CLIP_VOLUME_CLIPPING_HINT_EXT  0x80F0
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_LIST_PRIORITY_SGIX             0x8182
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_IR_INSTRUMENT1_SGIX            0x817F
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_CALLIGRAPHIC_FRAGMENT_SGIX     0x8183
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_TEXTURE_LOD_BIAS_S_SGIX        0x818E
-#define GL_TEXTURE_LOD_BIAS_T_SGIX        0x818F
-#define GL_TEXTURE_LOD_BIAS_R_SGIX        0x8190
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SHADOW_AMBIENT_SGIX            0x80BF
-#endif
-
-#ifndef GL_EXT_index_texture
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_INDEX_MATERIAL_EXT             0x81B8
-#define GL_INDEX_MATERIAL_PARAMETER_EXT   0x81B9
-#define GL_INDEX_MATERIAL_FACE_EXT        0x81BA
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_INDEX_TEST_EXT                 0x81B5
-#define GL_INDEX_TEST_FUNC_EXT            0x81B6
-#define GL_INDEX_TEST_REF_EXT             0x81B7
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_IUI_V2F_EXT                    0x81AD
-#define GL_IUI_V3F_EXT                    0x81AE
-#define GL_IUI_N3F_V2F_EXT                0x81AF
-#define GL_IUI_N3F_V3F_EXT                0x81B0
-#define GL_T2F_IUI_V2F_EXT                0x81B1
-#define GL_T2F_IUI_V3F_EXT                0x81B2
-#define GL_T2F_IUI_N3F_V2F_EXT            0x81B3
-#define GL_T2F_IUI_N3F_V3F_EXT            0x81B4
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_ARRAY_ELEMENT_LOCK_FIRST_EXT   0x81A8
-#define GL_ARRAY_ELEMENT_LOCK_COUNT_EXT   0x81A9
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_CULL_VERTEX_EXT                0x81AA
-#define GL_CULL_VERTEX_EYE_POSITION_EXT   0x81AB
-#define GL_CULL_VERTEX_OBJECT_POSITION_EXT 0x81AC
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_YCRCB_422_SGIX                 0x81BB
-#define GL_YCRCB_444_SGIX                 0x81BC
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_FRAGMENT_LIGHTING_SGIX         0x8400
-#define GL_FRAGMENT_COLOR_MATERIAL_SGIX   0x8401
-#define GL_FRAGMENT_COLOR_MATERIAL_FACE_SGIX 0x8402
-#define GL_FRAGMENT_COLOR_MATERIAL_PARAMETER_SGIX 0x8403
-#define GL_MAX_FRAGMENT_LIGHTS_SGIX       0x8404
-#define GL_MAX_ACTIVE_LIGHTS_SGIX         0x8405
-#define GL_CURRENT_RASTER_NORMAL_SGIX     0x8406
-#define GL_LIGHT_ENV_MODE_SGIX            0x8407
-#define GL_FRAGMENT_LIGHT_MODEL_LOCAL_VIEWER_SGIX 0x8408
-#define GL_FRAGMENT_LIGHT_MODEL_TWO_SIDE_SGIX 0x8409
-#define GL_FRAGMENT_LIGHT_MODEL_AMBIENT_SGIX 0x840A
-#define GL_FRAGMENT_LIGHT_MODEL_NORMAL_INTERPOLATION_SGIX 0x840B
-#define GL_FRAGMENT_LIGHT0_SGIX           0x840C
-#define GL_FRAGMENT_LIGHT1_SGIX           0x840D
-#define GL_FRAGMENT_LIGHT2_SGIX           0x840E
-#define GL_FRAGMENT_LIGHT3_SGIX           0x840F
-#define GL_FRAGMENT_LIGHT4_SGIX           0x8410
-#define GL_FRAGMENT_LIGHT5_SGIX           0x8411
-#define GL_FRAGMENT_LIGHT6_SGIX           0x8412
-#define GL_FRAGMENT_LIGHT7_SGIX           0x8413
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_RASTER_POSITION_UNCLIPPED_IBM  0x19262
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_TEXTURE_LIGHTING_MODE_HP       0x8167
-#define GL_TEXTURE_POST_SPECULAR_HP       0x8168
-#define GL_TEXTURE_PRE_SPECULAR_HP        0x8169
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_MAX_ELEMENTS_VERTICES_EXT      0x80E8
-#define GL_MAX_ELEMENTS_INDICES_EXT       0x80E9
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_PHONG_WIN                      0x80EA
-#define GL_PHONG_HINT_WIN                 0x80EB
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_FOG_SPECULAR_TEXTURE_WIN       0x80EC
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_FRAGMENT_MATERIAL_EXT          0x8349
-#define GL_FRAGMENT_NORMAL_EXT            0x834A
-#define GL_FRAGMENT_COLOR_EXT             0x834C
-#define GL_ATTENUATION_EXT                0x834D
-#define GL_SHADOW_ATTENUATION_EXT         0x834E
-#define GL_TEXTURE_APPLICATION_MODE_EXT   0x834F
-#define GL_TEXTURE_LIGHT_EXT              0x8350
-#define GL_TEXTURE_MATERIAL_FACE_EXT      0x8351
-#define GL_TEXTURE_MATERIAL_PARAMETER_EXT 0x8352
-/* reuse GL_FRAGMENT_DEPTH_EXT */
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_ALPHA_MIN_SGIX                 0x8320
-#define GL_ALPHA_MAX_SGIX                 0x8321
-#endif
-
-#ifndef GL_SGIX_impact_pixel_texture
-#define GL_PIXEL_TEX_GEN_Q_CEILING_SGIX   0x8184
-#define GL_PIXEL_TEX_GEN_Q_ROUND_SGIX     0x8185
-#define GL_PIXEL_TEX_GEN_Q_FLOOR_SGIX     0x8186
-#define GL_PIXEL_TEX_GEN_ALPHA_REPLACE_SGIX 0x8187
-#define GL_PIXEL_TEX_GEN_ALPHA_NO_REPLACE_SGIX 0x8188
-#define GL_PIXEL_TEX_GEN_ALPHA_LS_SGIX    0x8189
-#define GL_PIXEL_TEX_GEN_ALPHA_MS_SGIX    0x818A
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_BGR_EXT                        0x80E0
-#define GL_BGRA_EXT                       0x80E1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_ASYNC_MARKER_SGIX              0x8329
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_ASYNC_TEX_IMAGE_SGIX           0x835C
-#define GL_ASYNC_DRAW_PIXELS_SGIX         0x835D
-#define GL_ASYNC_READ_PIXELS_SGIX         0x835E
-#define GL_MAX_ASYNC_TEX_IMAGE_SGIX       0x835F
-#define GL_MAX_ASYNC_DRAW_PIXELS_SGIX     0x8360
-#define GL_MAX_ASYNC_READ_PIXELS_SGIX     0x8361
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_ASYNC_HISTOGRAM_SGIX           0x832C
-#define GL_MAX_ASYNC_HISTOGRAM_SGIX       0x832D
-#endif
-
-#ifndef GL_INTEL_texture_scissor
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_PARALLEL_ARRAYS_INTEL          0x83F4
-#define GL_VERTEX_ARRAY_PARALLEL_POINTERS_INTEL 0x83F5
-#define GL_NORMAL_ARRAY_PARALLEL_POINTERS_INTEL 0x83F6
-#define GL_COLOR_ARRAY_PARALLEL_POINTERS_INTEL 0x83F7
-#define GL_TEXTURE_COORD_ARRAY_PARALLEL_POINTERS_INTEL 0x83F8
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_OCCLUSION_TEST_HP              0x8165
-#define GL_OCCLUSION_TEST_RESULT_HP       0x8166
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_PIXEL_TRANSFORM_2D_EXT         0x8330
-#define GL_PIXEL_MAG_FILTER_EXT           0x8331
-#define GL_PIXEL_MIN_FILTER_EXT           0x8332
-#define GL_PIXEL_CUBIC_WEIGHT_EXT         0x8333
-#define GL_CUBIC_EXT                      0x8334
-#define GL_AVERAGE_EXT                    0x8335
-#define GL_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8336
-#define GL_MAX_PIXEL_TRANSFORM_2D_STACK_DEPTH_EXT 0x8337
-#define GL_PIXEL_TRANSFORM_2D_MATRIX_EXT  0x8338
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_SHARED_TEXTURE_PALETTE_EXT     0x81FB
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_LIGHT_MODEL_COLOR_CONTROL_EXT  0x81F8
-#define GL_SINGLE_COLOR_EXT               0x81F9
-#define GL_SEPARATE_SPECULAR_COLOR_EXT    0x81FA
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_COLOR_SUM_EXT                  0x8458
-#define GL_CURRENT_SECONDARY_COLOR_EXT    0x8459
-#define GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A
-#define GL_SECONDARY_COLOR_ARRAY_TYPE_EXT 0x845B
-#define GL_SECONDARY_COLOR_ARRAY_STRIDE_EXT 0x845C
-#define GL_SECONDARY_COLOR_ARRAY_POINTER_EXT 0x845D
-#define GL_SECONDARY_COLOR_ARRAY_EXT      0x845E
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_PERTURB_EXT                    0x85AE
-#define GL_TEXTURE_NORMAL_EXT             0x85AF
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_FOG_COORDINATE_SOURCE_EXT      0x8450
-#define GL_FOG_COORDINATE_EXT             0x8451
-#define GL_FRAGMENT_DEPTH_EXT             0x8452
-#define GL_CURRENT_FOG_COORDINATE_EXT     0x8453
-#define GL_FOG_COORDINATE_ARRAY_TYPE_EXT  0x8454
-#define GL_FOG_COORDINATE_ARRAY_STRIDE_EXT 0x8455
-#define GL_FOG_COORDINATE_ARRAY_POINTER_EXT 0x8456
-#define GL_FOG_COORDINATE_ARRAY_EXT       0x8457
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_SCREEN_COORDINATES_REND        0x8490
-#define GL_INVERTED_SCREEN_W_REND         0x8491
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_TANGENT_ARRAY_EXT              0x8439
-#define GL_BINORMAL_ARRAY_EXT             0x843A
-#define GL_CURRENT_TANGENT_EXT            0x843B
-#define GL_CURRENT_BINORMAL_EXT           0x843C
-#define GL_TANGENT_ARRAY_TYPE_EXT         0x843E
-#define GL_TANGENT_ARRAY_STRIDE_EXT       0x843F
-#define GL_BINORMAL_ARRAY_TYPE_EXT        0x8440
-#define GL_BINORMAL_ARRAY_STRIDE_EXT      0x8441
-#define GL_TANGENT_ARRAY_POINTER_EXT      0x8442
-#define GL_BINORMAL_ARRAY_POINTER_EXT     0x8443
-#define GL_MAP1_TANGENT_EXT               0x8444
-#define GL_MAP2_TANGENT_EXT               0x8445
-#define GL_MAP1_BINORMAL_EXT              0x8446
-#define GL_MAP2_BINORMAL_EXT              0x8447
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_COMBINE_EXT                    0x8570
-#define GL_COMBINE_RGB_EXT                0x8571
-#define GL_COMBINE_ALPHA_EXT              0x8572
-#define GL_RGB_SCALE_EXT                  0x8573
-#define GL_ADD_SIGNED_EXT                 0x8574
-#define GL_INTERPOLATE_EXT                0x8575
-#define GL_CONSTANT_EXT                   0x8576
-#define GL_PRIMARY_COLOR_EXT              0x8577
-#define GL_PREVIOUS_EXT                   0x8578
-#define GL_SOURCE0_RGB_EXT                0x8580
-#define GL_SOURCE1_RGB_EXT                0x8581
-#define GL_SOURCE2_RGB_EXT                0x8582
-#define GL_SOURCE0_ALPHA_EXT              0x8588
-#define GL_SOURCE1_ALPHA_EXT              0x8589
-#define GL_SOURCE2_ALPHA_EXT              0x858A
-#define GL_OPERAND0_RGB_EXT               0x8590
-#define GL_OPERAND1_RGB_EXT               0x8591
-#define GL_OPERAND2_RGB_EXT               0x8592
-#define GL_OPERAND0_ALPHA_EXT             0x8598
-#define GL_OPERAND1_ALPHA_EXT             0x8599
-#define GL_OPERAND2_ALPHA_EXT             0x859A
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_LIGHT_MODEL_SPECULAR_VECTOR_APPLE 0x85B0
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_TRANSFORM_HINT_APPLE           0x85B1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_FOG_SCALE_SGIX                 0x81FC
-#define GL_FOG_SCALE_VALUE_SGIX           0x81FD
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_UNPACK_CONSTANT_DATA_SUNX      0x81D5
-#define GL_TEXTURE_CONSTANT_DATA_SUNX     0x81D6
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_GLOBAL_ALPHA_SUN               0x81D9
-#define GL_GLOBAL_ALPHA_FACTOR_SUN        0x81DA
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_RESTART_SUN                    0x0001
-#define GL_REPLACE_MIDDLE_SUN             0x0002
-#define GL_REPLACE_OLDEST_SUN             0x0003
-#define GL_TRIANGLE_LIST_SUN              0x81D7
-#define GL_REPLACEMENT_CODE_SUN           0x81D8
-#define GL_REPLACEMENT_CODE_ARRAY_SUN     0x85C0
-#define GL_REPLACEMENT_CODE_ARRAY_TYPE_SUN 0x85C1
-#define GL_REPLACEMENT_CODE_ARRAY_STRIDE_SUN 0x85C2
-#define GL_REPLACEMENT_CODE_ARRAY_POINTER_SUN 0x85C3
-#define GL_R1UI_V3F_SUN                   0x85C4
-#define GL_R1UI_C4UB_V3F_SUN              0x85C5
-#define GL_R1UI_C3F_V3F_SUN               0x85C6
-#define GL_R1UI_N3F_V3F_SUN               0x85C7
-#define GL_R1UI_C4F_N3F_V3F_SUN           0x85C8
-#define GL_R1UI_T2F_V3F_SUN               0x85C9
-#define GL_R1UI_T2F_N3F_V3F_SUN           0x85CA
-#define GL_R1UI_T2F_C4F_N3F_V3F_SUN       0x85CB
-#endif
-
-#ifndef GL_SUN_vertex
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_BLEND_DST_RGB_EXT              0x80C8
-#define GL_BLEND_SRC_RGB_EXT              0x80C9
-#define GL_BLEND_DST_ALPHA_EXT            0x80CA
-#define GL_BLEND_SRC_ALPHA_EXT            0x80CB
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_RED_MIN_CLAMP_INGR             0x8560
-#define GL_GREEN_MIN_CLAMP_INGR           0x8561
-#define GL_BLUE_MIN_CLAMP_INGR            0x8562
-#define GL_ALPHA_MIN_CLAMP_INGR           0x8563
-#define GL_RED_MAX_CLAMP_INGR             0x8564
-#define GL_GREEN_MAX_CLAMP_INGR           0x8565
-#define GL_BLUE_MAX_CLAMP_INGR            0x8566
-#define GL_ALPHA_MAX_CLAMP_INGR           0x8567
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INTERLACE_READ_INGR            0x8568
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_INCR_WRAP_EXT                  0x8507
-#define GL_DECR_WRAP_EXT                  0x8508
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_422_EXT                        0x80CC
-#define GL_422_REV_EXT                    0x80CD
-#define GL_422_AVERAGE_EXT                0x80CE
-#define GL_422_REV_AVERAGE_EXT            0x80CF
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NORMAL_MAP_NV                  0x8511
-#define GL_REFLECTION_MAP_NV              0x8512
-#endif
-
-#ifndef GL_EXT_texture_cube_map
-#define GL_NORMAL_MAP_EXT                 0x8511
-#define GL_REFLECTION_MAP_EXT             0x8512
-#define GL_TEXTURE_CUBE_MAP_EXT           0x8513
-#define GL_TEXTURE_BINDING_CUBE_MAP_EXT   0x8514
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT 0x8515
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT 0x8516
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT 0x8517
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT 0x8518
-#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT 0x8519
-#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT 0x851A
-#define GL_PROXY_TEXTURE_CUBE_MAP_EXT     0x851B
-#define GL_MAX_CUBE_MAP_TEXTURE_SIZE_EXT  0x851C
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_WRAP_BORDER_SUN                0x81D4
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_MAX_TEXTURE_LOD_BIAS_EXT       0x84FD
-#define GL_TEXTURE_FILTER_CONTROL_EXT     0x8500
-#define GL_TEXTURE_LOD_BIAS_EXT           0x8501
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT     0x84FE
-#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_MODELVIEW0_STACK_DEPTH_EXT     GL_MODELVIEW_STACK_DEPTH
-#define GL_MODELVIEW1_STACK_DEPTH_EXT     0x8502
-#define GL_MODELVIEW0_MATRIX_EXT          GL_MODELVIEW_MATRIX
-#define GL_MODELVIEW1_MATRIX_EXT          0x8506
-#define GL_VERTEX_WEIGHTING_EXT           0x8509
-#define GL_MODELVIEW0_EXT                 GL_MODELVIEW
-#define GL_MODELVIEW1_EXT                 0x850A
-#define GL_CURRENT_VERTEX_WEIGHT_EXT      0x850B
-#define GL_VERTEX_WEIGHT_ARRAY_EXT        0x850C
-#define GL_VERTEX_WEIGHT_ARRAY_SIZE_EXT   0x850D
-#define GL_VERTEX_WEIGHT_ARRAY_TYPE_EXT   0x850E
-#define GL_VERTEX_WEIGHT_ARRAY_STRIDE_EXT 0x850F
-#define GL_VERTEX_WEIGHT_ARRAY_POINTER_EXT 0x8510
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_MAX_SHININESS_NV               0x8504
-#define GL_MAX_SPOT_EXPONENT_NV           0x8505
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_VERTEX_ARRAY_RANGE_NV          0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_NV   0x851E
-#define GL_VERTEX_ARRAY_RANGE_VALID_NV    0x851F
-#define GL_MAX_VERTEX_ARRAY_RANGE_ELEMENT_NV 0x8520
-#define GL_VERTEX_ARRAY_RANGE_POINTER_NV  0x8521
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_REGISTER_COMBINERS_NV          0x8522
-#define GL_VARIABLE_A_NV                  0x8523
-#define GL_VARIABLE_B_NV                  0x8524
-#define GL_VARIABLE_C_NV                  0x8525
-#define GL_VARIABLE_D_NV                  0x8526
-#define GL_VARIABLE_E_NV                  0x8527
-#define GL_VARIABLE_F_NV                  0x8528
-#define GL_VARIABLE_G_NV                  0x8529
-#define GL_CONSTANT_COLOR0_NV             0x852A
-#define GL_CONSTANT_COLOR1_NV             0x852B
-#define GL_PRIMARY_COLOR_NV               0x852C
-#define GL_SECONDARY_COLOR_NV             0x852D
-#define GL_SPARE0_NV                      0x852E
-#define GL_SPARE1_NV                      0x852F
-#define GL_DISCARD_NV                     0x8530
-#define GL_E_TIMES_F_NV                   0x8531
-#define GL_SPARE0_PLUS_SECONDARY_COLOR_NV 0x8532
-#define GL_UNSIGNED_IDENTITY_NV           0x8536
-#define GL_UNSIGNED_INVERT_NV             0x8537
-#define GL_EXPAND_NORMAL_NV               0x8538
-#define GL_EXPAND_NEGATE_NV               0x8539
-#define GL_HALF_BIAS_NORMAL_NV            0x853A
-#define GL_HALF_BIAS_NEGATE_NV            0x853B
-#define GL_SIGNED_IDENTITY_NV             0x853C
-#define GL_SIGNED_NEGATE_NV               0x853D
-#define GL_SCALE_BY_TWO_NV                0x853E
-#define GL_SCALE_BY_FOUR_NV               0x853F
-#define GL_SCALE_BY_ONE_HALF_NV           0x8540
-#define GL_BIAS_BY_NEGATIVE_ONE_HALF_NV   0x8541
-#define GL_COMBINER_INPUT_NV              0x8542
-#define GL_COMBINER_MAPPING_NV            0x8543
-#define GL_COMBINER_COMPONENT_USAGE_NV    0x8544
-#define GL_COMBINER_AB_DOT_PRODUCT_NV     0x8545
-#define GL_COMBINER_CD_DOT_PRODUCT_NV     0x8546
-#define GL_COMBINER_MUX_SUM_NV            0x8547
-#define GL_COMBINER_SCALE_NV              0x8548
-#define GL_COMBINER_BIAS_NV               0x8549
-#define GL_COMBINER_AB_OUTPUT_NV          0x854A
-#define GL_COMBINER_CD_OUTPUT_NV          0x854B
-#define GL_COMBINER_SUM_OUTPUT_NV         0x854C
-#define GL_MAX_GENERAL_COMBINERS_NV       0x854D
-#define GL_NUM_GENERAL_COMBINERS_NV       0x854E
-#define GL_COLOR_SUM_CLAMP_NV             0x854F
-#define GL_COMBINER0_NV                   0x8550
-#define GL_COMBINER1_NV                   0x8551
-#define GL_COMBINER2_NV                   0x8552
-#define GL_COMBINER3_NV                   0x8553
-#define GL_COMBINER4_NV                   0x8554
-#define GL_COMBINER5_NV                   0x8555
-#define GL_COMBINER6_NV                   0x8556
-#define GL_COMBINER7_NV                   0x8557
-/* reuse GL_TEXTURE0_ARB */
-/* reuse GL_TEXTURE1_ARB */
-/* reuse GL_ZERO */
-/* reuse GL_NONE */
-/* reuse GL_FOG */
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_FOG_DISTANCE_MODE_NV           0x855A
-#define GL_EYE_RADIAL_NV                  0x855B
-#define GL_EYE_PLANE_ABSOLUTE_NV          0x855C
-/* reuse GL_EYE_PLANE */
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_EMBOSS_LIGHT_NV                0x855D
-#define GL_EMBOSS_CONSTANT_NV             0x855E
-#define GL_EMBOSS_MAP_NV                  0x855F
-#endif
-
-#ifndef GL_NV_blend_square
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_COMBINE4_NV                    0x8503
-#define GL_SOURCE3_RGB_NV                 0x8583
-#define GL_SOURCE3_ALPHA_NV               0x858B
-#define GL_OPERAND3_RGB_NV                0x8593
-#define GL_OPERAND3_ALPHA_NV              0x859B
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#endif
-
-#ifndef GL_MESA_window_pos
-#endif
-
-#ifndef GL_EXT_texture_compression_s3tc
-#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT   0x83F0
-#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT  0x83F1
-#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT  0x83F2
-#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT  0x83F3
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_CULL_VERTEX_IBM                103050
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_VERTEX_ARRAY_LIST_IBM          103070
-#define GL_NORMAL_ARRAY_LIST_IBM          103071
-#define GL_COLOR_ARRAY_LIST_IBM           103072
-#define GL_INDEX_ARRAY_LIST_IBM           103073
-#define GL_TEXTURE_COORD_ARRAY_LIST_IBM   103074
-#define GL_EDGE_FLAG_ARRAY_LIST_IBM       103075
-#define GL_FOG_COORDINATE_ARRAY_LIST_IBM  103076
-#define GL_SECONDARY_COLOR_ARRAY_LIST_IBM 103077
-#define GL_VERTEX_ARRAY_LIST_STRIDE_IBM   103080
-#define GL_NORMAL_ARRAY_LIST_STRIDE_IBM   103081
-#define GL_COLOR_ARRAY_LIST_STRIDE_IBM    103082
-#define GL_INDEX_ARRAY_LIST_STRIDE_IBM    103083
-#define GL_TEXTURE_COORD_ARRAY_LIST_STRIDE_IBM 103084
-#define GL_EDGE_FLAG_ARRAY_LIST_STRIDE_IBM 103085
-#define GL_FOG_COORDINATE_ARRAY_LIST_STRIDE_IBM 103086
-#define GL_SECONDARY_COLOR_ARRAY_LIST_STRIDE_IBM 103087
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_PACK_SUBSAMPLE_RATE_SGIX       0x85A0
-#define GL_UNPACK_SUBSAMPLE_RATE_SGIX     0x85A1
-#define GL_PIXEL_SUBSAMPLE_4444_SGIX      0x85A2
-#define GL_PIXEL_SUBSAMPLE_2424_SGIX      0x85A3
-#define GL_PIXEL_SUBSAMPLE_4242_SGIX      0x85A4
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_YCRCB_SGIX                     0x8318
-#define GL_YCRCBA_SGIX                    0x8319
-#endif
-
-#ifndef GL_SGI_depth_pass_instrument
-#define GL_DEPTH_PASS_INSTRUMENT_SGIX     0x8310
-#define GL_DEPTH_PASS_INSTRUMENT_COUNTERS_SGIX 0x8311
-#define GL_DEPTH_PASS_INSTRUMENT_MAX_SGIX 0x8312
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_COMPRESSED_RGB_FXT1_3DFX       0x86B0
-#define GL_COMPRESSED_RGBA_FXT1_3DFX      0x86B1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_MULTISAMPLE_3DFX               0x86B2
-#define GL_SAMPLE_BUFFERS_3DFX            0x86B3
-#define GL_SAMPLES_3DFX                   0x86B4
-#define GL_MULTISAMPLE_BIT_3DFX           0x20000000
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_MULTISAMPLE_EXT                0x809D
-#define GL_SAMPLE_ALPHA_TO_MASK_EXT       0x809E
-#define GL_SAMPLE_ALPHA_TO_ONE_EXT        0x809F
-#define GL_SAMPLE_MASK_EXT                0x80A0
-#define GL_1PASS_EXT                      0x80A1
-#define GL_2PASS_0_EXT                    0x80A2
-#define GL_2PASS_1_EXT                    0x80A3
-#define GL_4PASS_0_EXT                    0x80A4
-#define GL_4PASS_1_EXT                    0x80A5
-#define GL_4PASS_2_EXT                    0x80A6
-#define GL_4PASS_3_EXT                    0x80A7
-#define GL_SAMPLE_BUFFERS_EXT             0x80A8
-#define GL_SAMPLES_EXT                    0x80A9
-#define GL_SAMPLE_MASK_VALUE_EXT          0x80AA
-#define GL_SAMPLE_MASK_INVERT_EXT         0x80AB
-#define GL_SAMPLE_PATTERN_EXT             0x80AC
-#define GL_MULTISAMPLE_BIT_EXT            0x20000000
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_VERTEX_PRECLIP_SGIX            0x83EE
-#define GL_VERTEX_PRECLIP_HINT_SGIX       0x83EF
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_CONVOLUTION_HINT_SGIX          0x8316
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_PACK_RESAMPLE_SGIX             0x842C
-#define GL_UNPACK_RESAMPLE_SGIX           0x842D
-#define GL_RESAMPLE_REPLICATE_SGIX        0x842E
-#define GL_RESAMPLE_ZERO_FILL_SGIX        0x842F
-#define GL_RESAMPLE_DECIMATE_SGIX         0x8430
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_EYE_DISTANCE_TO_POINT_SGIS     0x81F0
-#define GL_OBJECT_DISTANCE_TO_POINT_SGIS  0x81F1
-#define GL_EYE_DISTANCE_TO_LINE_SGIS      0x81F2
-#define GL_OBJECT_DISTANCE_TO_LINE_SGIS   0x81F3
-#define GL_EYE_POINT_SGIS                 0x81F4
-#define GL_OBJECT_POINT_SGIS              0x81F5
-#define GL_EYE_LINE_SGIS                  0x81F6
-#define GL_OBJECT_LINE_SGIS               0x81F7
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_TEXTURE_COLOR_WRITEMASK_SGIS   0x81EF
-#endif
-
-#ifndef GL_EXT_texture_env_dot3
-#define GL_DOT3_RGB_EXT                   0x8740
-#define GL_DOT3_RGBA_EXT                  0x8741
-#endif
-
-#ifndef GL_ATI_texture_mirror_once
-#define GL_MIRROR_CLAMP_ATI               0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_ATI       0x8743
-#endif
-
-#ifndef GL_NV_fence
-#define GL_ALL_COMPLETED_NV               0x84F2
-#define GL_FENCE_STATUS_NV                0x84F3
-#define GL_FENCE_CONDITION_NV             0x84F4
-#endif
-
-#ifndef GL_IBM_texture_mirrored_repeat
-#define GL_MIRRORED_REPEAT_IBM            0x8370
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_EVAL_2D_NV                     0x86C0
-#define GL_EVAL_TRIANGULAR_2D_NV          0x86C1
-#define GL_MAP_TESSELLATION_NV            0x86C2
-#define GL_MAP_ATTRIB_U_ORDER_NV          0x86C3
-#define GL_MAP_ATTRIB_V_ORDER_NV          0x86C4
-#define GL_EVAL_FRACTIONAL_TESSELLATION_NV 0x86C5
-#define GL_EVAL_VERTEX_ATTRIB0_NV         0x86C6
-#define GL_EVAL_VERTEX_ATTRIB1_NV         0x86C7
-#define GL_EVAL_VERTEX_ATTRIB2_NV         0x86C8
-#define GL_EVAL_VERTEX_ATTRIB3_NV         0x86C9
-#define GL_EVAL_VERTEX_ATTRIB4_NV         0x86CA
-#define GL_EVAL_VERTEX_ATTRIB5_NV         0x86CB
-#define GL_EVAL_VERTEX_ATTRIB6_NV         0x86CC
-#define GL_EVAL_VERTEX_ATTRIB7_NV         0x86CD
-#define GL_EVAL_VERTEX_ATTRIB8_NV         0x86CE
-#define GL_EVAL_VERTEX_ATTRIB9_NV         0x86CF
-#define GL_EVAL_VERTEX_ATTRIB10_NV        0x86D0
-#define GL_EVAL_VERTEX_ATTRIB11_NV        0x86D1
-#define GL_EVAL_VERTEX_ATTRIB12_NV        0x86D2
-#define GL_EVAL_VERTEX_ATTRIB13_NV        0x86D3
-#define GL_EVAL_VERTEX_ATTRIB14_NV        0x86D4
-#define GL_EVAL_VERTEX_ATTRIB15_NV        0x86D5
-#define GL_MAX_MAP_TESSELLATION_NV        0x86D6
-#define GL_MAX_RATIONAL_EVAL_ORDER_NV     0x86D7
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_DEPTH_STENCIL_NV               0x84F9
-#define GL_UNSIGNED_INT_24_8_NV           0x84FA
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_PER_STAGE_CONSTANTS_NV         0x8535
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_TEXTURE_RECTANGLE_NV           0x84F5
-#define GL_TEXTURE_BINDING_RECTANGLE_NV   0x84F6
-#define GL_PROXY_TEXTURE_RECTANGLE_NV     0x84F7
-#define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV  0x84F8
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_OFFSET_TEXTURE_RECTANGLE_NV    0x864C
-#define GL_OFFSET_TEXTURE_RECTANGLE_SCALE_NV 0x864D
-#define GL_DOT_PRODUCT_TEXTURE_RECTANGLE_NV 0x864E
-#define GL_RGBA_UNSIGNED_DOT_PRODUCT_MAPPING_NV 0x86D9
-#define GL_UNSIGNED_INT_S8_S8_8_8_NV      0x86DA
-#define GL_UNSIGNED_INT_8_8_S8_S8_REV_NV  0x86DB
-#define GL_DSDT_MAG_INTENSITY_NV          0x86DC
-#define GL_SHADER_CONSISTENT_NV           0x86DD
-#define GL_TEXTURE_SHADER_NV              0x86DE
-#define GL_SHADER_OPERATION_NV            0x86DF
-#define GL_CULL_MODES_NV                  0x86E0
-#define GL_OFFSET_TEXTURE_MATRIX_NV       0x86E1
-#define GL_OFFSET_TEXTURE_SCALE_NV        0x86E2
-#define GL_OFFSET_TEXTURE_BIAS_NV         0x86E3
-#define GL_OFFSET_TEXTURE_2D_MATRIX_NV    GL_OFFSET_TEXTURE_MATRIX_NV
-#define GL_OFFSET_TEXTURE_2D_SCALE_NV     GL_OFFSET_TEXTURE_SCALE_NV
-#define GL_OFFSET_TEXTURE_2D_BIAS_NV      GL_OFFSET_TEXTURE_BIAS_NV
-#define GL_PREVIOUS_TEXTURE_INPUT_NV      0x86E4
-#define GL_CONST_EYE_NV                   0x86E5
-#define GL_PASS_THROUGH_NV                0x86E6
-#define GL_CULL_FRAGMENT_NV               0x86E7
-#define GL_OFFSET_TEXTURE_2D_NV           0x86E8
-#define GL_DEPENDENT_AR_TEXTURE_2D_NV     0x86E9
-#define GL_DEPENDENT_GB_TEXTURE_2D_NV     0x86EA
-#define GL_DOT_PRODUCT_NV                 0x86EC
-#define GL_DOT_PRODUCT_DEPTH_REPLACE_NV   0x86ED
-#define GL_DOT_PRODUCT_TEXTURE_2D_NV      0x86EE
-#define GL_DOT_PRODUCT_TEXTURE_CUBE_MAP_NV 0x86F0
-#define GL_DOT_PRODUCT_DIFFUSE_CUBE_MAP_NV 0x86F1
-#define GL_DOT_PRODUCT_REFLECT_CUBE_MAP_NV 0x86F2
-#define GL_DOT_PRODUCT_CONST_EYE_REFLECT_CUBE_MAP_NV 0x86F3
-#define GL_HILO_NV                        0x86F4
-#define GL_DSDT_NV                        0x86F5
-#define GL_DSDT_MAG_NV                    0x86F6
-#define GL_DSDT_MAG_VIB_NV                0x86F7
-#define GL_HILO16_NV                      0x86F8
-#define GL_SIGNED_HILO_NV                 0x86F9
-#define GL_SIGNED_HILO16_NV               0x86FA
-#define GL_SIGNED_RGBA_NV                 0x86FB
-#define GL_SIGNED_RGBA8_NV                0x86FC
-#define GL_SIGNED_RGB_NV                  0x86FE
-#define GL_SIGNED_RGB8_NV                 0x86FF
-#define GL_SIGNED_LUMINANCE_NV            0x8701
-#define GL_SIGNED_LUMINANCE8_NV           0x8702
-#define GL_SIGNED_LUMINANCE_ALPHA_NV      0x8703
-#define GL_SIGNED_LUMINANCE8_ALPHA8_NV    0x8704
-#define GL_SIGNED_ALPHA_NV                0x8705
-#define GL_SIGNED_ALPHA8_NV               0x8706
-#define GL_SIGNED_INTENSITY_NV            0x8707
-#define GL_SIGNED_INTENSITY8_NV           0x8708
-#define GL_DSDT8_NV                       0x8709
-#define GL_DSDT8_MAG8_NV                  0x870A
-#define GL_DSDT8_MAG8_INTENSITY8_NV       0x870B
-#define GL_SIGNED_RGB_UNSIGNED_ALPHA_NV   0x870C
-#define GL_SIGNED_RGB8_UNSIGNED_ALPHA8_NV 0x870D
-#define GL_HI_SCALE_NV                    0x870E
-#define GL_LO_SCALE_NV                    0x870F
-#define GL_DS_SCALE_NV                    0x8710
-#define GL_DT_SCALE_NV                    0x8711
-#define GL_MAGNITUDE_SCALE_NV             0x8712
-#define GL_VIBRANCE_SCALE_NV              0x8713
-#define GL_HI_BIAS_NV                     0x8714
-#define GL_LO_BIAS_NV                     0x8715
-#define GL_DS_BIAS_NV                     0x8716
-#define GL_DT_BIAS_NV                     0x8717
-#define GL_MAGNITUDE_BIAS_NV              0x8718
-#define GL_VIBRANCE_BIAS_NV               0x8719
-#define GL_TEXTURE_BORDER_VALUES_NV       0x871A
-#define GL_TEXTURE_HI_SIZE_NV             0x871B
-#define GL_TEXTURE_LO_SIZE_NV             0x871C
-#define GL_TEXTURE_DS_SIZE_NV             0x871D
-#define GL_TEXTURE_DT_SIZE_NV             0x871E
-#define GL_TEXTURE_MAG_SIZE_NV            0x871F
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_DOT_PRODUCT_TEXTURE_3D_NV      0x86EF
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_VERTEX_ARRAY_RANGE_WITHOUT_FLUSH_NV 0x8533
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_VERTEX_PROGRAM_NV              0x8620
-#define GL_VERTEX_STATE_PROGRAM_NV        0x8621
-#define GL_ATTRIB_ARRAY_SIZE_NV           0x8623
-#define GL_ATTRIB_ARRAY_STRIDE_NV         0x8624
-#define GL_ATTRIB_ARRAY_TYPE_NV           0x8625
-#define GL_CURRENT_ATTRIB_NV              0x8626
-#define GL_PROGRAM_LENGTH_NV              0x8627
-#define GL_PROGRAM_STRING_NV              0x8628
-#define GL_MODELVIEW_PROJECTION_NV        0x8629
-#define GL_IDENTITY_NV                    0x862A
-#define GL_INVERSE_NV                     0x862B
-#define GL_TRANSPOSE_NV                   0x862C
-#define GL_INVERSE_TRANSPOSE_NV           0x862D
-#define GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV 0x862E
-#define GL_MAX_TRACK_MATRICES_NV          0x862F
-#define GL_MATRIX0_NV                     0x8630
-#define GL_MATRIX1_NV                     0x8631
-#define GL_MATRIX2_NV                     0x8632
-#define GL_MATRIX3_NV                     0x8633
-#define GL_MATRIX4_NV                     0x8634
-#define GL_MATRIX5_NV                     0x8635
-#define GL_MATRIX6_NV                     0x8636
-#define GL_MATRIX7_NV                     0x8637
-#define GL_CURRENT_MATRIX_STACK_DEPTH_NV  0x8640
-#define GL_CURRENT_MATRIX_NV              0x8641
-#define GL_VERTEX_PROGRAM_POINT_SIZE_NV   0x8642
-#define GL_VERTEX_PROGRAM_TWO_SIDE_NV     0x8643
-#define GL_PROGRAM_PARAMETER_NV           0x8644
-#define GL_ATTRIB_ARRAY_POINTER_NV        0x8645
-#define GL_PROGRAM_TARGET_NV              0x8646
-#define GL_PROGRAM_RESIDENT_NV            0x8647
-#define GL_TRACK_MATRIX_NV                0x8648
-#define GL_TRACK_MATRIX_TRANSFORM_NV      0x8649
-#define GL_VERTEX_PROGRAM_BINDING_NV      0x864A
-#define GL_PROGRAM_ERROR_POSITION_NV      0x864B
-#define GL_VERTEX_ATTRIB_ARRAY0_NV        0x8650
-#define GL_VERTEX_ATTRIB_ARRAY1_NV        0x8651
-#define GL_VERTEX_ATTRIB_ARRAY2_NV        0x8652
-#define GL_VERTEX_ATTRIB_ARRAY3_NV        0x8653
-#define GL_VERTEX_ATTRIB_ARRAY4_NV        0x8654
-#define GL_VERTEX_ATTRIB_ARRAY5_NV        0x8655
-#define GL_VERTEX_ATTRIB_ARRAY6_NV        0x8656
-#define GL_VERTEX_ATTRIB_ARRAY7_NV        0x8657
-#define GL_VERTEX_ATTRIB_ARRAY8_NV        0x8658
-#define GL_VERTEX_ATTRIB_ARRAY9_NV        0x8659
-#define GL_VERTEX_ATTRIB_ARRAY10_NV       0x865A
-#define GL_VERTEX_ATTRIB_ARRAY11_NV       0x865B
-#define GL_VERTEX_ATTRIB_ARRAY12_NV       0x865C
-#define GL_VERTEX_ATTRIB_ARRAY13_NV       0x865D
-#define GL_VERTEX_ATTRIB_ARRAY14_NV       0x865E
-#define GL_VERTEX_ATTRIB_ARRAY15_NV       0x865F
-#define GL_MAP1_VERTEX_ATTRIB0_4_NV       0x8660
-#define GL_MAP1_VERTEX_ATTRIB1_4_NV       0x8661
-#define GL_MAP1_VERTEX_ATTRIB2_4_NV       0x8662
-#define GL_MAP1_VERTEX_ATTRIB3_4_NV       0x8663
-#define GL_MAP1_VERTEX_ATTRIB4_4_NV       0x8664
-#define GL_MAP1_VERTEX_ATTRIB5_4_NV       0x8665
-#define GL_MAP1_VERTEX_ATTRIB6_4_NV       0x8666
-#define GL_MAP1_VERTEX_ATTRIB7_4_NV       0x8667
-#define GL_MAP1_VERTEX_ATTRIB8_4_NV       0x8668
-#define GL_MAP1_VERTEX_ATTRIB9_4_NV       0x8669
-#define GL_MAP1_VERTEX_ATTRIB10_4_NV      0x866A
-#define GL_MAP1_VERTEX_ATTRIB11_4_NV      0x866B
-#define GL_MAP1_VERTEX_ATTRIB12_4_NV      0x866C
-#define GL_MAP1_VERTEX_ATTRIB13_4_NV      0x866D
-#define GL_MAP1_VERTEX_ATTRIB14_4_NV      0x866E
-#define GL_MAP1_VERTEX_ATTRIB15_4_NV      0x866F
-#define GL_MAP2_VERTEX_ATTRIB0_4_NV       0x8670
-#define GL_MAP2_VERTEX_ATTRIB1_4_NV       0x8671
-#define GL_MAP2_VERTEX_ATTRIB2_4_NV       0x8672
-#define GL_MAP2_VERTEX_ATTRIB3_4_NV       0x8673
-#define GL_MAP2_VERTEX_ATTRIB4_4_NV       0x8674
-#define GL_MAP2_VERTEX_ATTRIB5_4_NV       0x8675
-#define GL_MAP2_VERTEX_ATTRIB6_4_NV       0x8676
-#define GL_MAP2_VERTEX_ATTRIB7_4_NV       0x8677
-#define GL_MAP2_VERTEX_ATTRIB8_4_NV       0x8678
-#define GL_MAP2_VERTEX_ATTRIB9_4_NV       0x8679
-#define GL_MAP2_VERTEX_ATTRIB10_4_NV      0x867A
-#define GL_MAP2_VERTEX_ATTRIB11_4_NV      0x867B
-#define GL_MAP2_VERTEX_ATTRIB12_4_NV      0x867C
-#define GL_MAP2_VERTEX_ATTRIB13_4_NV      0x867D
-#define GL_MAP2_VERTEX_ATTRIB14_4_NV      0x867E
-#define GL_MAP2_VERTEX_ATTRIB15_4_NV      0x867F
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_TEXTURE_MAX_CLAMP_S_SGIX       0x8369
-#define GL_TEXTURE_MAX_CLAMP_T_SGIX       0x836A
-#define GL_TEXTURE_MAX_CLAMP_R_SGIX       0x836B
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SCALEBIAS_HINT_SGIX            0x8322
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_INTERLACE_OML                  0x8980
-#define GL_INTERLACE_READ_OML             0x8981
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_FORMAT_SUBSAMPLE_24_24_OML     0x8982
-#define GL_FORMAT_SUBSAMPLE_244_244_OML   0x8983
-#endif
-
-#ifndef GL_OML_resample
-#define GL_PACK_RESAMPLE_OML              0x8984
-#define GL_UNPACK_RESAMPLE_OML            0x8985
-#define GL_RESAMPLE_REPLICATE_OML         0x8986
-#define GL_RESAMPLE_ZERO_FILL_OML         0x8987
-#define GL_RESAMPLE_AVERAGE_OML           0x8988
-#define GL_RESAMPLE_DECIMATE_OML          0x8989
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_DEPTH_STENCIL_TO_RGBA_NV       0x886E
-#define GL_DEPTH_STENCIL_TO_BGRA_NV       0x886F
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_BUMP_ROT_MATRIX_ATI            0x8775
-#define GL_BUMP_ROT_MATRIX_SIZE_ATI       0x8776
-#define GL_BUMP_NUM_TEX_UNITS_ATI         0x8777
-#define GL_BUMP_TEX_UNITS_ATI             0x8778
-#define GL_DUDV_ATI                       0x8779
-#define GL_DU8DV8_ATI                     0x877A
-#define GL_BUMP_ENVMAP_ATI                0x877B
-#define GL_BUMP_TARGET_ATI                0x877C
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_FRAGMENT_SHADER_ATI            0x8920
-#define GL_REG_0_ATI                      0x8921
-#define GL_REG_1_ATI                      0x8922
-#define GL_REG_2_ATI                      0x8923
-#define GL_REG_3_ATI                      0x8924
-#define GL_REG_4_ATI                      0x8925
-#define GL_REG_5_ATI                      0x8926
-#define GL_REG_6_ATI                      0x8927
-#define GL_REG_7_ATI                      0x8928
-#define GL_REG_8_ATI                      0x8929
-#define GL_REG_9_ATI                      0x892A
-#define GL_REG_10_ATI                     0x892B
-#define GL_REG_11_ATI                     0x892C
-#define GL_REG_12_ATI                     0x892D
-#define GL_REG_13_ATI                     0x892E
-#define GL_REG_14_ATI                     0x892F
-#define GL_REG_15_ATI                     0x8930
-#define GL_REG_16_ATI                     0x8931
-#define GL_REG_17_ATI                     0x8932
-#define GL_REG_18_ATI                     0x8933
-#define GL_REG_19_ATI                     0x8934
-#define GL_REG_20_ATI                     0x8935
-#define GL_REG_21_ATI                     0x8936
-#define GL_REG_22_ATI                     0x8937
-#define GL_REG_23_ATI                     0x8938
-#define GL_REG_24_ATI                     0x8939
-#define GL_REG_25_ATI                     0x893A
-#define GL_REG_26_ATI                     0x893B
-#define GL_REG_27_ATI                     0x893C
-#define GL_REG_28_ATI                     0x893D
-#define GL_REG_29_ATI                     0x893E
-#define GL_REG_30_ATI                     0x893F
-#define GL_REG_31_ATI                     0x8940
-#define GL_CON_0_ATI                      0x8941
-#define GL_CON_1_ATI                      0x8942
-#define GL_CON_2_ATI                      0x8943
-#define GL_CON_3_ATI                      0x8944
-#define GL_CON_4_ATI                      0x8945
-#define GL_CON_5_ATI                      0x8946
-#define GL_CON_6_ATI                      0x8947
-#define GL_CON_7_ATI                      0x8948
-#define GL_CON_8_ATI                      0x8949
-#define GL_CON_9_ATI                      0x894A
-#define GL_CON_10_ATI                     0x894B
-#define GL_CON_11_ATI                     0x894C
-#define GL_CON_12_ATI                     0x894D
-#define GL_CON_13_ATI                     0x894E
-#define GL_CON_14_ATI                     0x894F
-#define GL_CON_15_ATI                     0x8950
-#define GL_CON_16_ATI                     0x8951
-#define GL_CON_17_ATI                     0x8952
-#define GL_CON_18_ATI                     0x8953
-#define GL_CON_19_ATI                     0x8954
-#define GL_CON_20_ATI                     0x8955
-#define GL_CON_21_ATI                     0x8956
-#define GL_CON_22_ATI                     0x8957
-#define GL_CON_23_ATI                     0x8958
-#define GL_CON_24_ATI                     0x8959
-#define GL_CON_25_ATI                     0x895A
-#define GL_CON_26_ATI                     0x895B
-#define GL_CON_27_ATI                     0x895C
-#define GL_CON_28_ATI                     0x895D
-#define GL_CON_29_ATI                     0x895E
-#define GL_CON_30_ATI                     0x895F
-#define GL_CON_31_ATI                     0x8960
-#define GL_MOV_ATI                        0x8961
-#define GL_ADD_ATI                        0x8963
-#define GL_MUL_ATI                        0x8964
-#define GL_SUB_ATI                        0x8965
-#define GL_DOT3_ATI                       0x8966
-#define GL_DOT4_ATI                       0x8967
-#define GL_MAD_ATI                        0x8968
-#define GL_LERP_ATI                       0x8969
-#define GL_CND_ATI                        0x896A
-#define GL_CND0_ATI                       0x896B
-#define GL_DOT2_ADD_ATI                   0x896C
-#define GL_SECONDARY_INTERPOLATOR_ATI     0x896D
-#define GL_NUM_FRAGMENT_REGISTERS_ATI     0x896E
-#define GL_NUM_FRAGMENT_CONSTANTS_ATI     0x896F
-#define GL_NUM_PASSES_ATI                 0x8970
-#define GL_NUM_INSTRUCTIONS_PER_PASS_ATI  0x8971
-#define GL_NUM_INSTRUCTIONS_TOTAL_ATI     0x8972
-#define GL_NUM_INPUT_INTERPOLATOR_COMPONENTS_ATI 0x8973
-#define GL_NUM_LOOPBACK_COMPONENTS_ATI    0x8974
-#define GL_COLOR_ALPHA_PAIRING_ATI        0x8975
-#define GL_SWIZZLE_STR_ATI                0x8976
-#define GL_SWIZZLE_STQ_ATI                0x8977
-#define GL_SWIZZLE_STR_DR_ATI             0x8978
-#define GL_SWIZZLE_STQ_DQ_ATI             0x8979
-#define GL_SWIZZLE_STRQ_ATI               0x897A
-#define GL_SWIZZLE_STRQ_DQ_ATI            0x897B
-#define GL_RED_BIT_ATI                    0x00000001
-#define GL_GREEN_BIT_ATI                  0x00000002
-#define GL_BLUE_BIT_ATI                   0x00000004
-#define GL_2X_BIT_ATI                     0x00000001
-#define GL_4X_BIT_ATI                     0x00000002
-#define GL_8X_BIT_ATI                     0x00000004
-#define GL_HALF_BIT_ATI                   0x00000008
-#define GL_QUARTER_BIT_ATI                0x00000010
-#define GL_EIGHTH_BIT_ATI                 0x00000020
-#define GL_SATURATE_BIT_ATI               0x00000040
-#define GL_COMP_BIT_ATI                   0x00000002
-#define GL_NEGATE_BIT_ATI                 0x00000004
-#define GL_BIAS_BIT_ATI                   0x00000008
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_PN_TRIANGLES_ATI               0x87F0
-#define GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1
-#define GL_PN_TRIANGLES_POINT_MODE_ATI    0x87F2
-#define GL_PN_TRIANGLES_NORMAL_MODE_ATI   0x87F3
-#define GL_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F4
-#define GL_PN_TRIANGLES_POINT_MODE_LINEAR_ATI 0x87F5
-#define GL_PN_TRIANGLES_POINT_MODE_CUBIC_ATI 0x87F6
-#define GL_PN_TRIANGLES_NORMAL_MODE_LINEAR_ATI 0x87F7
-#define GL_PN_TRIANGLES_NORMAL_MODE_QUADRATIC_ATI 0x87F8
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_STATIC_ATI                     0x8760
-#define GL_DYNAMIC_ATI                    0x8761
-#define GL_PRESERVE_ATI                   0x8762
-#define GL_DISCARD_ATI                    0x8763
-#define GL_OBJECT_BUFFER_SIZE_ATI         0x8764
-#define GL_OBJECT_BUFFER_USAGE_ATI        0x8765
-#define GL_ARRAY_OBJECT_BUFFER_ATI        0x8766
-#define GL_ARRAY_OBJECT_OFFSET_ATI        0x8767
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_VERTEX_SHADER_EXT              0x8780
-#define GL_VERTEX_SHADER_BINDING_EXT      0x8781
-#define GL_OP_INDEX_EXT                   0x8782
-#define GL_OP_NEGATE_EXT                  0x8783
-#define GL_OP_DOT3_EXT                    0x8784
-#define GL_OP_DOT4_EXT                    0x8785
-#define GL_OP_MUL_EXT                     0x8786
-#define GL_OP_ADD_EXT                     0x8787
-#define GL_OP_MADD_EXT                    0x8788
-#define GL_OP_FRAC_EXT                    0x8789
-#define GL_OP_MAX_EXT                     0x878A
-#define GL_OP_MIN_EXT                     0x878B
-#define GL_OP_SET_GE_EXT                  0x878C
-#define GL_OP_SET_LT_EXT                  0x878D
-#define GL_OP_CLAMP_EXT                   0x878E
-#define GL_OP_FLOOR_EXT                   0x878F
-#define GL_OP_ROUND_EXT                   0x8790
-#define GL_OP_EXP_BASE_2_EXT              0x8791
-#define GL_OP_LOG_BASE_2_EXT              0x8792
-#define GL_OP_POWER_EXT                   0x8793
-#define GL_OP_RECIP_EXT                   0x8794
-#define GL_OP_RECIP_SQRT_EXT              0x8795
-#define GL_OP_SUB_EXT                     0x8796
-#define GL_OP_CROSS_PRODUCT_EXT           0x8797
-#define GL_OP_MULTIPLY_MATRIX_EXT         0x8798
-#define GL_OP_MOV_EXT                     0x8799
-#define GL_OUTPUT_VERTEX_EXT              0x879A
-#define GL_OUTPUT_COLOR0_EXT              0x879B
-#define GL_OUTPUT_COLOR1_EXT              0x879C
-#define GL_OUTPUT_TEXTURE_COORD0_EXT      0x879D
-#define GL_OUTPUT_TEXTURE_COORD1_EXT      0x879E
-#define GL_OUTPUT_TEXTURE_COORD2_EXT      0x879F
-#define GL_OUTPUT_TEXTURE_COORD3_EXT      0x87A0
-#define GL_OUTPUT_TEXTURE_COORD4_EXT      0x87A1
-#define GL_OUTPUT_TEXTURE_COORD5_EXT      0x87A2
-#define GL_OUTPUT_TEXTURE_COORD6_EXT      0x87A3
-#define GL_OUTPUT_TEXTURE_COORD7_EXT      0x87A4
-#define GL_OUTPUT_TEXTURE_COORD8_EXT      0x87A5
-#define GL_OUTPUT_TEXTURE_COORD9_EXT      0x87A6
-#define GL_OUTPUT_TEXTURE_COORD10_EXT     0x87A7
-#define GL_OUTPUT_TEXTURE_COORD11_EXT     0x87A8
-#define GL_OUTPUT_TEXTURE_COORD12_EXT     0x87A9
-#define GL_OUTPUT_TEXTURE_COORD13_EXT     0x87AA
-#define GL_OUTPUT_TEXTURE_COORD14_EXT     0x87AB
-#define GL_OUTPUT_TEXTURE_COORD15_EXT     0x87AC
-#define GL_OUTPUT_TEXTURE_COORD16_EXT     0x87AD
-#define GL_OUTPUT_TEXTURE_COORD17_EXT     0x87AE
-#define GL_OUTPUT_TEXTURE_COORD18_EXT     0x87AF
-#define GL_OUTPUT_TEXTURE_COORD19_EXT     0x87B0
-#define GL_OUTPUT_TEXTURE_COORD20_EXT     0x87B1
-#define GL_OUTPUT_TEXTURE_COORD21_EXT     0x87B2
-#define GL_OUTPUT_TEXTURE_COORD22_EXT     0x87B3
-#define GL_OUTPUT_TEXTURE_COORD23_EXT     0x87B4
-#define GL_OUTPUT_TEXTURE_COORD24_EXT     0x87B5
-#define GL_OUTPUT_TEXTURE_COORD25_EXT     0x87B6
-#define GL_OUTPUT_TEXTURE_COORD26_EXT     0x87B7
-#define GL_OUTPUT_TEXTURE_COORD27_EXT     0x87B8
-#define GL_OUTPUT_TEXTURE_COORD28_EXT     0x87B9
-#define GL_OUTPUT_TEXTURE_COORD29_EXT     0x87BA
-#define GL_OUTPUT_TEXTURE_COORD30_EXT     0x87BB
-#define GL_OUTPUT_TEXTURE_COORD31_EXT     0x87BC
-#define GL_OUTPUT_FOG_EXT                 0x87BD
-#define GL_SCALAR_EXT                     0x87BE
-#define GL_VECTOR_EXT                     0x87BF
-#define GL_MATRIX_EXT                     0x87C0
-#define GL_VARIANT_EXT                    0x87C1
-#define GL_INVARIANT_EXT                  0x87C2
-#define GL_LOCAL_CONSTANT_EXT             0x87C3
-#define GL_LOCAL_EXT                      0x87C4
-#define GL_MAX_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87C5
-#define GL_MAX_VERTEX_SHADER_VARIANTS_EXT 0x87C6
-#define GL_MAX_VERTEX_SHADER_INVARIANTS_EXT 0x87C7
-#define GL_MAX_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87C8
-#define GL_MAX_VERTEX_SHADER_LOCALS_EXT   0x87C9
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CA
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_VARIANTS_EXT 0x87CB
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87CC
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_INVARIANTS_EXT 0x87CD
-#define GL_MAX_OPTIMIZED_VERTEX_SHADER_LOCALS_EXT 0x87CE
-#define GL_VERTEX_SHADER_INSTRUCTIONS_EXT 0x87CF
-#define GL_VERTEX_SHADER_VARIANTS_EXT     0x87D0
-#define GL_VERTEX_SHADER_INVARIANTS_EXT   0x87D1
-#define GL_VERTEX_SHADER_LOCAL_CONSTANTS_EXT 0x87D2
-#define GL_VERTEX_SHADER_LOCALS_EXT       0x87D3
-#define GL_VERTEX_SHADER_OPTIMIZED_EXT    0x87D4
-#define GL_X_EXT                          0x87D5
-#define GL_Y_EXT                          0x87D6
-#define GL_Z_EXT                          0x87D7
-#define GL_W_EXT                          0x87D8
-#define GL_NEGATIVE_X_EXT                 0x87D9
-#define GL_NEGATIVE_Y_EXT                 0x87DA
-#define GL_NEGATIVE_Z_EXT                 0x87DB
-#define GL_NEGATIVE_W_EXT                 0x87DC
-#define GL_ZERO_EXT                       0x87DD
-#define GL_ONE_EXT                        0x87DE
-#define GL_NEGATIVE_ONE_EXT               0x87DF
-#define GL_NORMALIZED_RANGE_EXT           0x87E0
-#define GL_FULL_RANGE_EXT                 0x87E1
-#define GL_CURRENT_VERTEX_EXT             0x87E2
-#define GL_MVP_MATRIX_EXT                 0x87E3
-#define GL_VARIANT_VALUE_EXT              0x87E4
-#define GL_VARIANT_DATATYPE_EXT           0x87E5
-#define GL_VARIANT_ARRAY_STRIDE_EXT       0x87E6
-#define GL_VARIANT_ARRAY_TYPE_EXT         0x87E7
-#define GL_VARIANT_ARRAY_EXT              0x87E8
-#define GL_VARIANT_ARRAY_POINTER_EXT      0x87E9
-#define GL_INVARIANT_VALUE_EXT            0x87EA
-#define GL_INVARIANT_DATATYPE_EXT         0x87EB
-#define GL_LOCAL_CONSTANT_VALUE_EXT       0x87EC
-#define GL_LOCAL_CONSTANT_DATATYPE_EXT    0x87ED
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_MAX_VERTEX_STREAMS_ATI         0x876B
-#define GL_VERTEX_STREAM0_ATI             0x876C
-#define GL_VERTEX_STREAM1_ATI             0x876D
-#define GL_VERTEX_STREAM2_ATI             0x876E
-#define GL_VERTEX_STREAM3_ATI             0x876F
-#define GL_VERTEX_STREAM4_ATI             0x8770
-#define GL_VERTEX_STREAM5_ATI             0x8771
-#define GL_VERTEX_STREAM6_ATI             0x8772
-#define GL_VERTEX_STREAM7_ATI             0x8773
-#define GL_VERTEX_SOURCE_ATI              0x8774
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ELEMENT_ARRAY_ATI              0x8768
-#define GL_ELEMENT_ARRAY_TYPE_ATI         0x8769
-#define GL_ELEMENT_ARRAY_POINTER_ATI      0x876A
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_QUAD_MESH_SUN                  0x8614
-#define GL_TRIANGLE_MESH_SUN              0x8615
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SLICE_ACCUM_SUN                0x85CC
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_MULTISAMPLE_FILTER_HINT_NV     0x8534
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_DEPTH_CLAMP_NV                 0x864F
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_PIXEL_COUNTER_BITS_NV          0x8864
-#define GL_CURRENT_OCCLUSION_QUERY_ID_NV  0x8865
-#define GL_PIXEL_COUNT_NV                 0x8866
-#define GL_PIXEL_COUNT_AVAILABLE_NV       0x8867
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_POINT_SPRITE_NV                0x8861
-#define GL_COORD_REPLACE_NV               0x8862
-#define GL_POINT_SPRITE_R_MODE_NV         0x8863
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_NV 0x8850
-#define GL_OFFSET_PROJECTIVE_TEXTURE_2D_SCALE_NV 0x8851
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8852
-#define GL_OFFSET_PROJECTIVE_TEXTURE_RECTANGLE_SCALE_NV 0x8853
-#define GL_OFFSET_HILO_TEXTURE_2D_NV      0x8854
-#define GL_OFFSET_HILO_TEXTURE_RECTANGLE_NV 0x8855
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_2D_NV 0x8856
-#define GL_OFFSET_HILO_PROJECTIVE_TEXTURE_RECTANGLE_NV 0x8857
-#define GL_DEPENDENT_HILO_TEXTURE_2D_NV   0x8858
-#define GL_DEPENDENT_RGB_TEXTURE_3D_NV    0x8859
-#define GL_DEPENDENT_RGB_TEXTURE_CUBE_MAP_NV 0x885A
-#define GL_DOT_PRODUCT_PASS_THROUGH_NV    0x885B
-#define GL_DOT_PRODUCT_TEXTURE_1D_NV      0x885C
-#define GL_DOT_PRODUCT_AFFINE_DEPTH_REPLACE_NV 0x885D
-#define GL_HILO8_NV                       0x885E
-#define GL_SIGNED_HILO8_NV                0x885F
-#define GL_FORCE_BLUE_TO_ONE_NV           0x8860
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#endif
-
-#ifndef GL_EXT_shadow_funcs
-#endif
-
-#ifndef GL_EXT_stencil_two_side
-#define GL_STENCIL_TEST_TWO_SIDE_EXT      0x8910
-#define GL_ACTIVE_STENCIL_FACE_EXT        0x8911
-#endif
-
-#ifndef GL_ATI_text_fragment_shader
-#define GL_TEXT_FRAGMENT_SHADER_ATI       0x8200
-#endif
-
-#ifndef GL_APPLE_client_storage
-#define GL_UNPACK_CLIENT_STORAGE_APPLE    0x85B2
-#endif
-
-#ifndef GL_APPLE_element_array
-#define GL_ELEMENT_ARRAY_APPLE            0x8768
-#define GL_ELEMENT_ARRAY_TYPE_APPLE       0x8769
-#define GL_ELEMENT_ARRAY_POINTER_APPLE    0x876A
-#endif
-
-#ifndef GL_APPLE_fence
-#define GL_DRAW_PIXELS_APPLE              0x8A0A
-#define GL_FENCE_APPLE                    0x8A0B
-#endif
-
-#ifndef GL_APPLE_vertex_array_object
-#define GL_VERTEX_ARRAY_BINDING_APPLE     0x85B5
-#endif
-
-#ifndef GL_APPLE_vertex_array_range
-#define GL_VERTEX_ARRAY_RANGE_APPLE       0x851D
-#define GL_VERTEX_ARRAY_RANGE_LENGTH_APPLE 0x851E
-#define GL_VERTEX_ARRAY_STORAGE_HINT_APPLE 0x851F
-#define GL_VERTEX_ARRAY_RANGE_POINTER_APPLE 0x8521
-#define GL_STORAGE_CACHED_APPLE           0x85BE
-#define GL_STORAGE_SHARED_APPLE           0x85BF
-#endif
-
-#ifndef GL_APPLE_ycbcr_422
-#define GL_YCBCR_422_APPLE                0x85B9
-#define GL_UNSIGNED_SHORT_8_8_APPLE       0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_APPLE   0x85BB
-#endif
-
-#ifndef GL_S3_s3tc
-#define GL_RGB_S3TC                       0x83A0
-#define GL_RGB4_S3TC                      0x83A1
-#define GL_RGBA_S3TC                      0x83A2
-#define GL_RGBA4_S3TC                     0x83A3
-#endif
-
-#ifndef GL_ATI_draw_buffers
-#define GL_MAX_DRAW_BUFFERS_ATI           0x8824
-#define GL_DRAW_BUFFER0_ATI               0x8825
-#define GL_DRAW_BUFFER1_ATI               0x8826
-#define GL_DRAW_BUFFER2_ATI               0x8827
-#define GL_DRAW_BUFFER3_ATI               0x8828
-#define GL_DRAW_BUFFER4_ATI               0x8829
-#define GL_DRAW_BUFFER5_ATI               0x882A
-#define GL_DRAW_BUFFER6_ATI               0x882B
-#define GL_DRAW_BUFFER7_ATI               0x882C
-#define GL_DRAW_BUFFER8_ATI               0x882D
-#define GL_DRAW_BUFFER9_ATI               0x882E
-#define GL_DRAW_BUFFER10_ATI              0x882F
-#define GL_DRAW_BUFFER11_ATI              0x8830
-#define GL_DRAW_BUFFER12_ATI              0x8831
-#define GL_DRAW_BUFFER13_ATI              0x8832
-#define GL_DRAW_BUFFER14_ATI              0x8833
-#define GL_DRAW_BUFFER15_ATI              0x8834
-#endif
-
-#ifndef GL_ATI_pixel_format_float
-#define GL_TYPE_RGBA_FLOAT_ATI            0x8820
-#define GL_COLOR_CLEAR_UNCLAMPED_VALUE_ATI 0x8835
-#endif
-
-#ifndef GL_ATI_texture_env_combine3
-#define GL_MODULATE_ADD_ATI               0x8744
-#define GL_MODULATE_SIGNED_ADD_ATI        0x8745
-#define GL_MODULATE_SUBTRACT_ATI          0x8746
-#endif
-
-#ifndef GL_ATI_texture_float
-#define GL_RGBA_FLOAT32_ATI               0x8814
-#define GL_RGB_FLOAT32_ATI                0x8815
-#define GL_ALPHA_FLOAT32_ATI              0x8816
-#define GL_INTENSITY_FLOAT32_ATI          0x8817
-#define GL_LUMINANCE_FLOAT32_ATI          0x8818
-#define GL_LUMINANCE_ALPHA_FLOAT32_ATI    0x8819
-#define GL_RGBA_FLOAT16_ATI               0x881A
-#define GL_RGB_FLOAT16_ATI                0x881B
-#define GL_ALPHA_FLOAT16_ATI              0x881C
-#define GL_INTENSITY_FLOAT16_ATI          0x881D
-#define GL_LUMINANCE_FLOAT16_ATI          0x881E
-#define GL_LUMINANCE_ALPHA_FLOAT16_ATI    0x881F
-#endif
-
-#ifndef GL_NV_float_buffer
-#define GL_FLOAT_R_NV                     0x8880
-#define GL_FLOAT_RG_NV                    0x8881
-#define GL_FLOAT_RGB_NV                   0x8882
-#define GL_FLOAT_RGBA_NV                  0x8883
-#define GL_FLOAT_R16_NV                   0x8884
-#define GL_FLOAT_R32_NV                   0x8885
-#define GL_FLOAT_RG16_NV                  0x8886
-#define GL_FLOAT_RG32_NV                  0x8887
-#define GL_FLOAT_RGB16_NV                 0x8888
-#define GL_FLOAT_RGB32_NV                 0x8889
-#define GL_FLOAT_RGBA16_NV                0x888A
-#define GL_FLOAT_RGBA32_NV                0x888B
-#define GL_TEXTURE_FLOAT_COMPONENTS_NV    0x888C
-#define GL_FLOAT_CLEAR_COLOR_VALUE_NV     0x888D
-#define GL_FLOAT_RGBA_MODE_NV             0x888E
-#endif
-
-#ifndef GL_NV_fragment_program
-#define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868
-#define GL_FRAGMENT_PROGRAM_NV            0x8870
-#define GL_MAX_TEXTURE_COORDS_NV          0x8871
-#define GL_MAX_TEXTURE_IMAGE_UNITS_NV     0x8872
-#define GL_FRAGMENT_PROGRAM_BINDING_NV    0x8873
-#define GL_PROGRAM_ERROR_STRING_NV        0x8874
-#endif
-
-#ifndef GL_NV_half_float
-#define GL_HALF_FLOAT_NV                  0x140B
-#endif
-
-#ifndef GL_NV_pixel_data_range
-#define GL_WRITE_PIXEL_DATA_RANGE_NV      0x8878
-#define GL_READ_PIXEL_DATA_RANGE_NV       0x8879
-#define GL_WRITE_PIXEL_DATA_RANGE_LENGTH_NV 0x887A
-#define GL_READ_PIXEL_DATA_RANGE_LENGTH_NV 0x887B
-#define GL_WRITE_PIXEL_DATA_RANGE_POINTER_NV 0x887C
-#define GL_READ_PIXEL_DATA_RANGE_POINTER_NV 0x887D
-#endif
-
-#ifndef GL_NV_primitive_restart
-#define GL_PRIMITIVE_RESTART_NV           0x8558
-#define GL_PRIMITIVE_RESTART_INDEX_NV     0x8559
-#endif
-
-#ifndef GL_NV_texture_expand_normal
-#define GL_TEXTURE_UNSIGNED_REMAP_MODE_NV 0x888F
-#endif
-
-#ifndef GL_NV_vertex_program2
-#endif
-
-#ifndef GL_ATI_map_object_buffer
-#endif
-
-#ifndef GL_ATI_separate_stencil
-#define GL_STENCIL_BACK_FUNC_ATI          0x8800
-#define GL_STENCIL_BACK_FAIL_ATI          0x8801
-#define GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802
-#define GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI 0x8803
-#endif
-
-#ifndef GL_ATI_vertex_attrib_array_object
-#endif
-
-#ifndef GL_OES_read_format
-#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
-#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
-#endif
-
-#ifndef GL_EXT_depth_bounds_test
-#define GL_DEPTH_BOUNDS_TEST_EXT          0x8890
-#define GL_DEPTH_BOUNDS_EXT               0x8891
-#endif
-
-#ifndef GL_EXT_texture_mirror_clamp
-#define GL_MIRROR_CLAMP_EXT               0x8742
-#define GL_MIRROR_CLAMP_TO_EDGE_EXT       0x8743
-#define GL_MIRROR_CLAMP_TO_BORDER_EXT     0x8912
-#endif
-
-#ifndef GL_EXT_blend_equation_separate
-#define GL_BLEND_EQUATION_RGB_EXT         GL_BLEND_EQUATION
-#define GL_BLEND_EQUATION_ALPHA_EXT       0x883D
-#endif
-
-#ifndef GL_MESA_pack_invert
-#define GL_PACK_INVERT_MESA               0x8758
-#endif
-
-#ifndef GL_MESA_ycbcr_texture
-#define GL_UNSIGNED_SHORT_8_8_MESA        0x85BA
-#define GL_UNSIGNED_SHORT_8_8_REV_MESA    0x85BB
-#define GL_YCBCR_MESA                     0x8757
-#endif
-
-#ifndef GL_EXT_pixel_buffer_object
-#define GL_PIXEL_PACK_BUFFER_EXT          0x88EB
-#define GL_PIXEL_UNPACK_BUFFER_EXT        0x88EC
-#define GL_PIXEL_PACK_BUFFER_BINDING_EXT  0x88ED
-#define GL_PIXEL_UNPACK_BUFFER_BINDING_EXT 0x88EF
-#endif
-
-#ifndef GL_NV_fragment_program_option
-#endif
-
-#ifndef GL_NV_fragment_program2
-#define GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4
-#define GL_MAX_PROGRAM_CALL_DEPTH_NV      0x88F5
-#define GL_MAX_PROGRAM_IF_DEPTH_NV        0x88F6
-#define GL_MAX_PROGRAM_LOOP_DEPTH_NV      0x88F7
-#define GL_MAX_PROGRAM_LOOP_COUNT_NV      0x88F8
-#endif
-
-#ifndef GL_NV_vertex_program2_option
-/* reuse GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
-/* reuse GL_MAX_PROGRAM_CALL_DEPTH_NV */
-#endif
-
-#ifndef GL_NV_vertex_program3
-/* reuse GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
-#endif
-
-#ifndef GL_EXT_framebuffer_object
-#define GL_INVALID_FRAMEBUFFER_OPERATION_EXT 0x0506
-#define GL_MAX_RENDERBUFFER_SIZE_EXT      0x84E8
-#define GL_FRAMEBUFFER_BINDING_EXT        0x8CA6
-#define GL_RENDERBUFFER_BINDING_EXT       0x8CA7
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT 0x8CD0
-#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT 0x8CD1
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT 0x8CD2
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT 0x8CD3
-#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT 0x8CD4
-#define GL_FRAMEBUFFER_COMPLETE_EXT       0x8CD5
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT 0x8CD6
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT 0x8CD7
-#define GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT 0x8CD8
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT 0x8CD9
-#define GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT 0x8CDA
-#define GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT 0x8CDB
-#define GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT 0x8CDC
-#define GL_FRAMEBUFFER_UNSUPPORTED_EXT    0x8CDD
-#define GL_MAX_COLOR_ATTACHMENTS_EXT      0x8CDF
-#define GL_COLOR_ATTACHMENT0_EXT          0x8CE0
-#define GL_COLOR_ATTACHMENT1_EXT          0x8CE1
-#define GL_COLOR_ATTACHMENT2_EXT          0x8CE2
-#define GL_COLOR_ATTACHMENT3_EXT          0x8CE3
-#define GL_COLOR_ATTACHMENT4_EXT          0x8CE4
-#define GL_COLOR_ATTACHMENT5_EXT          0x8CE5
-#define GL_COLOR_ATTACHMENT6_EXT          0x8CE6
-#define GL_COLOR_ATTACHMENT7_EXT          0x8CE7
-#define GL_COLOR_ATTACHMENT8_EXT          0x8CE8
-#define GL_COLOR_ATTACHMENT9_EXT          0x8CE9
-#define GL_COLOR_ATTACHMENT10_EXT         0x8CEA
-#define GL_COLOR_ATTACHMENT11_EXT         0x8CEB
-#define GL_COLOR_ATTACHMENT12_EXT         0x8CEC
-#define GL_COLOR_ATTACHMENT13_EXT         0x8CED
-#define GL_COLOR_ATTACHMENT14_EXT         0x8CEE
-#define GL_COLOR_ATTACHMENT15_EXT         0x8CEF
-#define GL_DEPTH_ATTACHMENT_EXT           0x8D00
-#define GL_STENCIL_ATTACHMENT_EXT         0x8D20
-#define GL_FRAMEBUFFER_EXT                0x8D40
-#define GL_RENDERBUFFER_EXT               0x8D41
-#define GL_RENDERBUFFER_WIDTH_EXT         0x8D42
-#define GL_RENDERBUFFER_HEIGHT_EXT        0x8D43
-#define GL_RENDERBUFFER_INTERNAL_FORMAT_EXT 0x8D44
-#define GL_STENCIL_INDEX1_EXT             0x8D46
-#define GL_STENCIL_INDEX4_EXT             0x8D47
-#define GL_STENCIL_INDEX8_EXT             0x8D48
-#define GL_STENCIL_INDEX16_EXT            0x8D49
-#define GL_RENDERBUFFER_RED_SIZE_EXT      0x8D50
-#define GL_RENDERBUFFER_GREEN_SIZE_EXT    0x8D51
-#define GL_RENDERBUFFER_BLUE_SIZE_EXT     0x8D52
-#define GL_RENDERBUFFER_ALPHA_SIZE_EXT    0x8D53
-#define GL_RENDERBUFFER_DEPTH_SIZE_EXT    0x8D54
-#define GL_RENDERBUFFER_STENCIL_SIZE_EXT  0x8D55
-#endif
-
-#ifndef GL_GREMEDY_string_marker
-#endif
-
-#ifndef GL_EXT_packed_depth_stencil
-#define GL_DEPTH_STENCIL_EXT              0x84F9
-#define GL_UNSIGNED_INT_24_8_EXT          0x84FA
-#define GL_DEPTH24_STENCIL8_EXT           0x88F0
-#define GL_TEXTURE_STENCIL_SIZE_EXT       0x88F1
-#endif
-
-#ifndef GL_EXT_stencil_clear_tag
-#define GL_STENCIL_TAG_BITS_EXT           0x88F2
-#define GL_STENCIL_CLEAR_TAG_VALUE_EXT    0x88F3
-#endif
-
-#ifndef GL_EXT_texture_sRGB
-#define GL_SRGB_EXT                       0x8C40
-#define GL_SRGB8_EXT                      0x8C41
-#define GL_SRGB_ALPHA_EXT                 0x8C42
-#define GL_SRGB8_ALPHA8_EXT               0x8C43
-#define GL_SLUMINANCE_ALPHA_EXT           0x8C44
-#define GL_SLUMINANCE8_ALPHA8_EXT         0x8C45
-#define GL_SLUMINANCE_EXT                 0x8C46
-#define GL_SLUMINANCE8_EXT                0x8C47
-#define GL_COMPRESSED_SRGB_EXT            0x8C48
-#define GL_COMPRESSED_SRGB_ALPHA_EXT      0x8C49
-#define GL_COMPRESSED_SLUMINANCE_EXT      0x8C4A
-#define GL_COMPRESSED_SLUMINANCE_ALPHA_EXT 0x8C4B
-#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT  0x8C4C
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E
-#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F
-#endif
-
-#ifndef GL_EXT_framebuffer_blit
-#define GL_READ_FRAMEBUFFER_EXT           0x8CA8
-#define GL_DRAW_FRAMEBUFFER_EXT           0x8CA9
-#define GL_READ_FRAMEBUFFER_BINDING_EXT   GL_FRAMEBUFFER_BINDING_EXT
-#define GL_DRAW_FRAMEBUFFER_BINDING_EXT   0x8CAA
-#endif
-
-#ifndef GL_EXT_framebuffer_multisample
-#define GL_RENDERBUFFER_SAMPLES_EXT       0x8CAB
-#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56
-#define GL_MAX_SAMPLES_EXT                0x8D57
-#endif
-
-#ifndef GL_MESAX_texture_stack
-#define GL_TEXTURE_1D_STACK_MESAX         0x8759
-#define GL_TEXTURE_2D_STACK_MESAX         0x875A
-#define GL_PROXY_TEXTURE_1D_STACK_MESAX   0x875B
-#define GL_PROXY_TEXTURE_2D_STACK_MESAX   0x875C
-#define GL_TEXTURE_1D_STACK_BINDING_MESAX 0x875D
-#define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E
-#endif
-
-#ifndef GL_EXT_timer_query
-#define GL_TIME_ELAPSED_EXT               0x88BF
-#endif
-
-#ifndef GL_EXT_gpu_program_parameters
-#endif
-
-#ifndef GL_APPLE_flush_buffer_range
-#define GL_BUFFER_SERIALIZED_MODIFY_APPLE 0x8A12
-#define GL_BUFFER_FLUSHING_UNMAP_APPLE    0x8A13
-#endif
-
-
-/*************************************************************/
-
-#include <stddef.h>
-#ifndef GL_VERSION_2_0
-/* GL type for program/shader text */
-typedef char GLchar;			/* native character */
-#endif
-
-#ifndef GL_VERSION_1_5
-/* GL types for handling large vertex buffer objects */
-typedef ptrdiff_t GLintptr;
-typedef ptrdiff_t GLsizeiptr;
-#endif
-
-#ifndef GL_ARB_vertex_buffer_object
-/* GL types for handling large vertex buffer objects */
-typedef ptrdiff_t GLintptrARB;
-typedef ptrdiff_t GLsizeiptrARB;
-#endif
-
-#ifndef GL_ARB_shader_objects
-/* GL types for handling shader object handles and program/shader text */
-typedef char GLcharARB;		/* native character */
-typedef unsigned int GLhandleARB;	/* shader object handle */
-#endif
-
-/* GL types for "half" precision (s10e5) float data in host memory */
-#ifndef GL_ARB_half_float_pixel
-typedef unsigned short GLhalfARB;
-#endif
-
-#ifndef GL_NV_half_float
-typedef unsigned short GLhalfNV;
-#endif
-
-#ifndef GLEXT_64_TYPES_DEFINED
-/* This code block is duplicated in glext.h, so must be protected */
-#define GLEXT_64_TYPES_DEFINED
-/* Define int32_t, int64_t, and uint64_t types for UST/MSC */
-/* (as used in the GL_EXT_timer_query extension). */
-#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
-#include <inttypes.h>
-#elif defined(__sun__)
-#include <inttypes.h>
-#if defined(__STDC__)
-#if defined(__arch64__)
-typedef long int int64_t;
-typedef unsigned long int uint64_t;
-#else
-typedef long long int int64_t;
-typedef unsigned long long int uint64_t;
-#endif /* __arch64__ */
-#endif /* __STDC__ */
-#elif defined( __VMS )
-#include <inttypes.h>
-#elif defined(__SCO__) || defined(__USLC__)
-#include <stdint.h>
-#elif defined(__UNIXOS2__) || defined(__SOL64__)
-typedef long int int32_t;
-typedef long long int int64_t;
-typedef unsigned long long int uint64_t;
-#elif defined(_WIN32) && defined(__GNUC__)
-#include <stdint.h>
-#elif defined(_WIN32)
-typedef __int32 int32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#else
-#include <inttypes.h>     /* Fallback option */
-#endif
-#endif
-
-#ifndef GL_EXT_timer_query
-typedef int64_t GLint64EXT;
-typedef uint64_t GLuint64EXT;
-#endif
-
-#ifndef GL_VERSION_1_2
-#define GL_VERSION_1_2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColor (GLclampf, GLclampf, GLclampf, GLclampf);
-GLAPI void APIENTRY glBlendEquation (GLenum);
-GLAPI void APIENTRY glDrawRangeElements (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTable (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTable (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTable (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glColorSubTable (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTable (GLenum, GLsizei, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glConvolutionFilter1D (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterf (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfv (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteri (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameteriv (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1D (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2D (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilter (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilter (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2D (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-GLAPI void APIENTRY glGetHistogram (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmax (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfv (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogram (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmax (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogram (GLenum);
-GLAPI void APIENTRY glResetMinmax (GLenum);
-GLAPI void APIENTRY glTexImage3D (GLenum, GLint, GLint, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDCOLORPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode);
-typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-typedef void (APIENTRYP PFNGLCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLCOPYCOLORTABLEPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-typedef void (APIENTRYP PFNGLGETHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLHISTOGRAMPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRYP PFNGLMINMAXPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRYP PFNGLRESETHISTOGRAMPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLRESETMINMAXPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_VERSION_1_3
-#define GL_VERSION_1_3 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTexture (GLenum);
-GLAPI void APIENTRY glClientActiveTexture (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1d (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1f (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1i (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1s (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2d (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2f (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2i (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2s (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3d (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3f (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3i (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3s (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4d (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dv (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4f (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4i (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4iv (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4s (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4sv (GLenum, const GLshort *);
-GLAPI void APIENTRY glLoadTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixf (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *);
-GLAPI void APIENTRY glSampleCoverage (GLclampf, GLboolean);
-GLAPI void APIENTRY glCompressedTexImage3D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2D (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1D (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3D (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2D (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1D (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImage (GLenum, GLint, GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREPROC) (GLenum texture);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1DPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1FPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1IPROC) (GLenum target, GLint s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1SPROC) (GLenum target, GLshort s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2DPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2IPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2SPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3IPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3SPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4DPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4FPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4IPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4SPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFPROC) (const GLfloat *m);
-typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDPROC) (const GLdouble *m);
-typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint level, GLvoid *img);
-#endif
-
-#ifndef GL_VERSION_1_4
-#define GL_VERSION_1_4 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendFuncSeparate (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glFogCoordf (GLfloat);
-GLAPI void APIENTRY glFogCoordfv (const GLfloat *);
-GLAPI void APIENTRY glFogCoordd (GLdouble);
-GLAPI void APIENTRY glFogCoorddv (const GLdouble *);
-GLAPI void APIENTRY glFogCoordPointer (GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glMultiDrawArrays (GLenum, GLint *, GLsizei *, GLsizei);
-GLAPI void APIENTRY glMultiDrawElements (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
-GLAPI void APIENTRY glPointParameterf (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfv (GLenum, const GLfloat *);
-GLAPI void APIENTRY glPointParameteri (GLenum, GLint);
-GLAPI void APIENTRY glPointParameteriv (GLenum, const GLint *);
-GLAPI void APIENTRY glSecondaryColor3b (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glSecondaryColor3bv (const GLbyte *);
-GLAPI void APIENTRY glSecondaryColor3d (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glSecondaryColor3dv (const GLdouble *);
-GLAPI void APIENTRY glSecondaryColor3f (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glSecondaryColor3fv (const GLfloat *);
-GLAPI void APIENTRY glSecondaryColor3i (GLint, GLint, GLint);
-GLAPI void APIENTRY glSecondaryColor3iv (const GLint *);
-GLAPI void APIENTRY glSecondaryColor3s (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glSecondaryColor3sv (const GLshort *);
-GLAPI void APIENTRY glSecondaryColor3ub (GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glSecondaryColor3ubv (const GLubyte *);
-GLAPI void APIENTRY glSecondaryColor3ui (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSecondaryColor3uiv (const GLuint *);
-GLAPI void APIENTRY glSecondaryColor3us (GLushort, GLushort, GLushort);
-GLAPI void APIENTRY glSecondaryColor3usv (const GLushort *);
-GLAPI void APIENTRY glSecondaryColorPointer (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glWindowPos2d (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dv (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2f (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fv (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2i (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2iv (const GLint *);
-GLAPI void APIENTRY glWindowPos2s (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2sv (const GLshort *);
-GLAPI void APIENTRY glWindowPos3d (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dv (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3f (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fv (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3i (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3iv (const GLint *);
-GLAPI void APIENTRY glWindowPos3s (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3sv (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-typedef void (APIENTRYP PFNGLFOGCOORDFPROC) (GLfloat coord);
-typedef void (APIENTRYP PFNGLFOGCOORDFVPROC) (const GLfloat *coord);
-typedef void (APIENTRYP PFNGLFOGCOORDDPROC) (GLdouble coord);
-typedef void (APIENTRYP PFNGLFOGCOORDDVPROC) (const GLdouble *coord);
-typedef void (APIENTRYP PFNGLFOGCOORDPOINTERPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVPROC) (const GLbyte *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IPROC) (GLint red, GLint green, GLint blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVPROC) (const GLubyte *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVPROC) (const GLuint *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVPROC) (const GLushort *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLWINDOWPOS2DPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2DVPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FVPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IPROC) (GLint x, GLint y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IVPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SPROC) (GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SVPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DVPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FVPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IVPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SVPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_VERSION_1_5
-#define GL_VERSION_1_5 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenQueries (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteQueries (GLsizei, const GLuint *);
-GLAPI GLboolean APIENTRY glIsQuery (GLuint);
-GLAPI void APIENTRY glBeginQuery (GLenum, GLuint);
-GLAPI void APIENTRY glEndQuery (GLenum);
-GLAPI void APIENTRY glGetQueryiv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetQueryObjectiv (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetQueryObjectuiv (GLuint, GLenum, GLuint *);
-GLAPI void APIENTRY glBindBuffer (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteBuffers (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenBuffers (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsBuffer (GLuint);
-GLAPI void APIENTRY glBufferData (GLenum, GLsizeiptr, const GLvoid *, GLenum);
-GLAPI void APIENTRY glBufferSubData (GLenum, GLintptr, GLsizeiptr, const GLvoid *);
-GLAPI void APIENTRY glGetBufferSubData (GLenum, GLintptr, GLsizeiptr, GLvoid *);
-GLAPI GLvoid* APIENTRY glMapBuffer (GLenum, GLenum);
-GLAPI GLboolean APIENTRY glUnmapBuffer (GLenum);
-GLAPI void APIENTRY glGetBufferParameteriv (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetBufferPointerv (GLenum, GLenum, GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGENQUERIESPROC) (GLsizei n, GLuint *ids);
-typedef void (APIENTRYP PFNGLDELETEQUERIESPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (APIENTRYP PFNGLISQUERYPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLBEGINQUERYPROC) (GLenum target, GLuint id);
-typedef void (APIENTRYP PFNGLENDQUERYPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLGETQUERYIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC) (GLuint id, GLenum pname, GLuint *params);
-typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
-typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
-typedef void (APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
-typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer);
-typedef void (APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
-typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
-typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data);
-typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERPROC) (GLenum target, GLenum access);
-typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC) (GLenum target, GLenum pname, GLvoid* *params);
-#endif
-
-#ifndef GL_VERSION_2_0
-#define GL_VERSION_2_0 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendEquationSeparate (GLenum, GLenum);
-GLAPI void APIENTRY glDrawBuffers (GLsizei, const GLenum *);
-GLAPI void APIENTRY glStencilOpSeparate (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glStencilFuncSeparate (GLenum, GLenum, GLint, GLuint);
-GLAPI void APIENTRY glStencilMaskSeparate (GLenum, GLuint);
-GLAPI void APIENTRY glAttachShader (GLuint, GLuint);
-GLAPI void APIENTRY glBindAttribLocation (GLuint, GLuint, const GLchar *);
-GLAPI void APIENTRY glCompileShader (GLuint);
-GLAPI GLuint APIENTRY glCreateProgram (void);
-GLAPI GLuint APIENTRY glCreateShader (GLenum);
-GLAPI void APIENTRY glDeleteProgram (GLuint);
-GLAPI void APIENTRY glDeleteShader (GLuint);
-GLAPI void APIENTRY glDetachShader (GLuint, GLuint);
-GLAPI void APIENTRY glDisableVertexAttribArray (GLuint);
-GLAPI void APIENTRY glEnableVertexAttribArray (GLuint);
-GLAPI void APIENTRY glGetActiveAttrib (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
-GLAPI void APIENTRY glGetActiveUniform (GLuint, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLchar *);
-GLAPI void APIENTRY glGetAttachedShaders (GLuint, GLsizei, GLsizei *, GLuint *);
-GLAPI GLint APIENTRY glGetAttribLocation (GLuint, const GLchar *);
-GLAPI void APIENTRY glGetProgramiv (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetProgramInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI void APIENTRY glGetShaderiv (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetShaderInfoLog (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI void APIENTRY glGetShaderSource (GLuint, GLsizei, GLsizei *, GLchar *);
-GLAPI GLint APIENTRY glGetUniformLocation (GLuint, const GLchar *);
-GLAPI void APIENTRY glGetUniformfv (GLuint, GLint, GLfloat *);
-GLAPI void APIENTRY glGetUniformiv (GLuint, GLint, GLint *);
-GLAPI void APIENTRY glGetVertexAttribdv (GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetVertexAttribfv (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribiv (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribPointerv (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean APIENTRY glIsProgram (GLuint);
-GLAPI GLboolean APIENTRY glIsShader (GLuint);
-GLAPI void APIENTRY glLinkProgram (GLuint);
-GLAPI void APIENTRY glShaderSource (GLuint, GLsizei, const GLchar* *, const GLint *);
-GLAPI void APIENTRY glUseProgram (GLuint);
-GLAPI void APIENTRY glUniform1f (GLint, GLfloat);
-GLAPI void APIENTRY glUniform2f (GLint, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform3f (GLint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform4f (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform1i (GLint, GLint);
-GLAPI void APIENTRY glUniform2i (GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform3i (GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform4i (GLint, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform1fv (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform2fv (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform3fv (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform4fv (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform1iv (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform2iv (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform3iv (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform4iv (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniformMatrix2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix3fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glValidateProgram (GLuint);
-GLAPI void APIENTRY glVertexAttrib1d (GLuint, GLdouble);
-GLAPI void APIENTRY glVertexAttrib1dv (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib1f (GLuint, GLfloat);
-GLAPI void APIENTRY glVertexAttrib1fv (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib1s (GLuint, GLshort);
-GLAPI void APIENTRY glVertexAttrib1sv (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib2d (GLuint, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib2dv (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib2f (GLuint, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib2fv (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib2s (GLuint, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib2sv (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib3d (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib3dv (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib3f (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib3fv (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib3s (GLuint, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib3sv (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4Nbv (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVertexAttrib4Niv (GLuint, const GLint *);
-GLAPI void APIENTRY glVertexAttrib4Nsv (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4Nub (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glVertexAttrib4Nubv (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttrib4Nuiv (GLuint, const GLuint *);
-GLAPI void APIENTRY glVertexAttrib4Nusv (GLuint, const GLushort *);
-GLAPI void APIENTRY glVertexAttrib4bv (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVertexAttrib4d (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib4dv (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib4f (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib4fv (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib4iv (GLuint, const GLint *);
-GLAPI void APIENTRY glVertexAttrib4s (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib4sv (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4ubv (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttrib4uiv (GLuint, const GLuint *);
-GLAPI void APIENTRY glVertexAttrib4usv (GLuint, const GLushort *);
-GLAPI void APIENTRY glVertexAttribPointer (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha);
-typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC) (GLsizei n, const GLenum *bufs);
-typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
-typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask);
-typedef void (APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name);
-typedef void (APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader);
-typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC) (void);
-typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC) (GLenum type);
-typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program);
-typedef void (APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader);
-typedef void (APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader);
-typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index);
-typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
-typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
-typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name);
-typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *obj);
-typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
-typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
-typedef void (APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
-typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source);
-typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
-typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC) (GLuint program);
-typedef GLboolean (APIENTRYP PFNGLISSHADERPROC) (GLuint shader);
-typedef void (APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program);
-typedef void (APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length);
-typedef void (APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program);
-typedef void (APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0);
-typedef void (APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1);
-typedef void (APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0);
-typedef void (APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1);
-typedef void (APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC) (GLuint index, GLdouble x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC) (GLuint index, GLshort x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC) (GLuint index, const GLbyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC) (GLuint index, const GLint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC) (GLuint index, const GLuint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC) (GLuint index, const GLushort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC) (GLuint index, const GLbyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC) (GLuint index, const GLint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC) (GLuint index, const GLuint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC) (GLuint index, const GLushort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_VERSION_2_1
-#define GL_VERSION_2_1 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glUniformMatrix2x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix3x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix2x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix4x2fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix3x4fv (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix4x3fv (GLint, GLsizei, GLboolean, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-#endif
-
-#ifndef GL_ARB_multitexture
-#define GL_ARB_multitexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveTextureARB (GLenum);
-GLAPI void APIENTRY glClientActiveTextureARB (GLenum);
-GLAPI void APIENTRY glMultiTexCoord1dARB (GLenum, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord1dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord1fARB (GLenum, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord1fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord1iARB (GLenum, GLint);
-GLAPI void APIENTRY glMultiTexCoord1ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord1sARB (GLenum, GLshort);
-GLAPI void APIENTRY glMultiTexCoord1svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord2dARB (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord2dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord2fARB (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord2fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord2iARB (GLenum, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord2ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord2sARB (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord2svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord3dARB (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord3dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord3fARB (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord3fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord3iARB (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord3ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord3sARB (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord3svARB (GLenum, const GLshort *);
-GLAPI void APIENTRY glMultiTexCoord4dARB (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glMultiTexCoord4dvARB (GLenum, const GLdouble *);
-GLAPI void APIENTRY glMultiTexCoord4fARB (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glMultiTexCoord4fvARB (GLenum, const GLfloat *);
-GLAPI void APIENTRY glMultiTexCoord4iARB (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glMultiTexCoord4ivARB (GLenum, const GLint *);
-GLAPI void APIENTRY glMultiTexCoord4sARB (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glMultiTexCoord4svARB (GLenum, const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRYP PFNGLCLIENTACTIVETEXTUREARBPROC) (GLenum texture);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1DARBPROC) (GLenum target, GLdouble s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1FARBPROC) (GLenum target, GLfloat s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1IARBPROC) (GLenum target, GLint s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1SARBPROC) (GLenum target, GLshort s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2DARBPROC) (GLenum target, GLdouble s, GLdouble t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2FARBPROC) (GLenum target, GLfloat s, GLfloat t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2IARBPROC) (GLenum target, GLint s, GLint t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2SARBPROC) (GLenum target, GLshort s, GLshort t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3IARBPROC) (GLenum target, GLint s, GLint t, GLint r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3SVARBPROC) (GLenum target, const GLshort *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4DARBPROC) (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4DVARBPROC) (GLenum target, const GLdouble *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4FARBPROC) (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4FVARBPROC) (GLenum target, const GLfloat *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4IARBPROC) (GLenum target, GLint s, GLint t, GLint r, GLint q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4IVARBPROC) (GLenum target, const GLint *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4SARBPROC) (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLshort *v);
-#endif
-
-#ifndef GL_ARB_transpose_matrix
-#define GL_ARB_transpose_matrix 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLoadTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glLoadTransposeMatrixdARB (const GLdouble *);
-GLAPI void APIENTRY glMultTransposeMatrixfARB (const GLfloat *);
-GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRYP PFNGLLOADTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXFARBPROC) (const GLfloat *m);
-typedef void (APIENTRYP PFNGLMULTTRANSPOSEMATRIXDARBPROC) (const GLdouble *m);
-#endif
-
-#ifndef GL_ARB_multisample
-#define GL_ARB_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleCoverageARB (GLclampf, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSAMPLECOVERAGEARBPROC) (GLclampf value, GLboolean invert);
-#endif
-
-#ifndef GL_ARB_texture_env_add
-#define GL_ARB_texture_env_add 1
-#endif
-
-#ifndef GL_ARB_texture_cube_map
-#define GL_ARB_texture_cube_map 1
-#endif
-
-#ifndef GL_ARB_texture_compression
-#define GL_ARB_texture_compression 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCompressedTexImage3DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage2DARB (GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexImage1DARB (GLenum, GLint, GLenum, GLsizei, GLint, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage3DARB (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage2DARB (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glCompressedTexSubImage1DARB (GLenum, GLint, GLint, GLsizei, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum, GLint, GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DARBPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DARBPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const GLvoid *data);
-typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEARBPROC) (GLenum target, GLint level, GLvoid *img);
-#endif
-
-#ifndef GL_ARB_texture_border_clamp
-#define GL_ARB_texture_border_clamp 1
-#endif
-
-#ifndef GL_ARB_point_parameters
-#define GL_ARB_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfARB (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvARB (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFARBPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFVARBPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_ARB_vertex_blend
-#define GL_ARB_vertex_blend 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWeightbvARB (GLint, const GLbyte *);
-GLAPI void APIENTRY glWeightsvARB (GLint, const GLshort *);
-GLAPI void APIENTRY glWeightivARB (GLint, const GLint *);
-GLAPI void APIENTRY glWeightfvARB (GLint, const GLfloat *);
-GLAPI void APIENTRY glWeightdvARB (GLint, const GLdouble *);
-GLAPI void APIENTRY glWeightubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glWeightusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glWeightuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glWeightPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexBlendARB (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLWEIGHTBVARBPROC) (GLint size, const GLbyte *weights);
-typedef void (APIENTRYP PFNGLWEIGHTSVARBPROC) (GLint size, const GLshort *weights);
-typedef void (APIENTRYP PFNGLWEIGHTIVARBPROC) (GLint size, const GLint *weights);
-typedef void (APIENTRYP PFNGLWEIGHTFVARBPROC) (GLint size, const GLfloat *weights);
-typedef void (APIENTRYP PFNGLWEIGHTDVARBPROC) (GLint size, const GLdouble *weights);
-typedef void (APIENTRYP PFNGLWEIGHTUBVARBPROC) (GLint size, const GLubyte *weights);
-typedef void (APIENTRYP PFNGLWEIGHTUSVARBPROC) (GLint size, const GLushort *weights);
-typedef void (APIENTRYP PFNGLWEIGHTUIVARBPROC) (GLint size, const GLuint *weights);
-typedef void (APIENTRYP PFNGLWEIGHTPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLVERTEXBLENDARBPROC) (GLint count);
-#endif
-
-#ifndef GL_ARB_matrix_palette
-#define GL_ARB_matrix_palette 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCurrentPaletteMatrixARB (GLint);
-GLAPI void APIENTRY glMatrixIndexubvARB (GLint, const GLubyte *);
-GLAPI void APIENTRY glMatrixIndexusvARB (GLint, const GLushort *);
-GLAPI void APIENTRY glMatrixIndexuivARB (GLint, const GLuint *);
-GLAPI void APIENTRY glMatrixIndexPointerARB (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCURRENTPALETTEMATRIXARBPROC) (GLint index);
-typedef void (APIENTRYP PFNGLMATRIXINDEXUBVARBPROC) (GLint size, const GLubyte *indices);
-typedef void (APIENTRYP PFNGLMATRIXINDEXUSVARBPROC) (GLint size, const GLushort *indices);
-typedef void (APIENTRYP PFNGLMATRIXINDEXUIVARBPROC) (GLint size, const GLuint *indices);
-typedef void (APIENTRYP PFNGLMATRIXINDEXPOINTERARBPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_ARB_texture_env_combine
-#define GL_ARB_texture_env_combine 1
-#endif
-
-#ifndef GL_ARB_texture_env_crossbar
-#define GL_ARB_texture_env_crossbar 1
-#endif
-
-#ifndef GL_ARB_texture_env_dot3
-#define GL_ARB_texture_env_dot3 1
-#endif
-
-#ifndef GL_ARB_texture_mirrored_repeat
-#define GL_ARB_texture_mirrored_repeat 1
-#endif
-
-#ifndef GL_ARB_depth_texture
-#define GL_ARB_depth_texture 1
-#endif
-
-#ifndef GL_ARB_shadow
-#define GL_ARB_shadow 1
-#endif
-
-#ifndef GL_ARB_shadow_ambient
-#define GL_ARB_shadow_ambient 1
-#endif
-
-#ifndef GL_ARB_window_pos
-#define GL_ARB_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dARB (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fARB (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iARB (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos2sARB (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svARB (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dARB (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvARB (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fARB (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvARB (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iARB (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivARB (const GLint *);
-GLAPI void APIENTRY glWindowPos3sARB (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svARB (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLWINDOWPOS2DARBPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FARBPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IARBPROC) (GLint x, GLint y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IVARBPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SARBPROC) (GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SVARBPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DARBPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DVARBPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FARBPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FVARBPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IARBPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IVARBPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SARBPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SVARBPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_ARB_vertex_program
-#define GL_ARB_vertex_program 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexAttrib1dARB (GLuint, GLdouble);
-GLAPI void APIENTRY glVertexAttrib1dvARB (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib1fARB (GLuint, GLfloat);
-GLAPI void APIENTRY glVertexAttrib1fvARB (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib1sARB (GLuint, GLshort);
-GLAPI void APIENTRY glVertexAttrib1svARB (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib2dARB (GLuint, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib2dvARB (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib2fARB (GLuint, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib2fvARB (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib2sARB (GLuint, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib2svARB (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib3dARB (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib3dvARB (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib3fARB (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib3fvARB (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib3sARB (GLuint, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib3svARB (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4NbvARB (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVertexAttrib4NivARB (GLuint, const GLint *);
-GLAPI void APIENTRY glVertexAttrib4NsvARB (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4NubARB (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glVertexAttrib4NubvARB (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttrib4NuivARB (GLuint, const GLuint *);
-GLAPI void APIENTRY glVertexAttrib4NusvARB (GLuint, const GLushort *);
-GLAPI void APIENTRY glVertexAttrib4bvARB (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVertexAttrib4dARB (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib4dvARB (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib4fARB (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib4fvARB (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib4ivARB (GLuint, const GLint *);
-GLAPI void APIENTRY glVertexAttrib4sARB (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib4svARB (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4ubvARB (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttrib4uivARB (GLuint, const GLuint *);
-GLAPI void APIENTRY glVertexAttrib4usvARB (GLuint, const GLushort *);
-GLAPI void APIENTRY glVertexAttribPointerARB (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glEnableVertexAttribArrayARB (GLuint);
-GLAPI void APIENTRY glDisableVertexAttribArrayARB (GLuint);
-GLAPI void APIENTRY glProgramStringARB (GLenum, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glBindProgramARB (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteProgramsARB (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenProgramsARB (GLsizei, GLuint *);
-GLAPI void APIENTRY glProgramEnvParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramEnvParameter4dvARB (GLenum, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramEnvParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramEnvParameter4fvARB (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glProgramLocalParameter4dARB (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramLocalParameter4dvARB (GLenum, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramLocalParameter4fARB (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramLocalParameter4fvARB (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glGetProgramEnvParameterdvARB (GLenum, GLuint, GLdouble *);
-GLAPI void APIENTRY glGetProgramEnvParameterfvARB (GLenum, GLuint, GLfloat *);
-GLAPI void APIENTRY glGetProgramLocalParameterdvARB (GLenum, GLuint, GLdouble *);
-GLAPI void APIENTRY glGetProgramLocalParameterfvARB (GLenum, GLuint, GLfloat *);
-GLAPI void APIENTRY glGetProgramivARB (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetProgramStringARB (GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetVertexAttribdvARB (GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetVertexAttribfvARB (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribivARB (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribPointervARB (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean APIENTRY glIsProgramARB (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DARBPROC) (GLuint index, GLdouble x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVARBPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FARBPROC) (GLuint index, GLfloat x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVARBPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SARBPROC) (GLuint index, GLshort x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVARBPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DARBPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVARBPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FARBPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVARBPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SARBPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVARBPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVARBPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVARBPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVARBPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVARBPROC) (GLuint index, const GLbyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVARBPROC) (GLuint index, const GLint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVARBPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBARBPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVARBPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVARBPROC) (GLuint index, const GLuint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVARBPROC) (GLuint index, const GLushort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVARBPROC) (GLuint index, const GLbyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DARBPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVARBPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FARBPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVARBPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVARBPROC) (GLuint index, const GLint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SARBPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVARBPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVARBPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVARBPROC) (GLuint index, const GLuint *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVARBPROC) (GLuint index, const GLushort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERARBPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
-typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYARBPROC) (GLuint index);
-typedef void (APIENTRYP PFNGLPROGRAMSTRINGARBPROC) (GLenum target, GLenum format, GLsizei len, const GLvoid *string);
-typedef void (APIENTRYP PFNGLBINDPROGRAMARBPROC) (GLenum target, GLuint program);
-typedef void (APIENTRYP PFNGLDELETEPROGRAMSARBPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRYP PFNGLGENPROGRAMSARBPROC) (GLsizei n, GLuint *programs);
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DARBPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4DVARBPROC) (GLenum target, GLuint index, const GLdouble *params);
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FARBPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETER4FVARBPROC) (GLenum target, GLuint index, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMENVPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERDVARBPROC) (GLenum target, GLuint index, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMLOCALPARAMETERFVARBPROC) (GLenum target, GLuint index, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMIVARBPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGARBPROC) (GLenum target, GLenum pname, GLvoid *string);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVARBPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVARBPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVARBPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVARBPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (APIENTRYP PFNGLISPROGRAMARBPROC) (GLuint program);
-#endif
-
-#ifndef GL_ARB_fragment_program
-#define GL_ARB_fragment_program 1
-/* All ARB_fragment_program entry points are shared with ARB_vertex_program. */
-#endif
-
-#ifndef GL_ARB_vertex_buffer_object
-#define GL_ARB_vertex_buffer_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBindBufferARB (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteBuffersARB (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenBuffersARB (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsBufferARB (GLuint);
-GLAPI void APIENTRY glBufferDataARB (GLenum, GLsizeiptrARB, const GLvoid *, GLenum);
-GLAPI void APIENTRY glBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, const GLvoid *);
-GLAPI void APIENTRY glGetBufferSubDataARB (GLenum, GLintptrARB, GLsizeiptrARB, GLvoid *);
-GLAPI GLvoid* APIENTRY glMapBufferARB (GLenum, GLenum);
-GLAPI GLboolean APIENTRY glUnmapBufferARB (GLenum);
-GLAPI void APIENTRY glGetBufferParameterivARB (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetBufferPointervARB (GLenum, GLenum, GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBINDBUFFERARBPROC) (GLenum target, GLuint buffer);
-typedef void (APIENTRYP PFNGLDELETEBUFFERSARBPROC) (GLsizei n, const GLuint *buffers);
-typedef void (APIENTRYP PFNGLGENBUFFERSARBPROC) (GLsizei n, GLuint *buffers);
-typedef GLboolean (APIENTRYP PFNGLISBUFFERARBPROC) (GLuint buffer);
-typedef void (APIENTRYP PFNGLBUFFERDATAARBPROC) (GLenum target, GLsizeiptrARB size, const GLvoid *data, GLenum usage);
-typedef void (APIENTRYP PFNGLBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const GLvoid *data);
-typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAARBPROC) (GLenum target, GLintptrARB offset, GLsizeiptrARB size, GLvoid *data);
-typedef GLvoid* (APIENTRYP PFNGLMAPBUFFERARBPROC) (GLenum target, GLenum access);
-typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERARBPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVARBPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVARBPROC) (GLenum target, GLenum pname, GLvoid* *params);
-#endif
-
-#ifndef GL_ARB_occlusion_query
-#define GL_ARB_occlusion_query 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenQueriesARB (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteQueriesARB (GLsizei, const GLuint *);
-GLAPI GLboolean APIENTRY glIsQueryARB (GLuint);
-GLAPI void APIENTRY glBeginQueryARB (GLenum, GLuint);
-GLAPI void APIENTRY glEndQueryARB (GLenum);
-GLAPI void APIENTRY glGetQueryivARB (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetQueryObjectivARB (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint, GLenum, GLuint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGENQUERIESARBPROC) (GLsizei n, GLuint *ids);
-typedef void (APIENTRYP PFNGLDELETEQUERIESARBPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (APIENTRYP PFNGLISQUERYARBPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLBEGINQUERYARBPROC) (GLenum target, GLuint id);
-typedef void (APIENTRYP PFNGLENDQUERYARBPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLGETQUERYIVARBPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVARBPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVARBPROC) (GLuint id, GLenum pname, GLuint *params);
-#endif
-
-#ifndef GL_ARB_shader_objects
-#define GL_ARB_shader_objects 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeleteObjectARB (GLhandleARB);
-GLAPI GLhandleARB APIENTRY glGetHandleARB (GLenum);
-GLAPI void APIENTRY glDetachObjectARB (GLhandleARB, GLhandleARB);
-GLAPI GLhandleARB APIENTRY glCreateShaderObjectARB (GLenum);
-GLAPI void APIENTRY glShaderSourceARB (GLhandleARB, GLsizei, const GLcharARB* *, const GLint *);
-GLAPI void APIENTRY glCompileShaderARB (GLhandleARB);
-GLAPI GLhandleARB APIENTRY glCreateProgramObjectARB (void);
-GLAPI void APIENTRY glAttachObjectARB (GLhandleARB, GLhandleARB);
-GLAPI void APIENTRY glLinkProgramARB (GLhandleARB);
-GLAPI void APIENTRY glUseProgramObjectARB (GLhandleARB);
-GLAPI void APIENTRY glValidateProgramARB (GLhandleARB);
-GLAPI void APIENTRY glUniform1fARB (GLint, GLfloat);
-GLAPI void APIENTRY glUniform2fARB (GLint, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform3fARB (GLint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform4fARB (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glUniform1iARB (GLint, GLint);
-GLAPI void APIENTRY glUniform2iARB (GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform3iARB (GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform4iARB (GLint, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glUniform1fvARB (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform2fvARB (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform3fvARB (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform4fvARB (GLint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glUniform1ivARB (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform2ivARB (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform3ivARB (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniform4ivARB (GLint, GLsizei, const GLint *);
-GLAPI void APIENTRY glUniformMatrix2fvARB (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix3fvARB (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glUniformMatrix4fvARB (GLint, GLsizei, GLboolean, const GLfloat *);
-GLAPI void APIENTRY glGetObjectParameterfvARB (GLhandleARB, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetObjectParameterivARB (GLhandleARB, GLenum, GLint *);
-GLAPI void APIENTRY glGetInfoLogARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
-GLAPI void APIENTRY glGetAttachedObjectsARB (GLhandleARB, GLsizei, GLsizei *, GLhandleARB *);
-GLAPI GLint APIENTRY glGetUniformLocationARB (GLhandleARB, const GLcharARB *);
-GLAPI void APIENTRY glGetActiveUniformARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
-GLAPI void APIENTRY glGetUniformfvARB (GLhandleARB, GLint, GLfloat *);
-GLAPI void APIENTRY glGetUniformivARB (GLhandleARB, GLint, GLint *);
-GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB, GLsizei, GLsizei *, GLcharARB *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC) (GLhandleARB obj);
-typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC) (GLenum pname);
-typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB attachedObj);
-typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC) (GLenum shaderType);
-typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC) (GLhandleARB shaderObj, GLsizei count, const GLcharARB* *string, const GLint *length);
-typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC) (GLhandleARB shaderObj);
-typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC) (void);
-typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC) (GLhandleARB containerObj, GLhandleARB obj);
-typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC) (GLhandleARB programObj);
-typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC) (GLhandleARB programObj);
-typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC) (GLhandleARB programObj);
-typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC) (GLint location, GLfloat v0);
-typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC) (GLint location, GLfloat v0, GLfloat v1);
-typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
-typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
-typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC) (GLint location, GLint v0);
-typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC) (GLint location, GLint v0, GLint v1);
-typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2);
-typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
-typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC) (GLint location, GLsizei count, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC) (GLint location, GLsizei count, const GLint *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
-typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC) (GLhandleARB obj, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC) (GLhandleARB obj, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
-typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC) (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
-typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
-typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
-typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC) (GLhandleARB programObj, GLint location, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC) (GLhandleARB programObj, GLint location, GLint *params);
-typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC) (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
-#endif
-
-#ifndef GL_ARB_vertex_shader
-#define GL_ARB_vertex_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBindAttribLocationARB (GLhandleARB, GLuint, const GLcharARB *);
-GLAPI void APIENTRY glGetActiveAttribARB (GLhandleARB, GLuint, GLsizei, GLsizei *, GLint *, GLenum *, GLcharARB *);
-GLAPI GLint APIENTRY glGetAttribLocationARB (GLhandleARB, const GLcharARB *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONARBPROC) (GLhandleARB programObj, GLuint index, const GLcharARB *name);
-typedef void (APIENTRYP PFNGLGETACTIVEATTRIBARBPROC) (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
-typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONARBPROC) (GLhandleARB programObj, const GLcharARB *name);
-#endif
-
-#ifndef GL_ARB_fragment_shader
-#define GL_ARB_fragment_shader 1
-#endif
-
-#ifndef GL_ARB_shading_language_100
-#define GL_ARB_shading_language_100 1
-#endif
-
-#ifndef GL_ARB_texture_non_power_of_two
-#define GL_ARB_texture_non_power_of_two 1
-#endif
-
-#ifndef GL_ARB_point_sprite
-#define GL_ARB_point_sprite 1
-#endif
-
-#ifndef GL_ARB_fragment_program_shadow
-#define GL_ARB_fragment_program_shadow 1
-#endif
-
-#ifndef GL_ARB_draw_buffers
-#define GL_ARB_draw_buffers 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawBuffersARB (GLsizei, const GLenum *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDRAWBUFFERSARBPROC) (GLsizei n, const GLenum *bufs);
-#endif
-
-#ifndef GL_ARB_texture_rectangle
-#define GL_ARB_texture_rectangle 1
-#endif
-
-#ifndef GL_ARB_color_buffer_float
-#define GL_ARB_color_buffer_float 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glClampColorARB (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCLAMPCOLORARBPROC) (GLenum target, GLenum clamp);
-#endif
-
-#ifndef GL_ARB_half_float_pixel
-#define GL_ARB_half_float_pixel 1
-#endif
-
-#ifndef GL_ARB_texture_float
-#define GL_ARB_texture_float 1
-#endif
-
-#ifndef GL_ARB_pixel_buffer_object
-#define GL_ARB_pixel_buffer_object 1
-#endif
-
-#ifndef GL_EXT_abgr
-#define GL_EXT_abgr 1
-#endif
-
-#ifndef GL_EXT_blend_color
-#define GL_EXT_blend_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendColorEXT (GLclampf, GLclampf, GLclampf, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDCOLOREXTPROC) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
-#endif
-
-#ifndef GL_EXT_polygon_offset
-#define GL_EXT_polygon_offset 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPOLYGONOFFSETEXTPROC) (GLfloat factor, GLfloat bias);
-#endif
-
-#ifndef GL_EXT_texture
-#define GL_EXT_texture 1
-#endif
-
-#ifndef GL_EXT_texture3D
-#define GL_EXT_texture3D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage3DEXT (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXIMAGE3DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGIS_texture_filter4
-#define GL_SGIS_texture_filter4 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetTexFilterFuncSGIS (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glTexFilterFuncSGIS (GLenum, GLenum, GLsizei, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGETTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLfloat *weights);
-typedef void (APIENTRYP PFNGLTEXFILTERFUNCSGISPROC) (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights);
-#endif
-
-#ifndef GL_EXT_subtexture
-#define GL_EXT_subtexture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexSubImage1DEXT (GLenum, GLint, GLint, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_EXT_copy_texture
-#define GL_EXT_copy_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCopyTexImage1DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexImage2DEXT (GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint);
-GLAPI void APIENTRY glCopyTexSubImage1DEXT (GLenum, GLint, GLint, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage2DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glCopyTexSubImage3DEXT (GLenum, GLint, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border);
-typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DEXTPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
-typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_EXT_histogram
-#define GL_EXT_histogram 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetHistogramEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetHistogramParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetHistogramParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMinmaxEXT (GLenum, GLboolean, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetMinmaxParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMinmaxParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glHistogramEXT (GLenum, GLsizei, GLenum, GLboolean);
-GLAPI void APIENTRY glMinmaxEXT (GLenum, GLenum, GLboolean);
-GLAPI void APIENTRY glResetHistogramEXT (GLenum);
-GLAPI void APIENTRY glResetMinmaxEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGETHISTOGRAMEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETHISTOGRAMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETMINMAXEXTPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLvoid *values);
-typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETMINMAXPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLHISTOGRAMEXTPROC) (GLenum target, GLsizei width, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRYP PFNGLMINMAXEXTPROC) (GLenum target, GLenum internalformat, GLboolean sink);
-typedef void (APIENTRYP PFNGLRESETHISTOGRAMEXTPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLRESETMINMAXEXTPROC) (GLenum target);
-#endif
-
-#ifndef GL_EXT_convolution
-#define GL_EXT_convolution 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glConvolutionFilter1DEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glConvolutionParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glConvolutionParameterfvEXT (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glConvolutionParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glConvolutionParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyConvolutionFilter1DEXT (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glCopyConvolutionFilter2DEXT (GLenum, GLenum, GLint, GLint, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetConvolutionFilterEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetConvolutionParameterfvEXT (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetConvolutionParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetSeparableFilterEXT (GLenum, GLenum, GLenum, GLvoid *, GLvoid *, GLvoid *);
-GLAPI void APIENTRY glSeparableFilter2DEXT (GLenum, GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRYP PFNGLCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *image);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint params);
-typedef void (APIENTRYP PFNGLCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER1DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLCOPYCONVOLUTIONFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *image);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCONVOLUTIONPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETSEPARABLEFILTEREXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *row, GLvoid *column, GLvoid *span);
-typedef void (APIENTRYP PFNGLSEPARABLEFILTER2DEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *row, const GLvoid *column);
-#endif
-
-#ifndef GL_SGI_color_matrix
-#define GL_SGI_color_matrix 1
-#endif
-
-#ifndef GL_SGI_color_table
-#define GL_SGI_color_table 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableSGI (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glColorTableParameterfvSGI (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glColorTableParameterivSGI (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glCopyColorTableSGI (GLenum, GLenum, GLint, GLint, GLsizei);
-GLAPI void APIENTRY glGetColorTableSGI (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterfvSGI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetColorTableParameterivSGI (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLCOPYCOLORTABLESGIPROC) (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width);
-typedef void (APIENTRYP PFNGLGETCOLORTABLESGIPROC) (GLenum target, GLenum format, GLenum type, GLvoid *table);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVSGIPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVSGIPROC) (GLenum target, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_SGIX_pixel_texture
-#define GL_SGIX_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenSGIX (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPIXELTEXGENSGIXPROC) (GLenum mode);
-#endif
-
-#ifndef GL_SGIS_pixel_texture
-#define GL_SGIS_pixel_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTexGenParameteriSGIS (GLenum, GLint);
-GLAPI void APIENTRY glPixelTexGenParameterivSGIS (GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTexGenParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTexGenParameterfvSGIS (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetPixelTexGenParameterivSGIS (GLenum, GLint *);
-GLAPI void APIENTRY glGetPixelTexGenParameterfvSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERISGISPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERIVSGISPROC) (GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETPIXELTEXGENPARAMETERFVSGISPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_texture4D
-#define GL_SGIS_texture4D 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexImage4DSGIS (GLenum, GLint, GLenum, GLsizei, GLsizei, GLsizei, GLsizei, GLint, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glTexSubImage4DSGIS (GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXIMAGE4DSGISPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
-typedef void (APIENTRYP PFNGLTEXSUBIMAGE4DSGISPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const GLvoid *pixels);
-#endif
-
-#ifndef GL_SGI_texture_color_table
-#define GL_SGI_texture_color_table 1
-#endif
-
-#ifndef GL_EXT_cmyka
-#define GL_EXT_cmyka 1
-#endif
-
-#ifndef GL_EXT_texture_object
-#define GL_EXT_texture_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreTexturesResidentEXT (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindTextureEXT (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteTexturesEXT (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenTexturesEXT (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsTextureEXT (GLuint);
-GLAPI void APIENTRY glPrioritizeTexturesEXT (GLsizei, const GLuint *, const GLclampf *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRYP PFNGLARETEXTURESRESIDENTEXTPROC) (GLsizei n, const GLuint *textures, GLboolean *residences);
-typedef void (APIENTRYP PFNGLBINDTEXTUREEXTPROC) (GLenum target, GLuint texture);
-typedef void (APIENTRYP PFNGLDELETETEXTURESEXTPROC) (GLsizei n, const GLuint *textures);
-typedef void (APIENTRYP PFNGLGENTEXTURESEXTPROC) (GLsizei n, GLuint *textures);
-typedef GLboolean (APIENTRYP PFNGLISTEXTUREEXTPROC) (GLuint texture);
-typedef void (APIENTRYP PFNGLPRIORITIZETEXTURESEXTPROC) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
-#endif
-
-#ifndef GL_SGIS_detail_texture
-#define GL_SGIS_detail_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDetailTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetDetailTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDETAILTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRYP PFNGLGETDETAILTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_SGIS_sharpen_texture
-#define GL_SGIS_sharpen_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSharpenTexFuncSGIS (GLenum, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetSharpenTexFuncSGIS (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSHARPENTEXFUNCSGISPROC) (GLenum target, GLsizei n, const GLfloat *points);
-typedef void (APIENTRYP PFNGLGETSHARPENTEXFUNCSGISPROC) (GLenum target, GLfloat *points);
-#endif
-
-#ifndef GL_EXT_packed_pixels
-#define GL_EXT_packed_pixels 1
-#endif
-
-#ifndef GL_SGIS_texture_lod
-#define GL_SGIS_texture_lod 1
-#endif
-
-#ifndef GL_SGIS_multisample
-#define GL_SGIS_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskSGIS (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternSGIS (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSAMPLEMASKSGISPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRYP PFNGLSAMPLEPATTERNSGISPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_EXT_rescale_normal
-#define GL_EXT_rescale_normal 1
-#endif
-
-#ifndef GL_EXT_vertex_array
-#define GL_EXT_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glArrayElementEXT (GLint);
-GLAPI void APIENTRY glColorPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glDrawArraysEXT (GLenum, GLint, GLsizei);
-GLAPI void APIENTRY glEdgeFlagPointerEXT (GLsizei, GLsizei, const GLboolean *);
-GLAPI void APIENTRY glGetPointervEXT (GLenum, GLvoid* *);
-GLAPI void APIENTRY glIndexPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glNormalPointerEXT (GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glTexCoordPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexPointerEXT (GLint, GLenum, GLsizei, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLARRAYELEMENTEXTPROC) (GLint i);
-typedef void (APIENTRYP PFNGLCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLDRAWARRAYSEXTPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (APIENTRYP PFNGLEDGEFLAGPOINTEREXTPROC) (GLsizei stride, GLsizei count, const GLboolean *pointer);
-typedef void (APIENTRYP PFNGLGETPOINTERVEXTPROC) (GLenum pname, GLvoid* *params);
-typedef void (APIENTRYP PFNGLINDEXPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLNORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLTEXCOORDPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLVERTEXPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, GLsizei count, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_misc_attribute
-#define GL_EXT_misc_attribute 1
-#endif
-
-#ifndef GL_SGIS_generate_mipmap
-#define GL_SGIS_generate_mipmap 1
-#endif
-
-#ifndef GL_SGIX_clipmap
-#define GL_SGIX_clipmap 1
-#endif
-
-#ifndef GL_SGIX_shadow
-#define GL_SGIX_shadow 1
-#endif
-
-#ifndef GL_SGIS_texture_edge_clamp
-#define GL_SGIS_texture_edge_clamp 1
-#endif
-
-#ifndef GL_SGIS_texture_border_clamp
-#define GL_SGIS_texture_border_clamp 1
-#endif
-
-#ifndef GL_EXT_blend_minmax
-#define GL_EXT_blend_minmax 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendEquationEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDEQUATIONEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_blend_subtract
-#define GL_EXT_blend_subtract 1
-#endif
-
-#ifndef GL_EXT_blend_logic_op
-#define GL_EXT_blend_logic_op 1
-#endif
-
-#ifndef GL_SGIX_interlace
-#define GL_SGIX_interlace 1
-#endif
-
-#ifndef GL_SGIX_pixel_tiles
-#define GL_SGIX_pixel_tiles 1
-#endif
-
-#ifndef GL_SGIX_texture_select
-#define GL_SGIX_texture_select 1
-#endif
-
-#ifndef GL_SGIX_sprite
-#define GL_SGIX_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSpriteParameterfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glSpriteParameterfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glSpriteParameteriSGIX (GLenum, GLint);
-GLAPI void APIENTRY glSpriteParameterivSGIX (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSPRITEPARAMETERFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLSPRITEPARAMETERFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLSPRITEPARAMETERISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLSPRITEPARAMETERIVSGIXPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_texture_multi_buffer
-#define GL_SGIX_texture_multi_buffer 1
-#endif
-
-#ifndef GL_EXT_point_parameters
-#define GL_EXT_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfEXT (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvEXT (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFEXTPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFVEXTPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIS_point_parameters
-#define GL_SGIS_point_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameterfSGIS (GLenum, GLfloat);
-GLAPI void APIENTRY glPointParameterfvSGIS (GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFSGISPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERFVSGISPROC) (GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_instruments
-#define GL_SGIX_instruments 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLint APIENTRY glGetInstrumentsSGIX (void);
-GLAPI void APIENTRY glInstrumentsBufferSGIX (GLsizei, GLint *);
-GLAPI GLint APIENTRY glPollInstrumentsSGIX (GLint *);
-GLAPI void APIENTRY glReadInstrumentsSGIX (GLint);
-GLAPI void APIENTRY glStartInstrumentsSGIX (void);
-GLAPI void APIENTRY glStopInstrumentsSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLint (APIENTRYP PFNGLGETINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRYP PFNGLINSTRUMENTSBUFFERSGIXPROC) (GLsizei size, GLint *buffer);
-typedef GLint (APIENTRYP PFNGLPOLLINSTRUMENTSSGIXPROC) (GLint *marker_p);
-typedef void (APIENTRYP PFNGLREADINSTRUMENTSSGIXPROC) (GLint marker);
-typedef void (APIENTRYP PFNGLSTARTINSTRUMENTSSGIXPROC) (void);
-typedef void (APIENTRYP PFNGLSTOPINSTRUMENTSSGIXPROC) (GLint marker);
-#endif
-
-#ifndef GL_SGIX_texture_scale_bias
-#define GL_SGIX_texture_scale_bias 1
-#endif
-
-#ifndef GL_SGIX_framezoom
-#define GL_SGIX_framezoom 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFrameZoomSGIX (GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFRAMEZOOMSGIXPROC) (GLint factor);
-#endif
-
-#ifndef GL_SGIX_tag_sample_buffer
-#define GL_SGIX_tag_sample_buffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTagSampleBufferSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTAGSAMPLEBUFFERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_polynomial_ffd
-#define GL_SGIX_polynomial_ffd 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeformationMap3dSGIX (GLenum, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, GLdouble, GLdouble, GLint, GLint, const GLdouble *);
-GLAPI void APIENTRY glDeformationMap3fSGIX (GLenum, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, GLfloat, GLfloat, GLint, GLint, const GLfloat *);
-GLAPI void APIENTRY glDeformSGIX (GLbitfield);
-GLAPI void APIENTRY glLoadIdentityDeformationMapSGIX (GLbitfield);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDEFORMATIONMAP3DSGIXPROC) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points);
-typedef void (APIENTRYP PFNGLDEFORMATIONMAP3FSGIXPROC) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points);
-typedef void (APIENTRYP PFNGLDEFORMSGIXPROC) (GLbitfield mask);
-typedef void (APIENTRYP PFNGLLOADIDENTITYDEFORMATIONMAPSGIXPROC) (GLbitfield mask);
-#endif
-
-#ifndef GL_SGIX_reference_plane
-#define GL_SGIX_reference_plane 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLREFERENCEPLANESGIXPROC) (const GLdouble *equation);
-#endif
-
-#ifndef GL_SGIX_flush_raster
-#define GL_SGIX_flush_raster 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushRasterSGIX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFLUSHRASTERSGIXPROC) (void);
-#endif
-
-#ifndef GL_SGIX_depth_texture
-#define GL_SGIX_depth_texture 1
-#endif
-
-#ifndef GL_SGIS_fog_function
-#define GL_SGIS_fog_function 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogFuncSGIS (GLsizei, const GLfloat *);
-GLAPI void APIENTRY glGetFogFuncSGIS (GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFOGFUNCSGISPROC) (GLsizei n, const GLfloat *points);
-typedef void (APIENTRYP PFNGLGETFOGFUNCSGISPROC) (GLfloat *points);
-#endif
-
-#ifndef GL_SGIX_fog_offset
-#define GL_SGIX_fog_offset 1
-#endif
-
-#ifndef GL_HP_image_transform
-#define GL_HP_image_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glImageTransformParameteriHP (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glImageTransformParameterfHP (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glImageTransformParameterivHP (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glImageTransformParameterfvHP (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetImageTransformParameterivHP (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetImageTransformParameterfvHP (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIHPPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFHPPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERIVHPPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETIMAGETRANSFORMPARAMETERFVHPPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_HP_convolution_border_modes
-#define GL_HP_convolution_border_modes 1
-#endif
-
-#ifndef GL_SGIX_texture_add_env
-#define GL_SGIX_texture_add_env 1
-#endif
-
-#ifndef GL_EXT_color_subtable
-#define GL_EXT_color_subtable 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorSubTableEXT (GLenum, GLsizei, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glCopyColorSubTableEXT (GLenum, GLsizei, GLint, GLint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const GLvoid *data);
-typedef void (APIENTRYP PFNGLCOPYCOLORSUBTABLEEXTPROC) (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width);
-#endif
-
-#ifndef GL_PGI_vertex_hints
-#define GL_PGI_vertex_hints 1
-#endif
-
-#ifndef GL_PGI_misc_hints
-#define GL_PGI_misc_hints 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glHintPGI (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLHINTPGIPROC) (GLenum target, GLint mode);
-#endif
-
-#ifndef GL_EXT_paletted_texture
-#define GL_EXT_paletted_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorTableEXT (GLenum, GLenum, GLsizei, GLenum, GLenum, const GLvoid *);
-GLAPI void APIENTRY glGetColorTableEXT (GLenum, GLenum, GLenum, GLvoid *);
-GLAPI void APIENTRY glGetColorTableParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetColorTableParameterfvEXT (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOLORTABLEEXTPROC) (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const GLvoid *table);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEEXTPROC) (GLenum target, GLenum format, GLenum type, GLvoid *data);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETCOLORTABLEPARAMETERFVEXTPROC) (GLenum target, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_EXT_clip_volume_hint
-#define GL_EXT_clip_volume_hint 1
-#endif
-
-#ifndef GL_SGIX_list_priority
-#define GL_SGIX_list_priority 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetListParameterfvSGIX (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetListParameterivSGIX (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glListParameterfSGIX (GLuint, GLenum, GLfloat);
-GLAPI void APIENTRY glListParameterfvSGIX (GLuint, GLenum, const GLfloat *);
-GLAPI void APIENTRY glListParameteriSGIX (GLuint, GLenum, GLint);
-GLAPI void APIENTRY glListParameterivSGIX (GLuint, GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGETLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLLISTPARAMETERFSGIXPROC) (GLuint list, GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLLISTPARAMETERFVSGIXPROC) (GLuint list, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLLISTPARAMETERISGIXPROC) (GLuint list, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLLISTPARAMETERIVSGIXPROC) (GLuint list, GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_SGIX_ir_instrument1
-#define GL_SGIX_ir_instrument1 1
-#endif
-
-#ifndef GL_SGIX_calligraphic_fragment
-#define GL_SGIX_calligraphic_fragment 1
-#endif
-
-#ifndef GL_SGIX_texture_lod_bias
-#define GL_SGIX_texture_lod_bias 1
-#endif
-
-#ifndef GL_SGIX_shadow_ambient
-#define GL_SGIX_shadow_ambient 1
-#endif
-
-#ifndef GL_EXT_index_texture
-#define GL_EXT_index_texture 1
-#endif
-
-#ifndef GL_EXT_index_material
-#define GL_EXT_index_material 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLINDEXMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_EXT_index_func
-#define GL_EXT_index_func 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIndexFuncEXT (GLenum, GLclampf);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLINDEXFUNCEXTPROC) (GLenum func, GLclampf ref);
-#endif
-
-#ifndef GL_EXT_index_array_formats
-#define GL_EXT_index_array_formats 1
-#endif
-
-#ifndef GL_EXT_compiled_vertex_array
-#define GL_EXT_compiled_vertex_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glLockArraysEXT (GLint, GLsizei);
-GLAPI void APIENTRY glUnlockArraysEXT (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLLOCKARRAYSEXTPROC) (GLint first, GLsizei count);
-typedef void (APIENTRYP PFNGLUNLOCKARRAYSEXTPROC) (void);
-#endif
-
-#ifndef GL_EXT_cull_vertex
-#define GL_EXT_cull_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCullParameterdvEXT (GLenum, GLdouble *);
-GLAPI void APIENTRY glCullParameterfvEXT (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCULLPARAMETERDVEXTPROC) (GLenum pname, GLdouble *params);
-typedef void (APIENTRYP PFNGLCULLPARAMETERFVEXTPROC) (GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_SGIX_ycrcb
-#define GL_SGIX_ycrcb 1
-#endif
-
-#ifndef GL_SGIX_fragment_lighting
-#define GL_SGIX_fragment_lighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFragmentColorMaterialSGIX (GLenum, GLenum);
-GLAPI void APIENTRY glFragmentLightfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentLightModelfSGIX (GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentLightModelfvSGIX (GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentLightModeliSGIX (GLenum, GLint);
-GLAPI void APIENTRY glFragmentLightModelivSGIX (GLenum, const GLint *);
-GLAPI void APIENTRY glFragmentMaterialfSGIX (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glFragmentMaterialfvSGIX (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glFragmentMaterialiSGIX (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFragmentMaterialivSGIX (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glGetFragmentLightfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentLightivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFragmentMaterialfvSGIX (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFragmentMaterialivSGIX (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glLightEnviSGIX (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFRAGMENTCOLORMATERIALSGIXPROC) (GLenum face, GLenum mode);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFSGIXPROC) (GLenum light, GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTISGIXPROC) (GLenum light, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFSGIXPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELFVSGIXPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELISGIXPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLFRAGMENTLIGHTMODELIVSGIXPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFSGIXPROC) (GLenum face, GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLFRAGMENTMATERIALISGIXPROC) (GLenum face, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTFVSGIXPROC) (GLenum light, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETFRAGMENTLIGHTIVSGIXPROC) (GLenum light, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALFVSGIXPROC) (GLenum face, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETFRAGMENTMATERIALIVSGIXPROC) (GLenum face, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLLIGHTENVISGIXPROC) (GLenum pname, GLint param);
-#endif
-
-#ifndef GL_IBM_rasterpos_clip
-#define GL_IBM_rasterpos_clip 1
-#endif
-
-#ifndef GL_HP_texture_lighting
-#define GL_HP_texture_lighting 1
-#endif
-
-#ifndef GL_EXT_draw_range_elements
-#define GL_EXT_draw_range_elements 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum, GLuint, GLuint, GLsizei, GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const GLvoid *indices);
-#endif
-
-#ifndef GL_WIN_phong_shading
-#define GL_WIN_phong_shading 1
-#endif
-
-#ifndef GL_WIN_specular_fog
-#define GL_WIN_specular_fog 1
-#endif
-
-#ifndef GL_EXT_light_texture
-#define GL_EXT_light_texture 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glApplyTextureEXT (GLenum);
-GLAPI void APIENTRY glTextureLightEXT (GLenum);
-GLAPI void APIENTRY glTextureMaterialEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLAPPLYTEXTUREEXTPROC) (GLenum mode);
-typedef void (APIENTRYP PFNGLTEXTURELIGHTEXTPROC) (GLenum pname);
-typedef void (APIENTRYP PFNGLTEXTUREMATERIALEXTPROC) (GLenum face, GLenum mode);
-#endif
-
-#ifndef GL_SGIX_blend_alpha_minmax
-#define GL_SGIX_blend_alpha_minmax 1
-#endif
-
-#ifndef GL_EXT_bgra
-#define GL_EXT_bgra 1
-#endif
-
-#ifndef GL_SGIX_async
-#define GL_SGIX_async 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glAsyncMarkerSGIX (GLuint);
-GLAPI GLint APIENTRY glFinishAsyncSGIX (GLuint *);
-GLAPI GLint APIENTRY glPollAsyncSGIX (GLuint *);
-GLAPI GLuint APIENTRY glGenAsyncMarkersSGIX (GLsizei);
-GLAPI void APIENTRY glDeleteAsyncMarkersSGIX (GLuint, GLsizei);
-GLAPI GLboolean APIENTRY glIsAsyncMarkerSGIX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLASYNCMARKERSGIXPROC) (GLuint marker);
-typedef GLint (APIENTRYP PFNGLFINISHASYNCSGIXPROC) (GLuint *markerp);
-typedef GLint (APIENTRYP PFNGLPOLLASYNCSGIXPROC) (GLuint *markerp);
-typedef GLuint (APIENTRYP PFNGLGENASYNCMARKERSSGIXPROC) (GLsizei range);
-typedef void (APIENTRYP PFNGLDELETEASYNCMARKERSSGIXPROC) (GLuint marker, GLsizei range);
-typedef GLboolean (APIENTRYP PFNGLISASYNCMARKERSGIXPROC) (GLuint marker);
-#endif
-
-#ifndef GL_SGIX_async_pixel
-#define GL_SGIX_async_pixel 1
-#endif
-
-#ifndef GL_SGIX_async_histogram
-#define GL_SGIX_async_histogram 1
-#endif
-
-#ifndef GL_INTEL_parallel_arrays
-#define GL_INTEL_parallel_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glNormalPointervINTEL (GLenum, const GLvoid* *);
-GLAPI void APIENTRY glColorPointervINTEL (GLint, GLenum, const GLvoid* *);
-GLAPI void APIENTRY glTexCoordPointervINTEL (GLint, GLenum, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRYP PFNGLNORMALPOINTERVINTELPROC) (GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRYP PFNGLCOLORPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-typedef void (APIENTRYP PFNGLTEXCOORDPOINTERVINTELPROC) (GLint size, GLenum type, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_HP_occlusion_test
-#define GL_HP_occlusion_test 1
-#endif
-
-#ifndef GL_EXT_pixel_transform
-#define GL_EXT_pixel_transform 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelTransformParameteriEXT (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glPixelTransformParameterfEXT (GLenum, GLenum, GLfloat);
-GLAPI void APIENTRY glPixelTransformParameterivEXT (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glPixelTransformParameterfvEXT (GLenum, GLenum, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIEXTPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFEXTPROC) (GLenum target, GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERIVEXTPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLPIXELTRANSFORMPARAMETERFVEXTPROC) (GLenum target, GLenum pname, const GLfloat *params);
-#endif
-
-#ifndef GL_EXT_pixel_transform_color_table
-#define GL_EXT_pixel_transform_color_table 1
-#endif
-
-#ifndef GL_EXT_shared_texture_palette
-#define GL_EXT_shared_texture_palette 1
-#endif
-
-#ifndef GL_EXT_separate_specular_color
-#define GL_EXT_separate_specular_color 1
-#endif
-
-#ifndef GL_EXT_secondary_color
-#define GL_EXT_secondary_color 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSecondaryColor3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glSecondaryColor3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glSecondaryColor3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glSecondaryColor3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glSecondaryColor3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glSecondaryColor3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glSecondaryColor3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glSecondaryColor3ivEXT (const GLint *);
-GLAPI void APIENTRY glSecondaryColor3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glSecondaryColor3svEXT (const GLshort *);
-GLAPI void APIENTRY glSecondaryColor3ubEXT (GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glSecondaryColor3ubvEXT (const GLubyte *);
-GLAPI void APIENTRY glSecondaryColor3uiEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSecondaryColor3uivEXT (const GLuint *);
-GLAPI void APIENTRY glSecondaryColor3usEXT (GLushort, GLushort, GLushort);
-GLAPI void APIENTRY glSecondaryColor3usvEXT (const GLushort *);
-GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BEXTPROC) (GLbyte red, GLbyte green, GLbyte blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DEXTPROC) (GLdouble red, GLdouble green, GLdouble blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FEXTPROC) (GLfloat red, GLfloat green, GLfloat blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IEXTPROC) (GLint red, GLint green, GLint blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SEXTPROC) (GLshort red, GLshort green, GLshort blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBEXTPROC) (GLubyte red, GLubyte green, GLubyte blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UBVEXTPROC) (const GLubyte *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIEXTPROC) (GLuint red, GLuint green, GLuint blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3UIVEXTPROC) (const GLuint *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USEXTPROC) (GLushort red, GLushort green, GLushort blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3USVEXTPROC) (const GLushort *v);
-typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTEREXTPROC) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_perturb_normal
-#define GL_EXT_texture_perturb_normal 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureNormalEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXTURENORMALEXTPROC) (GLenum mode);
-#endif
-
-#ifndef GL_EXT_multi_draw_arrays
-#define GL_EXT_multi_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiDrawArraysEXT (GLenum, GLint *, GLsizei *, GLsizei);
-GLAPI void APIENTRY glMultiDrawElementsEXT (GLenum, const GLsizei *, GLenum, const GLvoid* *, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, GLint *first, GLsizei *count, GLsizei primcount);
-typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount);
-#endif
-
-#ifndef GL_EXT_fog_coord
-#define GL_EXT_fog_coord 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFogCoordfEXT (GLfloat);
-GLAPI void APIENTRY glFogCoordfvEXT (const GLfloat *);
-GLAPI void APIENTRY glFogCoorddEXT (GLdouble);
-GLAPI void APIENTRY glFogCoorddvEXT (const GLdouble *);
-GLAPI void APIENTRY glFogCoordPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFOGCOORDFEXTPROC) (GLfloat coord);
-typedef void (APIENTRYP PFNGLFOGCOORDFVEXTPROC) (const GLfloat *coord);
-typedef void (APIENTRYP PFNGLFOGCOORDDEXTPROC) (GLdouble coord);
-typedef void (APIENTRYP PFNGLFOGCOORDDVEXTPROC) (const GLdouble *coord);
-typedef void (APIENTRYP PFNGLFOGCOORDPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_REND_screen_coordinates
-#define GL_REND_screen_coordinates 1
-#endif
-
-#ifndef GL_EXT_coordinate_frame
-#define GL_EXT_coordinate_frame 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTangent3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glTangent3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glTangent3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glTangent3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glTangent3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTangent3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glTangent3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glTangent3ivEXT (const GLint *);
-GLAPI void APIENTRY glTangent3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glTangent3svEXT (const GLshort *);
-GLAPI void APIENTRY glBinormal3bEXT (GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glBinormal3bvEXT (const GLbyte *);
-GLAPI void APIENTRY glBinormal3dEXT (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glBinormal3dvEXT (const GLdouble *);
-GLAPI void APIENTRY glBinormal3fEXT (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glBinormal3fvEXT (const GLfloat *);
-GLAPI void APIENTRY glBinormal3iEXT (GLint, GLint, GLint);
-GLAPI void APIENTRY glBinormal3ivEXT (const GLint *);
-GLAPI void APIENTRY glBinormal3sEXT (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glBinormal3svEXT (const GLshort *);
-GLAPI void APIENTRY glTangentPointerEXT (GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glBinormalPointerEXT (GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTANGENT3BEXTPROC) (GLbyte tx, GLbyte ty, GLbyte tz);
-typedef void (APIENTRYP PFNGLTANGENT3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRYP PFNGLTANGENT3DEXTPROC) (GLdouble tx, GLdouble ty, GLdouble tz);
-typedef void (APIENTRYP PFNGLTANGENT3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLTANGENT3FEXTPROC) (GLfloat tx, GLfloat ty, GLfloat tz);
-typedef void (APIENTRYP PFNGLTANGENT3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLTANGENT3IEXTPROC) (GLint tx, GLint ty, GLint tz);
-typedef void (APIENTRYP PFNGLTANGENT3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLTANGENT3SEXTPROC) (GLshort tx, GLshort ty, GLshort tz);
-typedef void (APIENTRYP PFNGLTANGENT3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLBINORMAL3BEXTPROC) (GLbyte bx, GLbyte by, GLbyte bz);
-typedef void (APIENTRYP PFNGLBINORMAL3BVEXTPROC) (const GLbyte *v);
-typedef void (APIENTRYP PFNGLBINORMAL3DEXTPROC) (GLdouble bx, GLdouble by, GLdouble bz);
-typedef void (APIENTRYP PFNGLBINORMAL3DVEXTPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLBINORMAL3FEXTPROC) (GLfloat bx, GLfloat by, GLfloat bz);
-typedef void (APIENTRYP PFNGLBINORMAL3FVEXTPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLBINORMAL3IEXTPROC) (GLint bx, GLint by, GLint bz);
-typedef void (APIENTRYP PFNGLBINORMAL3IVEXTPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLBINORMAL3SEXTPROC) (GLshort bx, GLshort by, GLshort bz);
-typedef void (APIENTRYP PFNGLBINORMAL3SVEXTPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLTANGENTPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLBINORMALPOINTEREXTPROC) (GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_EXT_texture_env_combine
-#define GL_EXT_texture_env_combine 1
-#endif
-
-#ifndef GL_APPLE_specular_vector
-#define GL_APPLE_specular_vector 1
-#endif
-
-#ifndef GL_APPLE_transform_hint
-#define GL_APPLE_transform_hint 1
-#endif
-
-#ifndef GL_SGIX_fog_scale
-#define GL_SGIX_fog_scale 1
-#endif
-
-#ifndef GL_SUNX_constant_data
-#define GL_SUNX_constant_data 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFinishTextureSUNX (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFINISHTEXTURESUNXPROC) (void);
-#endif
-
-#ifndef GL_SUN_global_alpha
-#define GL_SUN_global_alpha 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGlobalAlphaFactorbSUN (GLbyte);
-GLAPI void APIENTRY glGlobalAlphaFactorsSUN (GLshort);
-GLAPI void APIENTRY glGlobalAlphaFactoriSUN (GLint);
-GLAPI void APIENTRY glGlobalAlphaFactorfSUN (GLfloat);
-GLAPI void APIENTRY glGlobalAlphaFactordSUN (GLdouble);
-GLAPI void APIENTRY glGlobalAlphaFactorubSUN (GLubyte);
-GLAPI void APIENTRY glGlobalAlphaFactorusSUN (GLushort);
-GLAPI void APIENTRY glGlobalAlphaFactoruiSUN (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORBSUNPROC) (GLbyte factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORSSUNPROC) (GLshort factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORISUNPROC) (GLint factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORFSUNPROC) (GLfloat factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORDSUNPROC) (GLdouble factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUBSUNPROC) (GLubyte factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUSSUNPROC) (GLushort factor);
-typedef void (APIENTRYP PFNGLGLOBALALPHAFACTORUISUNPROC) (GLuint factor);
-#endif
-
-#ifndef GL_SUN_triangle_list
-#define GL_SUN_triangle_list 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glReplacementCodeuiSUN (GLuint);
-GLAPI void APIENTRY glReplacementCodeusSUN (GLushort);
-GLAPI void APIENTRY glReplacementCodeubSUN (GLubyte);
-GLAPI void APIENTRY glReplacementCodeuivSUN (const GLuint *);
-GLAPI void APIENTRY glReplacementCodeusvSUN (const GLushort *);
-GLAPI void APIENTRY glReplacementCodeubvSUN (const GLubyte *);
-GLAPI void APIENTRY glReplacementCodePointerSUN (GLenum, GLsizei, const GLvoid* *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUISUNPROC) (GLuint code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSSUNPROC) (GLushort code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBSUNPROC) (GLubyte code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVSUNPROC) (const GLuint *code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUSVSUNPROC) (const GLushort *code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUBVSUNPROC) (const GLubyte *code);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEPOINTERSUNPROC) (GLenum type, GLsizei stride, const GLvoid* *pointer);
-#endif
-
-#ifndef GL_SUN_vertex
-#define GL_SUN_vertex 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColor4ubVertex2fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex2fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor4ubVertex3fSUN (GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4ubVertex3fvSUN (const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fVertex3fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fVertex4fvSUN (const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fSUN (GLfloat, GLfloat, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4ubVertex3fvSUN (const GLfloat *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord2fColor4fNormal3fVertex3fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fSUN (GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glTexCoord4fColor4fNormal3fVertex4fvSUN (const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiVertex3fvSUN (const GLuint *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fSUN (GLuint, GLubyte, GLubyte, GLubyte, GLubyte, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4ubVertex3fvSUN (const GLuint *, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (GLuint, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (const GLuint *, const GLfloat *, const GLfloat *, const GLfloat *, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX2FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FSUNPROC) (GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLCOLOR4UBVERTEX3FVSUNPROC) (const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FSUNPROC) (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLTEXCOORD2FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLTEXCOORD4FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4UBVERTEX3FVSUNPROC) (const GLfloat *tc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLTEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUNPROC) (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUNPROC) (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FSUNPROC) (GLuint rc, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUIVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUNPROC) (GLuint rc, GLubyte r, GLubyte g, GLubyte b, GLubyte a, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUNPROC) (const GLuint *rc, const GLubyte *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUNPROC) (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUNPROC) (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v);
-#endif
-
-#ifndef GL_EXT_blend_func_separate
-#define GL_EXT_blend_func_separate 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendFuncSeparateEXT (GLenum, GLenum, GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEEXTPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-#endif
-
-#ifndef GL_INGR_blend_func_separate
-#define GL_INGR_blend_func_separate 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum, GLenum, GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEINGRPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
-#endif
-
-#ifndef GL_INGR_color_clamp
-#define GL_INGR_color_clamp 1
-#endif
-
-#ifndef GL_INGR_interlace_read
-#define GL_INGR_interlace_read 1
-#endif
-
-#ifndef GL_EXT_stencil_wrap
-#define GL_EXT_stencil_wrap 1
-#endif
-
-#ifndef GL_EXT_422_pixels
-#define GL_EXT_422_pixels 1
-#endif
-
-#ifndef GL_NV_texgen_reflection
-#define GL_NV_texgen_reflection 1
-#endif
-
-#ifndef GL_SUN_convolution_border_modes
-#define GL_SUN_convolution_border_modes 1
-#endif
-
-#ifndef GL_EXT_texture_env_add
-#define GL_EXT_texture_env_add 1
-#endif
-
-#ifndef GL_EXT_texture_lod_bias
-#define GL_EXT_texture_lod_bias 1
-#endif
-
-#ifndef GL_EXT_texture_filter_anisotropic
-#define GL_EXT_texture_filter_anisotropic 1
-#endif
-
-#ifndef GL_EXT_vertex_weighting
-#define GL_EXT_vertex_weighting 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexWeightfEXT (GLfloat);
-GLAPI void APIENTRY glVertexWeightfvEXT (const GLfloat *);
-GLAPI void APIENTRY glVertexWeightPointerEXT (GLsizei, GLenum, GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXWEIGHTFEXTPROC) (GLfloat weight);
-typedef void (APIENTRYP PFNGLVERTEXWEIGHTFVEXTPROC) (const GLfloat *weight);
-typedef void (APIENTRYP PFNGLVERTEXWEIGHTPOINTEREXTPROC) (GLsizei size, GLenum type, GLsizei stride, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_light_max_exponent
-#define GL_NV_light_max_exponent 1
-#endif
-
-#ifndef GL_NV_vertex_array_range
-#define GL_NV_vertex_array_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glFlushVertexArrayRangeNV (void);
-GLAPI void APIENTRY glVertexArrayRangeNV (GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGENVPROC) (void);
-typedef void (APIENTRYP PFNGLVERTEXARRAYRANGENVPROC) (GLsizei length, const GLvoid *pointer);
-#endif
-
-#ifndef GL_NV_register_combiners
-#define GL_NV_register_combiners 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerParameterfvNV (GLenum, const GLfloat *);
-GLAPI void APIENTRY glCombinerParameterfNV (GLenum, GLfloat);
-GLAPI void APIENTRY glCombinerParameterivNV (GLenum, const GLint *);
-GLAPI void APIENTRY glCombinerParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glCombinerInputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glCombinerOutputNV (GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLenum, GLboolean, GLboolean, GLboolean);
-GLAPI void APIENTRY glFinalCombinerInputNV (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glGetCombinerInputParameterfvNV (GLenum, GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerInputParameterivNV (GLenum, GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetCombinerOutputParameterfvNV (GLenum, GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetCombinerOutputParameterivNV (GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetFinalCombinerInputParameterivNV (GLenum, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFVNVPROC) (GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLCOMBINERPARAMETERFNVPROC) (GLenum pname, GLfloat param);
-typedef void (APIENTRYP PFNGLCOMBINERPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLCOMBINERPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLCOMBINERINPUTNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRYP PFNGLCOMBINEROUTPUTNVPROC) (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean abDotProduct, GLboolean cdDotProduct, GLboolean muxSum);
-typedef void (APIENTRYP PFNGLFINALCOMBINERINPUTNVPROC) (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage);
-typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCOMBINERINPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERFVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCOMBINEROUTPUTPARAMETERIVNVPROC) (GLenum stage, GLenum portion, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERFVNVPROC) (GLenum variable, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETFINALCOMBINERINPUTPARAMETERIVNVPROC) (GLenum variable, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_NV_fog_distance
-#define GL_NV_fog_distance 1
-#endif
-
-#ifndef GL_NV_texgen_emboss
-#define GL_NV_texgen_emboss 1
-#endif
-
-#ifndef GL_NV_blend_square
-#define GL_NV_blend_square 1
-#endif
-
-#ifndef GL_NV_texture_env_combine4
-#define GL_NV_texture_env_combine4 1
-#endif
-
-#ifndef GL_MESA_resize_buffers
-#define GL_MESA_resize_buffers 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glResizeBuffersMESA (void);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void);
-#endif
-
-#ifndef GL_MESA_window_pos
-#define GL_MESA_window_pos 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glWindowPos2dMESA (GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos2dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos2fMESA (GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos2fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos2iMESA (GLint, GLint);
-GLAPI void APIENTRY glWindowPos2ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos2sMESA (GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos2svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos3dMESA (GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos3dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos3fMESA (GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos3fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos3iMESA (GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos3ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos3sMESA (GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos3svMESA (const GLshort *);
-GLAPI void APIENTRY glWindowPos4dMESA (GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glWindowPos4dvMESA (const GLdouble *);
-GLAPI void APIENTRY glWindowPos4fMESA (GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glWindowPos4fvMESA (const GLfloat *);
-GLAPI void APIENTRY glWindowPos4iMESA (GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glWindowPos4ivMESA (const GLint *);
-GLAPI void APIENTRY glWindowPos4sMESA (GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FMESAPROC) (GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IMESAPROC) (GLint x, GLint y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2IVMESAPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SMESAPROC) (GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLWINDOWPOS2SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DMESAPROC) (GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FMESAPROC) (GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IMESAPROC) (GLint x, GLint y, GLint z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3IVMESAPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SMESAPROC) (GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLWINDOWPOS3SVMESAPROC) (const GLshort *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS4DMESAPROC) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLWINDOWPOS4DVMESAPROC) (const GLdouble *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS4FMESAPROC) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLWINDOWPOS4FVMESAPROC) (const GLfloat *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS4IMESAPROC) (GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRYP PFNGLWINDOWPOS4IVMESAPROC) (const GLint *v);
-typedef void (APIENTRYP PFNGLWINDOWPOS4SMESAPROC) (GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRYP PFNGLWINDOWPOS4SVMESAPROC) (const GLshort *v);
-#endif
-
-#ifndef GL_IBM_cull_vertex
-#define GL_IBM_cull_vertex 1
-#endif
-
-#ifndef GL_IBM_multimode_draw_arrays
-#define GL_IBM_multimode_draw_arrays 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMultiModeDrawArraysIBM (const GLenum *, const GLint *, const GLsizei *, GLsizei, GLint);
-GLAPI void APIENTRY glMultiModeDrawElementsIBM (const GLenum *, const GLsizei *, GLenum, const GLvoid* const *, GLsizei, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLMULTIMODEDRAWARRAYSIBMPROC) (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride);
-typedef void (APIENTRYP PFNGLMULTIMODEDRAWELEMENTSIBMPROC) (const GLenum *mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount, GLint modestride);
-#endif
-
-#ifndef GL_IBM_vertex_array_lists
-#define GL_IBM_vertex_array_lists 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glSecondaryColorPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glEdgeFlagPointerListIBM (GLint, const GLboolean* *, GLint);
-GLAPI void APIENTRY glFogCoordPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glIndexPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glNormalPointerListIBM (GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glTexCoordPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-GLAPI void APIENTRY glVertexPointerListIBM (GLint, GLenum, GLint, const GLvoid* *, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLSECONDARYCOLORPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLEDGEFLAGPOINTERLISTIBMPROC) (GLint stride, const GLboolean* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLFOGCOORDPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLINDEXPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLNORMALPOINTERLISTIBMPROC) (GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLTEXCOORDPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-typedef void (APIENTRYP PFNGLVERTEXPOINTERLISTIBMPROC) (GLint size, GLenum type, GLint stride, const GLvoid* *pointer, GLint ptrstride);
-#endif
-
-#ifndef GL_SGIX_subsample
-#define GL_SGIX_subsample 1
-#endif
-
-#ifndef GL_SGIX_ycrcba
-#define GL_SGIX_ycrcba 1
-#endif
-
-#ifndef GL_SGIX_ycrcb_subsample
-#define GL_SGIX_ycrcb_subsample 1
-#endif
-
-#ifndef GL_SGIX_depth_pass_instrument
-#define GL_SGIX_depth_pass_instrument 1
-#endif
-
-#ifndef GL_3DFX_texture_compression_FXT1
-#define GL_3DFX_texture_compression_FXT1 1
-#endif
-
-#ifndef GL_3DFX_multisample
-#define GL_3DFX_multisample 1
-#endif
-
-#ifndef GL_3DFX_tbuffer
-#define GL_3DFX_tbuffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTbufferMask3DFX (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTBUFFERMASK3DFXPROC) (GLuint mask);
-#endif
-
-#ifndef GL_EXT_multisample
-#define GL_EXT_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glSampleMaskEXT (GLclampf, GLboolean);
-GLAPI void APIENTRY glSamplePatternEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSAMPLEMASKEXTPROC) (GLclampf value, GLboolean invert);
-typedef void (APIENTRYP PFNGLSAMPLEPATTERNEXTPROC) (GLenum pattern);
-#endif
-
-#ifndef GL_SGIX_vertex_preclip
-#define GL_SGIX_vertex_preclip 1
-#endif
-
-#ifndef GL_SGIX_convolution_accuracy
-#define GL_SGIX_convolution_accuracy 1
-#endif
-
-#ifndef GL_SGIX_resample
-#define GL_SGIX_resample 1
-#endif
-
-#ifndef GL_SGIS_point_line_texgen
-#define GL_SGIS_point_line_texgen 1
-#endif
-
-#ifndef GL_SGIS_texture_color_mask
-#define GL_SGIS_texture_color_mask 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTextureColorMaskSGIS (GLboolean, GLboolean, GLboolean, GLboolean);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXTURECOLORMASKSGISPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
-#endif
-
-#ifndef GL_SGIX_igloo_interface
-#define GL_SGIX_igloo_interface 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glIglooInterfaceSGIX (GLenum, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLIGLOOINTERFACESGIXPROC) (GLenum pname, const GLvoid *params);
-#endif
-
-#ifndef GL_EXT_texture_env_dot3
-#define GL_EXT_texture_env_dot3 1
-#endif
-
-#ifndef GL_ATI_texture_mirror_once
-#define GL_ATI_texture_mirror_once 1
-#endif
-
-#ifndef GL_NV_fence
-#define GL_NV_fence 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDeleteFencesNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenFencesNV (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsFenceNV (GLuint);
-GLAPI GLboolean APIENTRY glTestFenceNV (GLuint);
-GLAPI void APIENTRY glGetFenceivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glFinishFenceNV (GLuint);
-GLAPI void APIENTRY glSetFenceNV (GLuint, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences);
-typedef void (APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences);
-typedef GLboolean (APIENTRYP PFNGLISFENCENVPROC) (GLuint fence);
-typedef GLboolean (APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence);
-typedef void (APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence);
-typedef void (APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition);
-#endif
-
-#ifndef GL_NV_evaluators
-#define GL_NV_evaluators 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLint, GLint, GLboolean, const GLvoid *);
-GLAPI void APIENTRY glMapParameterivNV (GLenum, GLenum, const GLint *);
-GLAPI void APIENTRY glMapParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetMapControlPointsNV (GLenum, GLuint, GLenum, GLsizei, GLsizei, GLboolean, GLvoid *);
-GLAPI void APIENTRY glGetMapParameterivNV (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapParameterfvNV (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetMapAttribParameterivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetMapAttribParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glEvalMapsNV (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean packed, const GLvoid *points);
-typedef void (APIENTRYP PFNGLMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, const GLint *params);
-typedef void (APIENTRYP PFNGLMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGETMAPCONTROLPOINTSNVPROC) (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean packed, GLvoid *points);
-typedef void (APIENTRYP PFNGLGETMAPPARAMETERIVNVPROC) (GLenum target, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETMAPPARAMETERFVNVPROC) (GLenum target, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERIVNVPROC) (GLenum target, GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETMAPATTRIBPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLEVALMAPSNVPROC) (GLenum target, GLenum mode);
-#endif
-
-#ifndef GL_NV_packed_depth_stencil
-#define GL_NV_packed_depth_stencil 1
-#endif
-
-#ifndef GL_NV_register_combiners2
-#define GL_NV_register_combiners2 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glCombinerStageParameterfvNV (GLenum, GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGETCOMBINERSTAGEPARAMETERFVNVPROC) (GLenum stage, GLenum pname, GLfloat *params);
-#endif
-
-#ifndef GL_NV_texture_compression_vtc
-#define GL_NV_texture_compression_vtc 1
-#endif
-
-#ifndef GL_NV_texture_rectangle
-#define GL_NV_texture_rectangle 1
-#endif
-
-#ifndef GL_NV_texture_shader
-#define GL_NV_texture_shader 1
-#endif
-
-#ifndef GL_NV_texture_shader2
-#define GL_NV_texture_shader2 1
-#endif
-
-#ifndef GL_NV_vertex_array_range2
-#define GL_NV_vertex_array_range2 1
-#endif
-
-#ifndef GL_NV_vertex_program
-#define GL_NV_vertex_program 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glAreProgramsResidentNV (GLsizei, const GLuint *, GLboolean *);
-GLAPI void APIENTRY glBindProgramNV (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glExecuteProgramNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glGenProgramsNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glGetProgramParameterdvNV (GLenum, GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetProgramParameterfvNV (GLenum, GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetProgramivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetProgramStringNV (GLuint, GLenum, GLubyte *);
-GLAPI void APIENTRY glGetTrackMatrixivNV (GLenum, GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribdvNV (GLuint, GLenum, GLdouble *);
-GLAPI void APIENTRY glGetVertexAttribfvNV (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVertexAttribPointervNV (GLuint, GLenum, GLvoid* *);
-GLAPI GLboolean APIENTRY glIsProgramNV (GLuint);
-GLAPI void APIENTRY glLoadProgramNV (GLenum, GLuint, GLsizei, const GLubyte *);
-GLAPI void APIENTRY glProgramParameter4dNV (GLenum, GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramParameter4dvNV (GLenum, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameter4fNV (GLenum, GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramParameter4fvNV (GLenum, GLuint, const GLfloat *);
-GLAPI void APIENTRY glProgramParameters4dvNV (GLenum, GLuint, GLuint, const GLdouble *);
-GLAPI void APIENTRY glProgramParameters4fvNV (GLenum, GLuint, GLuint, const GLfloat *);
-GLAPI void APIENTRY glRequestResidentProgramsNV (GLsizei, const GLuint *);
-GLAPI void APIENTRY glTrackMatrixNV (GLenum, GLuint, GLenum, GLenum);
-GLAPI void APIENTRY glVertexAttribPointerNV (GLuint, GLint, GLenum, GLsizei, const GLvoid *);
-GLAPI void APIENTRY glVertexAttrib1dNV (GLuint, GLdouble);
-GLAPI void APIENTRY glVertexAttrib1dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib1fNV (GLuint, GLfloat);
-GLAPI void APIENTRY glVertexAttrib1fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib1sNV (GLuint, GLshort);
-GLAPI void APIENTRY glVertexAttrib1svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib2dNV (GLuint, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib2dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib2fNV (GLuint, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib2fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib2sNV (GLuint, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib2svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib3dNV (GLuint, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib3dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib3fNV (GLuint, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib3fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib3sNV (GLuint, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib3svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4dNV (GLuint, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexAttrib4dvNV (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVertexAttrib4fNV (GLuint, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexAttrib4fvNV (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVertexAttrib4sNV (GLuint, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexAttrib4svNV (GLuint, const GLshort *);
-GLAPI void APIENTRY glVertexAttrib4ubNV (GLuint, GLubyte, GLubyte, GLubyte, GLubyte);
-GLAPI void APIENTRY glVertexAttrib4ubvNV (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVertexAttribs1dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs1fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs1svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs2dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs2fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs2svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs3dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs3fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs3svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4dvNV (GLuint, GLsizei, const GLdouble *);
-GLAPI void APIENTRY glVertexAttribs4fvNV (GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glVertexAttribs4svNV (GLuint, GLsizei, const GLshort *);
-GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint, GLsizei, const GLubyte *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRYP PFNGLAREPROGRAMSRESIDENTNVPROC) (GLsizei n, const GLuint *programs, GLboolean *residences);
-typedef void (APIENTRYP PFNGLBINDPROGRAMNVPROC) (GLenum target, GLuint id);
-typedef void (APIENTRYP PFNGLDELETEPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRYP PFNGLEXECUTEPROGRAMNVPROC) (GLenum target, GLuint id, const GLfloat *params);
-typedef void (APIENTRYP PFNGLGENPROGRAMSNVPROC) (GLsizei n, GLuint *programs);
-typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERDVNVPROC) (GLenum target, GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMPARAMETERFVNVPROC) (GLenum target, GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMSTRINGNVPROC) (GLuint id, GLenum pname, GLubyte *program);
-typedef void (APIENTRYP PFNGLGETTRACKMATRIXIVNVPROC) (GLenum target, GLuint address, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVNVPROC) (GLuint index, GLenum pname, GLdouble *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVNVPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVNVPROC) (GLuint index, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVNVPROC) (GLuint index, GLenum pname, GLvoid* *pointer);
-typedef GLboolean (APIENTRYP PFNGLISPROGRAMNVPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLLOADPROGRAMNVPROC) (GLenum target, GLuint id, GLsizei len, const GLubyte *program);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DNVPROC) (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4DVNVPROC) (GLenum target, GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FNVPROC) (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETER4FVNVPROC) (GLenum target, GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4DVNVPROC) (GLenum target, GLuint index, GLuint count, const GLdouble *v);
-typedef void (APIENTRYP PFNGLPROGRAMPARAMETERS4FVNVPROC) (GLenum target, GLuint index, GLuint count, const GLfloat *v);
-typedef void (APIENTRYP PFNGLREQUESTRESIDENTPROGRAMSNVPROC) (GLsizei n, const GLuint *programs);
-typedef void (APIENTRYP PFNGLTRACKMATRIXNVPROC) (GLenum target, GLuint address, GLenum matrix, GLenum transform);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERNVPROC) (GLuint index, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DNVPROC) (GLuint index, GLdouble x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FNVPROC) (GLuint index, GLfloat x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SNVPROC) (GLuint index, GLshort x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DNVPROC) (GLuint index, GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FNVPROC) (GLuint index, GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SNVPROC) (GLuint index, GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DNVPROC) (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVNVPROC) (GLuint index, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVNVPROC) (GLuint index, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SNVPROC) (GLuint index, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVNVPROC) (GLuint index, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBNVPROC) (GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVNVPROC) (GLuint index, const GLubyte *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS1DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS1FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS1SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS2DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS2FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS2SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS3DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS3FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS3SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS4DVNVPROC) (GLuint index, GLsizei count, const GLdouble *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS4FVNVPROC) (GLuint index, GLsizei count, const GLfloat *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS4SVNVPROC) (GLuint index, GLsizei count, const GLshort *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS4UBVNVPROC) (GLuint index, GLsizei count, const GLubyte *v);
-#endif
-
-#ifndef GL_SGIX_texture_coordinate_clamp
-#define GL_SGIX_texture_coordinate_clamp 1
-#endif
-
-#ifndef GL_SGIX_scalebias_hint
-#define GL_SGIX_scalebias_hint 1
-#endif
-
-#ifndef GL_OML_interlace
-#define GL_OML_interlace 1
-#endif
-
-#ifndef GL_OML_subsample
-#define GL_OML_subsample 1
-#endif
-
-#ifndef GL_OML_resample
-#define GL_OML_resample 1
-#endif
-
-#ifndef GL_NV_copy_depth_to_color
-#define GL_NV_copy_depth_to_color 1
-#endif
-
-#ifndef GL_ATI_envmap_bumpmap
-#define GL_ATI_envmap_bumpmap 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glTexBumpParameterivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glTexBumpParameterfvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glGetTexBumpParameterivATI (GLenum, GLint *);
-GLAPI void APIENTRY glGetTexBumpParameterfvATI (GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERIVATIPROC) (GLenum pname, const GLint *param);
-typedef void (APIENTRYP PFNGLTEXBUMPPARAMETERFVATIPROC) (GLenum pname, const GLfloat *param);
-typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERIVATIPROC) (GLenum pname, GLint *param);
-typedef void (APIENTRYP PFNGLGETTEXBUMPPARAMETERFVATIPROC) (GLenum pname, GLfloat *param);
-#endif
-
-#ifndef GL_ATI_fragment_shader
-#define GL_ATI_fragment_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glGenFragmentShadersATI (GLuint);
-GLAPI void APIENTRY glBindFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glDeleteFragmentShaderATI (GLuint);
-GLAPI void APIENTRY glBeginFragmentShaderATI (void);
-GLAPI void APIENTRY glEndFragmentShaderATI (void);
-GLAPI void APIENTRY glPassTexCoordATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glSampleMapATI (GLuint, GLuint, GLenum);
-GLAPI void APIENTRY glColorFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glColorFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp1ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp2ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glAlphaFragmentOp3ATI (GLenum, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSetFragmentShaderConstantATI (GLuint, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRYP PFNGLGENFRAGMENTSHADERSATIPROC) (GLuint range);
-typedef void (APIENTRYP PFNGLBINDFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLDELETEFRAGMENTSHADERATIPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLBEGINFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRYP PFNGLENDFRAGMENTSHADERATIPROC) (void);
-typedef void (APIENTRYP PFNGLPASSTEXCOORDATIPROC) (GLuint dst, GLuint coord, GLenum swizzle);
-typedef void (APIENTRYP PFNGLSAMPLEMAPATIPROC) (GLuint dst, GLuint interp, GLenum swizzle);
-typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRYP PFNGLCOLORFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP1ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod);
-typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP2ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod);
-typedef void (APIENTRYP PFNGLALPHAFRAGMENTOP3ATIPROC) (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod);
-typedef void (APIENTRYP PFNGLSETFRAGMENTSHADERCONSTANTATIPROC) (GLuint dst, const GLfloat *value);
-#endif
-
-#ifndef GL_ATI_pn_triangles
-#define GL_ATI_pn_triangles 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPNTrianglesiATI (GLenum, GLint);
-GLAPI void APIENTRY glPNTrianglesfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPNTRIANGLESIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLPNTRIANGLESFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_vertex_array_object
-#define GL_ATI_vertex_array_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLuint APIENTRY glNewObjectBufferATI (GLsizei, const GLvoid *, GLenum);
-GLAPI GLboolean APIENTRY glIsObjectBufferATI (GLuint);
-GLAPI void APIENTRY glUpdateObjectBufferATI (GLuint, GLuint, GLsizei, const GLvoid *, GLenum);
-GLAPI void APIENTRY glGetObjectBufferfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetObjectBufferivATI (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glFreeObjectBufferATI (GLuint);
-GLAPI void APIENTRY glArrayObjectATI (GLenum, GLint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetArrayObjectfvATI (GLenum, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetArrayObjectivATI (GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glVariantArrayObjectATI (GLuint, GLenum, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetVariantArrayObjectfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantArrayObjectivATI (GLuint, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLuint (APIENTRYP PFNGLNEWOBJECTBUFFERATIPROC) (GLsizei size, const GLvoid *pointer, GLenum usage);
-typedef GLboolean (APIENTRYP PFNGLISOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRYP PFNGLUPDATEOBJECTBUFFERATIPROC) (GLuint buffer, GLuint offset, GLsizei size, const GLvoid *pointer, GLenum preserve);
-typedef void (APIENTRYP PFNGLGETOBJECTBUFFERFVATIPROC) (GLuint buffer, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETOBJECTBUFFERIVATIPROC) (GLuint buffer, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLFREEOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRYP PFNGLARRAYOBJECTATIPROC) (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRYP PFNGLGETARRAYOBJECTFVATIPROC) (GLenum array, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETARRAYOBJECTIVATIPROC) (GLenum array, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLVARIANTARRAYOBJECTATIPROC) (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTFVATIPROC) (GLuint id, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETVARIANTARRAYOBJECTIVATIPROC) (GLuint id, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_EXT_vertex_shader
-#define GL_EXT_vertex_shader 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBeginVertexShaderEXT (void);
-GLAPI void APIENTRY glEndVertexShaderEXT (void);
-GLAPI void APIENTRY glBindVertexShaderEXT (GLuint);
-GLAPI GLuint APIENTRY glGenVertexShadersEXT (GLuint);
-GLAPI void APIENTRY glDeleteVertexShaderEXT (GLuint);
-GLAPI void APIENTRY glShaderOp1EXT (GLenum, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp2EXT (GLenum, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glShaderOp3EXT (GLenum, GLuint, GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glSwizzleEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glWriteMaskEXT (GLuint, GLuint, GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glInsertComponentEXT (GLuint, GLuint, GLuint);
-GLAPI void APIENTRY glExtractComponentEXT (GLuint, GLuint, GLuint);
-GLAPI GLuint APIENTRY glGenSymbolsEXT (GLenum, GLenum, GLenum, GLuint);
-GLAPI void APIENTRY glSetInvariantEXT (GLuint, GLenum, const GLvoid *);
-GLAPI void APIENTRY glSetLocalConstantEXT (GLuint, GLenum, const GLvoid *);
-GLAPI void APIENTRY glVariantbvEXT (GLuint, const GLbyte *);
-GLAPI void APIENTRY glVariantsvEXT (GLuint, const GLshort *);
-GLAPI void APIENTRY glVariantivEXT (GLuint, const GLint *);
-GLAPI void APIENTRY glVariantfvEXT (GLuint, const GLfloat *);
-GLAPI void APIENTRY glVariantdvEXT (GLuint, const GLdouble *);
-GLAPI void APIENTRY glVariantubvEXT (GLuint, const GLubyte *);
-GLAPI void APIENTRY glVariantusvEXT (GLuint, const GLushort *);
-GLAPI void APIENTRY glVariantuivEXT (GLuint, const GLuint *);
-GLAPI void APIENTRY glVariantPointerEXT (GLuint, GLenum, GLuint, const GLvoid *);
-GLAPI void APIENTRY glEnableVariantClientStateEXT (GLuint);
-GLAPI void APIENTRY glDisableVariantClientStateEXT (GLuint);
-GLAPI GLuint APIENTRY glBindLightParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindMaterialParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTexGenParameterEXT (GLenum, GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindTextureUnitParameterEXT (GLenum, GLenum);
-GLAPI GLuint APIENTRY glBindParameterEXT (GLenum);
-GLAPI GLboolean APIENTRY glIsVariantEnabledEXT (GLuint, GLenum);
-GLAPI void APIENTRY glGetVariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetVariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetVariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVariantPointervEXT (GLuint, GLenum, GLvoid* *);
-GLAPI void APIENTRY glGetInvariantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetInvariantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetInvariantFloatvEXT (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetLocalConstantBooleanvEXT (GLuint, GLenum, GLboolean *);
-GLAPI void APIENTRY glGetLocalConstantIntegervEXT (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetLocalConstantFloatvEXT (GLuint, GLenum, GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBEGINVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRYP PFNGLENDVERTEXSHADEREXTPROC) (void);
-typedef void (APIENTRYP PFNGLBINDVERTEXSHADEREXTPROC) (GLuint id);
-typedef GLuint (APIENTRYP PFNGLGENVERTEXSHADERSEXTPROC) (GLuint range);
-typedef void (APIENTRYP PFNGLDELETEVERTEXSHADEREXTPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLSHADEROP1EXTPROC) (GLenum op, GLuint res, GLuint arg1);
-typedef void (APIENTRYP PFNGLSHADEROP2EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2);
-typedef void (APIENTRYP PFNGLSHADEROP3EXTPROC) (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3);
-typedef void (APIENTRYP PFNGLSWIZZLEEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRYP PFNGLWRITEMASKEXTPROC) (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW);
-typedef void (APIENTRYP PFNGLINSERTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef void (APIENTRYP PFNGLEXTRACTCOMPONENTEXTPROC) (GLuint res, GLuint src, GLuint num);
-typedef GLuint (APIENTRYP PFNGLGENSYMBOLSEXTPROC) (GLenum datatype, GLenum storagetype, GLenum range, GLuint components);
-typedef void (APIENTRYP PFNGLSETINVARIANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
-typedef void (APIENTRYP PFNGLSETLOCALCONSTANTEXTPROC) (GLuint id, GLenum type, const GLvoid *addr);
-typedef void (APIENTRYP PFNGLVARIANTBVEXTPROC) (GLuint id, const GLbyte *addr);
-typedef void (APIENTRYP PFNGLVARIANTSVEXTPROC) (GLuint id, const GLshort *addr);
-typedef void (APIENTRYP PFNGLVARIANTIVEXTPROC) (GLuint id, const GLint *addr);
-typedef void (APIENTRYP PFNGLVARIANTFVEXTPROC) (GLuint id, const GLfloat *addr);
-typedef void (APIENTRYP PFNGLVARIANTDVEXTPROC) (GLuint id, const GLdouble *addr);
-typedef void (APIENTRYP PFNGLVARIANTUBVEXTPROC) (GLuint id, const GLubyte *addr);
-typedef void (APIENTRYP PFNGLVARIANTUSVEXTPROC) (GLuint id, const GLushort *addr);
-typedef void (APIENTRYP PFNGLVARIANTUIVEXTPROC) (GLuint id, const GLuint *addr);
-typedef void (APIENTRYP PFNGLVARIANTPOINTEREXTPROC) (GLuint id, GLenum type, GLuint stride, const GLvoid *addr);
-typedef void (APIENTRYP PFNGLENABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLDISABLEVARIANTCLIENTSTATEEXTPROC) (GLuint id);
-typedef GLuint (APIENTRYP PFNGLBINDLIGHTPARAMETEREXTPROC) (GLenum light, GLenum value);
-typedef GLuint (APIENTRYP PFNGLBINDMATERIALPARAMETEREXTPROC) (GLenum face, GLenum value);
-typedef GLuint (APIENTRYP PFNGLBINDTEXGENPARAMETEREXTPROC) (GLenum unit, GLenum coord, GLenum value);
-typedef GLuint (APIENTRYP PFNGLBINDTEXTUREUNITPARAMETEREXTPROC) (GLenum unit, GLenum value);
-typedef GLuint (APIENTRYP PFNGLBINDPARAMETEREXTPROC) (GLenum value);
-typedef GLboolean (APIENTRYP PFNGLISVARIANTENABLEDEXTPROC) (GLuint id, GLenum cap);
-typedef void (APIENTRYP PFNGLGETVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRYP PFNGLGETVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRYP PFNGLGETVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRYP PFNGLGETVARIANTPOINTERVEXTPROC) (GLuint id, GLenum value, GLvoid* *data);
-typedef void (APIENTRYP PFNGLGETINVARIANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRYP PFNGLGETINVARIANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRYP PFNGLGETINVARIANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-typedef void (APIENTRYP PFNGLGETLOCALCONSTANTBOOLEANVEXTPROC) (GLuint id, GLenum value, GLboolean *data);
-typedef void (APIENTRYP PFNGLGETLOCALCONSTANTINTEGERVEXTPROC) (GLuint id, GLenum value, GLint *data);
-typedef void (APIENTRYP PFNGLGETLOCALCONSTANTFLOATVEXTPROC) (GLuint id, GLenum value, GLfloat *data);
-#endif
-
-#ifndef GL_ATI_vertex_streams
-#define GL_ATI_vertex_streams 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexStream1sATI (GLenum, GLshort);
-GLAPI void APIENTRY glVertexStream1svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream1iATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexStream1ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream1fATI (GLenum, GLfloat);
-GLAPI void APIENTRY glVertexStream1fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream1dATI (GLenum, GLdouble);
-GLAPI void APIENTRY glVertexStream1dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream2sATI (GLenum, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream2svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream2iATI (GLenum, GLint, GLint);
-GLAPI void APIENTRY glVertexStream2ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream2fATI (GLenum, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream2fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream2dATI (GLenum, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream2dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glVertexStream4sATI (GLenum, GLshort, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glVertexStream4svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glVertexStream4iATI (GLenum, GLint, GLint, GLint, GLint);
-GLAPI void APIENTRY glVertexStream4ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glVertexStream4fATI (GLenum, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glVertexStream4fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glVertexStream4dATI (GLenum, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glVertexStream4dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glNormalStream3bATI (GLenum, GLbyte, GLbyte, GLbyte);
-GLAPI void APIENTRY glNormalStream3bvATI (GLenum, const GLbyte *);
-GLAPI void APIENTRY glNormalStream3sATI (GLenum, GLshort, GLshort, GLshort);
-GLAPI void APIENTRY glNormalStream3svATI (GLenum, const GLshort *);
-GLAPI void APIENTRY glNormalStream3iATI (GLenum, GLint, GLint, GLint);
-GLAPI void APIENTRY glNormalStream3ivATI (GLenum, const GLint *);
-GLAPI void APIENTRY glNormalStream3fATI (GLenum, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glNormalStream3fvATI (GLenum, const GLfloat *);
-GLAPI void APIENTRY glNormalStream3dATI (GLenum, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glNormalStream3dvATI (GLenum, const GLdouble *);
-GLAPI void APIENTRY glClientActiveVertexStreamATI (GLenum);
-GLAPI void APIENTRY glVertexBlendEnviATI (GLenum, GLint);
-GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum, GLfloat);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1SATIPROC) (GLenum stream, GLshort x);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1IATIPROC) (GLenum stream, GLint x);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1FATIPROC) (GLenum stream, GLfloat x);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1DATIPROC) (GLenum stream, GLdouble x);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM1DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2SATIPROC) (GLenum stream, GLshort x, GLshort y);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2IATIPROC) (GLenum stream, GLint x, GLint y);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2FATIPROC) (GLenum stream, GLfloat x, GLfloat y);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2DATIPROC) (GLenum stream, GLdouble x, GLdouble y);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM2DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3IATIPROC) (GLenum stream, GLint x, GLint y, GLint z);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4SATIPROC) (GLenum stream, GLshort x, GLshort y, GLshort z, GLshort w);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4IATIPROC) (GLenum stream, GLint x, GLint y, GLint z, GLint w);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4FATIPROC) (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4DATIPROC) (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLVERTEXSTREAM4DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3BATIPROC) (GLenum stream, GLbyte nx, GLbyte ny, GLbyte nz);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3BVATIPROC) (GLenum stream, const GLbyte *coords);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3SATIPROC) (GLenum stream, GLshort nx, GLshort ny, GLshort nz);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3SVATIPROC) (GLenum stream, const GLshort *coords);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3IATIPROC) (GLenum stream, GLint nx, GLint ny, GLint nz);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3IVATIPROC) (GLenum stream, const GLint *coords);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3FATIPROC) (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3FVATIPROC) (GLenum stream, const GLfloat *coords);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3DATIPROC) (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz);
-typedef void (APIENTRYP PFNGLNORMALSTREAM3DVATIPROC) (GLenum stream, const GLdouble *coords);
-typedef void (APIENTRYP PFNGLCLIENTACTIVEVERTEXSTREAMATIPROC) (GLenum stream);
-typedef void (APIENTRYP PFNGLVERTEXBLENDENVIATIPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLVERTEXBLENDENVFATIPROC) (GLenum pname, GLfloat param);
-#endif
-
-#ifndef GL_ATI_element_array
-#define GL_ATI_element_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glElementPointerATI (GLenum, const GLvoid *);
-GLAPI void APIENTRY glDrawElementArrayATI (GLenum, GLsizei);
-GLAPI void APIENTRY glDrawRangeElementArrayATI (GLenum, GLuint, GLuint, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLELEMENTPOINTERATIPROC) (GLenum type, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYATIPROC) (GLenum mode, GLsizei count);
-typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYATIPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count);
-#endif
-
-#ifndef GL_SUN_mesh_array
-#define GL_SUN_mesh_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawMeshArraysSUN (GLenum, GLint, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDRAWMESHARRAYSSUNPROC) (GLenum mode, GLint first, GLsizei count, GLsizei width);
-#endif
-
-#ifndef GL_SUN_slice_accum
-#define GL_SUN_slice_accum 1
-#endif
-
-#ifndef GL_NV_multisample_filter_hint
-#define GL_NV_multisample_filter_hint 1
-#endif
-
-#ifndef GL_NV_depth_clamp
-#define GL_NV_depth_clamp 1
-#endif
-
-#ifndef GL_NV_occlusion_query
-#define GL_NV_occlusion_query 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenOcclusionQueriesNV (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteOcclusionQueriesNV (GLsizei, const GLuint *);
-GLAPI GLboolean APIENTRY glIsOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glBeginOcclusionQueryNV (GLuint);
-GLAPI void APIENTRY glEndOcclusionQueryNV (void);
-GLAPI void APIENTRY glGetOcclusionQueryivNV (GLuint, GLenum, GLint *);
-GLAPI void APIENTRY glGetOcclusionQueryuivNV (GLuint, GLenum, GLuint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGENOCCLUSIONQUERIESNVPROC) (GLsizei n, GLuint *ids);
-typedef void (APIENTRYP PFNGLDELETEOCCLUSIONQUERIESNVPROC) (GLsizei n, const GLuint *ids);
-typedef GLboolean (APIENTRYP PFNGLISOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLBEGINOCCLUSIONQUERYNVPROC) (GLuint id);
-typedef void (APIENTRYP PFNGLENDOCCLUSIONQUERYNVPROC) (void);
-typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYIVNVPROC) (GLuint id, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGETOCCLUSIONQUERYUIVNVPROC) (GLuint id, GLenum pname, GLuint *params);
-#endif
-
-#ifndef GL_NV_point_sprite
-#define GL_NV_point_sprite 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPointParameteriNV (GLenum, GLint);
-GLAPI void APIENTRY glPointParameterivNV (GLenum, const GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPOINTPARAMETERINVPROC) (GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLPOINTPARAMETERIVNVPROC) (GLenum pname, const GLint *params);
-#endif
-
-#ifndef GL_NV_texture_shader3
-#define GL_NV_texture_shader3 1
-#endif
-
-#ifndef GL_NV_vertex_program1_1
-#define GL_NV_vertex_program1_1 1
-#endif
-
-#ifndef GL_EXT_shadow_funcs
-#define GL_EXT_shadow_funcs 1
-#endif
-
-#ifndef GL_EXT_stencil_two_side
-#define GL_EXT_stencil_two_side 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glActiveStencilFaceEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLACTIVESTENCILFACEEXTPROC) (GLenum face);
-#endif
-
-#ifndef GL_ATI_text_fragment_shader
-#define GL_ATI_text_fragment_shader 1
-#endif
-
-#ifndef GL_APPLE_client_storage
-#define GL_APPLE_client_storage 1
-#endif
-
-#ifndef GL_APPLE_element_array
-#define GL_APPLE_element_array 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glElementPointerAPPLE (GLenum, const GLvoid *);
-GLAPI void APIENTRY glDrawElementArrayAPPLE (GLenum, GLint, GLsizei);
-GLAPI void APIENTRY glDrawRangeElementArrayAPPLE (GLenum, GLuint, GLuint, GLint, GLsizei);
-GLAPI void APIENTRY glMultiDrawElementArrayAPPLE (GLenum, const GLint *, const GLsizei *, GLsizei);
-GLAPI void APIENTRY glMultiDrawRangeElementArrayAPPLE (GLenum, GLuint, GLuint, const GLint *, const GLsizei *, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLELEMENTPOINTERAPPLEPROC) (GLenum type, const GLvoid *pointer);
-typedef void (APIENTRYP PFNGLDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, GLint first, GLsizei count);
-typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count);
-typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTARRAYAPPLEPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount);
-typedef void (APIENTRYP PFNGLMULTIDRAWRANGEELEMENTARRAYAPPLEPROC) (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount);
-#endif
-
-#ifndef GL_APPLE_fence
-#define GL_APPLE_fence 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGenFencesAPPLE (GLsizei, GLuint *);
-GLAPI void APIENTRY glDeleteFencesAPPLE (GLsizei, const GLuint *);
-GLAPI void APIENTRY glSetFenceAPPLE (GLuint);
-GLAPI GLboolean APIENTRY glIsFenceAPPLE (GLuint);
-GLAPI GLboolean APIENTRY glTestFenceAPPLE (GLuint);
-GLAPI void APIENTRY glFinishFenceAPPLE (GLuint);
-GLAPI GLboolean APIENTRY glTestObjectAPPLE (GLenum, GLuint);
-GLAPI void APIENTRY glFinishObjectAPPLE (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGENFENCESAPPLEPROC) (GLsizei n, GLuint *fences);
-typedef void (APIENTRYP PFNGLDELETEFENCESAPPLEPROC) (GLsizei n, const GLuint *fences);
-typedef void (APIENTRYP PFNGLSETFENCEAPPLEPROC) (GLuint fence);
-typedef GLboolean (APIENTRYP PFNGLISFENCEAPPLEPROC) (GLuint fence);
-typedef GLboolean (APIENTRYP PFNGLTESTFENCEAPPLEPROC) (GLuint fence);
-typedef void (APIENTRYP PFNGLFINISHFENCEAPPLEPROC) (GLuint fence);
-typedef GLboolean (APIENTRYP PFNGLTESTOBJECTAPPLEPROC) (GLenum object, GLuint name);
-typedef void (APIENTRYP PFNGLFINISHOBJECTAPPLEPROC) (GLenum object, GLint name);
-#endif
-
-#ifndef GL_APPLE_vertex_array_object
-#define GL_APPLE_vertex_array_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBindVertexArrayAPPLE (GLuint);
-GLAPI void APIENTRY glDeleteVertexArraysAPPLE (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *);
-GLAPI GLboolean APIENTRY glIsVertexArrayAPPLE (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBINDVERTEXARRAYAPPLEPROC) (GLuint array);
-typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSAPPLEPROC) (GLsizei n, const GLuint *arrays);
-typedef void (APIENTRYP PFNGLGENVERTEXARRAYSAPPLEPROC) (GLsizei n, GLuint *arrays);
-typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYAPPLEPROC) (GLuint array);
-#endif
-
-#ifndef GL_APPLE_vertex_array_range
-#define GL_APPLE_vertex_array_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexArrayRangeAPPLE (GLsizei, GLvoid *);
-GLAPI void APIENTRY glFlushVertexArrayRangeAPPLE (GLsizei, GLvoid *);
-GLAPI void APIENTRY glVertexArrayParameteriAPPLE (GLenum, GLint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
-typedef void (APIENTRYP PFNGLFLUSHVERTEXARRAYRANGEAPPLEPROC) (GLsizei length, GLvoid *pointer);
-typedef void (APIENTRYP PFNGLVERTEXARRAYPARAMETERIAPPLEPROC) (GLenum pname, GLint param);
-#endif
-
-#ifndef GL_APPLE_ycbcr_422
-#define GL_APPLE_ycbcr_422 1
-#endif
-
-#ifndef GL_S3_s3tc
-#define GL_S3_s3tc 1
-#endif
-
-#ifndef GL_ATI_draw_buffers
-#define GL_ATI_draw_buffers 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDrawBuffersATI (GLsizei, const GLenum *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDRAWBUFFERSATIPROC) (GLsizei n, const GLenum *bufs);
-#endif
-
-#ifndef GL_ATI_pixel_format_float
-#define GL_ATI_pixel_format_float 1
-/* This is really a WGL extension, but defines some associated GL enums.
- * ATI does not export "GL_ATI_pixel_format_float" in the GL_EXTENSIONS string.
- */
-#endif
-
-#ifndef GL_ATI_texture_env_combine3
-#define GL_ATI_texture_env_combine3 1
-#endif
-
-#ifndef GL_ATI_texture_float
-#define GL_ATI_texture_float 1
-#endif
-
-#ifndef GL_NV_float_buffer
-#define GL_NV_float_buffer 1
-#endif
-
-#ifndef GL_NV_fragment_program
-#define GL_NV_fragment_program 1
-/* Some NV_fragment_program entry points are shared with ARB_vertex_program. */
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glProgramNamedParameter4fNV (GLuint, GLsizei, const GLubyte *, GLfloat, GLfloat, GLfloat, GLfloat);
-GLAPI void APIENTRY glProgramNamedParameter4dNV (GLuint, GLsizei, const GLubyte *, GLdouble, GLdouble, GLdouble, GLdouble);
-GLAPI void APIENTRY glProgramNamedParameter4fvNV (GLuint, GLsizei, const GLubyte *, const GLfloat *);
-GLAPI void APIENTRY glProgramNamedParameter4dvNV (GLuint, GLsizei, const GLubyte *, const GLdouble *);
-GLAPI void APIENTRY glGetProgramNamedParameterfvNV (GLuint, GLsizei, const GLubyte *, GLfloat *);
-GLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint, GLsizei, const GLubyte *, GLdouble *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
-typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w);
-typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4FVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v);
-typedef void (APIENTRYP PFNGLPROGRAMNAMEDPARAMETER4DVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v);
-typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERFVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETPROGRAMNAMEDPARAMETERDVNVPROC) (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params);
-#endif
-
-#ifndef GL_NV_half_float
-#define GL_NV_half_float 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertex2hNV (GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertex2hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glVertex3hNV (GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertex3hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glVertex4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertex4hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glNormal3hNV (GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glNormal3hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glColor3hNV (GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glColor3hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glColor4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glColor4hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glTexCoord1hNV (GLhalfNV);
-GLAPI void APIENTRY glTexCoord1hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glTexCoord2hNV (GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glTexCoord2hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glTexCoord3hNV (GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glTexCoord3hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glTexCoord4hNV (GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glTexCoord4hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glMultiTexCoord1hNV (GLenum, GLhalfNV);
-GLAPI void APIENTRY glMultiTexCoord1hvNV (GLenum, const GLhalfNV *);
-GLAPI void APIENTRY glMultiTexCoord2hNV (GLenum, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glMultiTexCoord2hvNV (GLenum, const GLhalfNV *);
-GLAPI void APIENTRY glMultiTexCoord3hNV (GLenum, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glMultiTexCoord3hvNV (GLenum, const GLhalfNV *);
-GLAPI void APIENTRY glMultiTexCoord4hNV (GLenum, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glMultiTexCoord4hvNV (GLenum, const GLhalfNV *);
-GLAPI void APIENTRY glFogCoordhNV (GLhalfNV);
-GLAPI void APIENTRY glFogCoordhvNV (const GLhalfNV *);
-GLAPI void APIENTRY glSecondaryColor3hNV (GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glSecondaryColor3hvNV (const GLhalfNV *);
-GLAPI void APIENTRY glVertexWeighthNV (GLhalfNV);
-GLAPI void APIENTRY glVertexWeighthvNV (const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttrib1hNV (GLuint, GLhalfNV);
-GLAPI void APIENTRY glVertexAttrib1hvNV (GLuint, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttrib2hNV (GLuint, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertexAttrib2hvNV (GLuint, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttrib3hNV (GLuint, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertexAttrib3hvNV (GLuint, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttrib4hNV (GLuint, GLhalfNV, GLhalfNV, GLhalfNV, GLhalfNV);
-GLAPI void APIENTRY glVertexAttrib4hvNV (GLuint, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttribs1hvNV (GLuint, GLsizei, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttribs2hvNV (GLuint, GLsizei, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttribs3hvNV (GLuint, GLsizei, const GLhalfNV *);
-GLAPI void APIENTRY glVertexAttribs4hvNV (GLuint, GLsizei, const GLhalfNV *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEX2HNVPROC) (GLhalfNV x, GLhalfNV y);
-typedef void (APIENTRYP PFNGLVERTEX2HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEX3HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z);
-typedef void (APIENTRYP PFNGLVERTEX3HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEX4HNVPROC) (GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
-typedef void (APIENTRYP PFNGLVERTEX4HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLNORMAL3HNVPROC) (GLhalfNV nx, GLhalfNV ny, GLhalfNV nz);
-typedef void (APIENTRYP PFNGLNORMAL3HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
-typedef void (APIENTRYP PFNGLCOLOR3HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLCOLOR4HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue, GLhalfNV alpha);
-typedef void (APIENTRYP PFNGLCOLOR4HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLTEXCOORD1HNVPROC) (GLhalfNV s);
-typedef void (APIENTRYP PFNGLTEXCOORD1HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLTEXCOORD2HNVPROC) (GLhalfNV s, GLhalfNV t);
-typedef void (APIENTRYP PFNGLTEXCOORD2HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLTEXCOORD3HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r);
-typedef void (APIENTRYP PFNGLTEXCOORD3HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLTEXCOORD4HNVPROC) (GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
-typedef void (APIENTRYP PFNGLTEXCOORD4HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1HNVPROC) (GLenum target, GLhalfNV s);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD1HVNVPROC) (GLenum target, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD2HVNVPROC) (GLenum target, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD3HVNVPROC) (GLenum target, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4HNVPROC) (GLenum target, GLhalfNV s, GLhalfNV t, GLhalfNV r, GLhalfNV q);
-typedef void (APIENTRYP PFNGLMULTITEXCOORD4HVNVPROC) (GLenum target, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLFOGCOORDHNVPROC) (GLhalfNV fog);
-typedef void (APIENTRYP PFNGLFOGCOORDHVNVPROC) (const GLhalfNV *fog);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HNVPROC) (GLhalfNV red, GLhalfNV green, GLhalfNV blue);
-typedef void (APIENTRYP PFNGLSECONDARYCOLOR3HVNVPROC) (const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXWEIGHTHNVPROC) (GLhalfNV weight);
-typedef void (APIENTRYP PFNGLVERTEXWEIGHTHVNVPROC) (const GLhalfNV *weight);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1HNVPROC) (GLuint index, GLhalfNV x);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB1HVNVPROC) (GLuint index, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB2HVNVPROC) (GLuint index, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB3HVNVPROC) (GLuint index, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4HNVPROC) (GLuint index, GLhalfNV x, GLhalfNV y, GLhalfNV z, GLhalfNV w);
-typedef void (APIENTRYP PFNGLVERTEXATTRIB4HVNVPROC) (GLuint index, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS1HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS2HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS3HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
-typedef void (APIENTRYP PFNGLVERTEXATTRIBS4HVNVPROC) (GLuint index, GLsizei n, const GLhalfNV *v);
-#endif
-
-#ifndef GL_NV_pixel_data_range
-#define GL_NV_pixel_data_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPixelDataRangeNV (GLenum, GLsizei, GLvoid *);
-GLAPI void APIENTRY glFlushPixelDataRangeNV (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPIXELDATARANGENVPROC) (GLenum target, GLsizei length, GLvoid *pointer);
-typedef void (APIENTRYP PFNGLFLUSHPIXELDATARANGENVPROC) (GLenum target);
-#endif
-
-#ifndef GL_NV_primitive_restart
-#define GL_NV_primitive_restart 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glPrimitiveRestartNV (void);
-GLAPI void APIENTRY glPrimitiveRestartIndexNV (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPRIMITIVERESTARTNVPROC) (void);
-typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXNVPROC) (GLuint index);
-#endif
-
-#ifndef GL_NV_texture_expand_normal
-#define GL_NV_texture_expand_normal 1
-#endif
-
-#ifndef GL_NV_vertex_program2
-#define GL_NV_vertex_program2 1
-#endif
-
-#ifndef GL_ATI_map_object_buffer
-#define GL_ATI_map_object_buffer 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLvoid* APIENTRY glMapObjectBufferATI (GLuint);
-GLAPI void APIENTRY glUnmapObjectBufferATI (GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLvoid* (APIENTRYP PFNGLMAPOBJECTBUFFERATIPROC) (GLuint buffer);
-typedef void (APIENTRYP PFNGLUNMAPOBJECTBUFFERATIPROC) (GLuint buffer);
-#endif
-
-#ifndef GL_ATI_separate_stencil
-#define GL_ATI_separate_stencil 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glStencilOpSeparateATI (GLenum, GLenum, GLenum, GLenum);
-GLAPI void APIENTRY glStencilFuncSeparateATI (GLenum, GLenum, GLint, GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEATIPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
-typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEATIPROC) (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask);
-#endif
-
-#ifndef GL_ATI_vertex_attrib_array_object
-#define GL_ATI_vertex_attrib_array_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glVertexAttribArrayObjectATI (GLuint, GLint, GLenum, GLboolean, GLsizei, GLuint, GLuint);
-GLAPI void APIENTRY glGetVertexAttribArrayObjectfvATI (GLuint, GLenum, GLfloat *);
-GLAPI void APIENTRY glGetVertexAttribArrayObjectivATI (GLuint, GLenum, GLint *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLVERTEXATTRIBARRAYOBJECTATIPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, GLuint buffer, GLuint offset);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTFVATIPROC) (GLuint index, GLenum pname, GLfloat *params);
-typedef void (APIENTRYP PFNGLGETVERTEXATTRIBARRAYOBJECTIVATIPROC) (GLuint index, GLenum pname, GLint *params);
-#endif
-
-#ifndef GL_OES_read_format
-#define GL_OES_read_format 1
-#endif
-
-#ifndef GL_EXT_depth_bounds_test
-#define GL_EXT_depth_bounds_test 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glDepthBoundsEXT (GLclampd, GLclampd);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLDEPTHBOUNDSEXTPROC) (GLclampd zmin, GLclampd zmax);
-#endif
-
-#ifndef GL_EXT_texture_mirror_clamp
-#define GL_EXT_texture_mirror_clamp 1
-#endif
-
-#ifndef GL_EXT_blend_equation_separate
-#define GL_EXT_blend_equation_separate 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlendEquationSeparateEXT (GLenum, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEEXTPROC) (GLenum modeRGB, GLenum modeAlpha);
-#endif
-
-#ifndef GL_MESA_pack_invert
-#define GL_MESA_pack_invert 1
-#endif
-
-#ifndef GL_MESA_ycbcr_texture
-#define GL_MESA_ycbcr_texture 1
-#endif
-
-#ifndef GL_EXT_pixel_buffer_object
-#define GL_EXT_pixel_buffer_object 1
-#endif
-
-#ifndef GL_NV_fragment_program_option
-#define GL_NV_fragment_program_option 1
-#endif
-
-#ifndef GL_NV_fragment_program2
-#define GL_NV_fragment_program2 1
-#endif
-
-#ifndef GL_NV_vertex_program2_option
-#define GL_NV_vertex_program2_option 1
-#endif
-
-#ifndef GL_NV_vertex_program3
-#define GL_NV_vertex_program3 1
-#endif
-
-#ifndef GL_EXT_framebuffer_object
-#define GL_EXT_framebuffer_object 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI GLboolean APIENTRY glIsRenderbufferEXT (GLuint);
-GLAPI void APIENTRY glBindRenderbufferEXT (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteRenderbuffersEXT (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenRenderbuffersEXT (GLsizei, GLuint *);
-GLAPI void APIENTRY glRenderbufferStorageEXT (GLenum, GLenum, GLsizei, GLsizei);
-GLAPI void APIENTRY glGetRenderbufferParameterivEXT (GLenum, GLenum, GLint *);
-GLAPI GLboolean APIENTRY glIsFramebufferEXT (GLuint);
-GLAPI void APIENTRY glBindFramebufferEXT (GLenum, GLuint);
-GLAPI void APIENTRY glDeleteFramebuffersEXT (GLsizei, const GLuint *);
-GLAPI void APIENTRY glGenFramebuffersEXT (GLsizei, GLuint *);
-GLAPI GLenum APIENTRY glCheckFramebufferStatusEXT (GLenum);
-GLAPI void APIENTRY glFramebufferTexture1DEXT (GLenum, GLenum, GLenum, GLuint, GLint);
-GLAPI void APIENTRY glFramebufferTexture2DEXT (GLenum, GLenum, GLenum, GLuint, GLint);
-GLAPI void APIENTRY glFramebufferTexture3DEXT (GLenum, GLenum, GLenum, GLuint, GLint, GLint);
-GLAPI void APIENTRY glFramebufferRenderbufferEXT (GLenum, GLenum, GLenum, GLuint);
-GLAPI void APIENTRY glGetFramebufferAttachmentParameterivEXT (GLenum, GLenum, GLenum, GLint *);
-GLAPI void APIENTRY glGenerateMipmapEXT (GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFEREXTPROC) (GLuint renderbuffer);
-typedef void (APIENTRYP PFNGLBINDRENDERBUFFEREXTPROC) (GLenum target, GLuint renderbuffer);
-typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSEXTPROC) (GLsizei n, const GLuint *renderbuffers);
-typedef void (APIENTRYP PFNGLGENRENDERBUFFERSEXTPROC) (GLsizei n, GLuint *renderbuffers);
-typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEEXTPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
-typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVEXTPROC) (GLenum target, GLenum pname, GLint *params);
-typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFEREXTPROC) (GLuint framebuffer);
-typedef void (APIENTRYP PFNGLBINDFRAMEBUFFEREXTPROC) (GLenum target, GLuint framebuffer);
-typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSEXTPROC) (GLsizei n, const GLuint *framebuffers);
-typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSEXTPROC) (GLsizei n, GLuint *framebuffers);
-typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSEXTPROC) (GLenum target);
-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
-typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset);
-typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFEREXTPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
-typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXTPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params);
-typedef void (APIENTRYP PFNGLGENERATEMIPMAPEXTPROC) (GLenum target);
-#endif
-
-#ifndef GL_GREMEDY_string_marker
-#define GL_GREMEDY_string_marker 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glStringMarkerGREMEDY (GLsizei, const GLvoid *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSTRINGMARKERGREMEDYPROC) (GLsizei len, const GLvoid *string);
-#endif
-
-#ifndef GL_EXT_packed_depth_stencil
-#define GL_EXT_packed_depth_stencil 1
-#endif
-
-#ifndef GL_EXT_stencil_clear_tag
-#define GL_EXT_stencil_clear_tag 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glStencilClearTagEXT (GLsizei, GLuint);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLSTENCILCLEARTAGEXTPROC) (GLsizei stencilTagBits, GLuint stencilClearTag);
-#endif
-
-#ifndef GL_EXT_texture_sRGB
-#define GL_EXT_texture_sRGB 1
-#endif
-
-#ifndef GL_EXT_framebuffer_blit
-#define GL_EXT_framebuffer_blit 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBlitFramebufferEXT (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBLITFRAMEBUFFEREXTPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter);
-#endif
-
-#ifndef GL_EXT_framebuffer_multisample
-#define GL_EXT_framebuffer_multisample 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glRenderbufferStorageMultisampleEXT (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height);
-#endif
-
-#ifndef GL_MESAX_texture_stack
-#define GL_MESAX_texture_stack 1
-#endif
-
-#ifndef GL_EXT_timer_query
-#define GL_EXT_timer_query 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glGetQueryObjecti64vEXT (GLuint, GLenum, GLint64EXT *);
-GLAPI void APIENTRY glGetQueryObjectui64vEXT (GLuint, GLenum, GLuint64EXT *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64EXT *params);
-typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64EXT *params);
-#endif
-
-#ifndef GL_EXT_gpu_program_parameters
-#define GL_EXT_gpu_program_parameters 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glProgramEnvParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *);
-GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum, GLuint, GLsizei, const GLfloat *);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLPROGRAMENVPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
-typedef void (APIENTRYP PFNGLPROGRAMLOCALPARAMETERS4FVEXTPROC) (GLenum target, GLuint index, GLsizei count, const GLfloat *params);
-#endif
-
-#ifndef GL_APPLE_flush_buffer_range
-#define GL_APPLE_flush_buffer_range 1
-#ifdef GL_GLEXT_PROTOTYPES
-GLAPI void APIENTRY glBufferParameteriAPPLE (GLenum, GLenum, GLint);
-GLAPI void APIENTRY glFlushMappedBufferRangeAPPLE (GLenum, GLintptr, GLsizeiptr);
-#endif /* GL_GLEXT_PROTOTYPES */
-typedef void (APIENTRYP PFNGLBUFFERPARAMETERIAPPLEPROC) (GLenum target, GLenum pname, GLint param);
-typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEAPPLEPROC) (GLenum target, GLintptr offset, GLsizeiptr size);
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h
deleted file mode 100644
index 31e701d..0000000
--- a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface.h
+++ /dev/null
@@ -1,13053 +0,0 @@
-/* this ALWAYS GENERATED file contains the definitions for the interfaces */
-
-
-/* File created by MIDL compiler version 5.01.0164 */
-/* at Thu Oct 20 13:02:07 2005
- */
-/* Compiler settings for iTunesCOMInterface.idl:
-    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
-    error checks: allocation ref bounds_check enum stub_data 
-*/
-//@@MIDL_FILE_HEADING(  )
-
-
-/* verify that the <rpcndr.h> version is high enough to compile this file*/
-#ifndef __REQUIRED_RPCNDR_H_VERSION__
-#define __REQUIRED_RPCNDR_H_VERSION__ 440
-#endif
-
-#include "rpc.h"
-#include "rpcndr.h"
-
-#ifndef __iTunesCOMInterface_h__
-#define __iTunesCOMInterface_h__
-
-#ifdef __cplusplus
-extern "C"{
-#endif 
-
-/* Forward Declarations */ 
-
-#ifndef __IITObject_FWD_DEFINED__
-#define __IITObject_FWD_DEFINED__
-typedef interface IITObject IITObject;
-#endif 	/* __IITObject_FWD_DEFINED__ */
-
-
-#ifndef __IITSource_FWD_DEFINED__
-#define __IITSource_FWD_DEFINED__
-typedef interface IITSource IITSource;
-#endif 	/* __IITSource_FWD_DEFINED__ */
-
-
-#ifndef __IITSourceCollection_FWD_DEFINED__
-#define __IITSourceCollection_FWD_DEFINED__
-typedef interface IITSourceCollection IITSourceCollection;
-#endif 	/* __IITSourceCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITEncoder_FWD_DEFINED__
-#define __IITEncoder_FWD_DEFINED__
-typedef interface IITEncoder IITEncoder;
-#endif 	/* __IITEncoder_FWD_DEFINED__ */
-
-
-#ifndef __IITEncoderCollection_FWD_DEFINED__
-#define __IITEncoderCollection_FWD_DEFINED__
-typedef interface IITEncoderCollection IITEncoderCollection;
-#endif 	/* __IITEncoderCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITEQPreset_FWD_DEFINED__
-#define __IITEQPreset_FWD_DEFINED__
-typedef interface IITEQPreset IITEQPreset;
-#endif 	/* __IITEQPreset_FWD_DEFINED__ */
-
-
-#ifndef __IITEQPresetCollection_FWD_DEFINED__
-#define __IITEQPresetCollection_FWD_DEFINED__
-typedef interface IITEQPresetCollection IITEQPresetCollection;
-#endif 	/* __IITEQPresetCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITPlaylist_FWD_DEFINED__
-#define __IITPlaylist_FWD_DEFINED__
-typedef interface IITPlaylist IITPlaylist;
-#endif 	/* __IITPlaylist_FWD_DEFINED__ */
-
-
-#ifndef __IITOperationStatus_FWD_DEFINED__
-#define __IITOperationStatus_FWD_DEFINED__
-typedef interface IITOperationStatus IITOperationStatus;
-#endif 	/* __IITOperationStatus_FWD_DEFINED__ */
-
-
-#ifndef __IITConvertOperationStatus_FWD_DEFINED__
-#define __IITConvertOperationStatus_FWD_DEFINED__
-typedef interface IITConvertOperationStatus IITConvertOperationStatus;
-#endif 	/* __IITConvertOperationStatus_FWD_DEFINED__ */
-
-
-#ifndef __IITLibraryPlaylist_FWD_DEFINED__
-#define __IITLibraryPlaylist_FWD_DEFINED__
-typedef interface IITLibraryPlaylist IITLibraryPlaylist;
-#endif 	/* __IITLibraryPlaylist_FWD_DEFINED__ */
-
-
-#ifndef __IITUserPlaylist_FWD_DEFINED__
-#define __IITUserPlaylist_FWD_DEFINED__
-typedef interface IITUserPlaylist IITUserPlaylist;
-#endif 	/* __IITUserPlaylist_FWD_DEFINED__ */
-
-
-#ifndef __IITTrack_FWD_DEFINED__
-#define __IITTrack_FWD_DEFINED__
-typedef interface IITTrack IITTrack;
-#endif 	/* __IITTrack_FWD_DEFINED__ */
-
-
-#ifndef __IITTrackCollection_FWD_DEFINED__
-#define __IITTrackCollection_FWD_DEFINED__
-typedef interface IITTrackCollection IITTrackCollection;
-#endif 	/* __IITTrackCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITVisual_FWD_DEFINED__
-#define __IITVisual_FWD_DEFINED__
-typedef interface IITVisual IITVisual;
-#endif 	/* __IITVisual_FWD_DEFINED__ */
-
-
-#ifndef __IITVisualCollection_FWD_DEFINED__
-#define __IITVisualCollection_FWD_DEFINED__
-typedef interface IITVisualCollection IITVisualCollection;
-#endif 	/* __IITVisualCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITWindow_FWD_DEFINED__
-#define __IITWindow_FWD_DEFINED__
-typedef interface IITWindow IITWindow;
-#endif 	/* __IITWindow_FWD_DEFINED__ */
-
-
-#ifndef __IITBrowserWindow_FWD_DEFINED__
-#define __IITBrowserWindow_FWD_DEFINED__
-typedef interface IITBrowserWindow IITBrowserWindow;
-#endif 	/* __IITBrowserWindow_FWD_DEFINED__ */
-
-
-#ifndef __IITWindowCollection_FWD_DEFINED__
-#define __IITWindowCollection_FWD_DEFINED__
-typedef interface IITWindowCollection IITWindowCollection;
-#endif 	/* __IITWindowCollection_FWD_DEFINED__ */
-
-
-#ifndef __IiTunes_FWD_DEFINED__
-#define __IiTunes_FWD_DEFINED__
-typedef interface IiTunes IiTunes;
-#endif 	/* __IiTunes_FWD_DEFINED__ */
-
-
-#ifndef ___IiTunesEvents_FWD_DEFINED__
-#define ___IiTunesEvents_FWD_DEFINED__
-typedef interface _IiTunesEvents _IiTunesEvents;
-#endif 	/* ___IiTunesEvents_FWD_DEFINED__ */
-
-
-#ifndef ___IITConvertOperationStatusEvents_FWD_DEFINED__
-#define ___IITConvertOperationStatusEvents_FWD_DEFINED__
-typedef interface _IITConvertOperationStatusEvents _IITConvertOperationStatusEvents;
-#endif 	/* ___IITConvertOperationStatusEvents_FWD_DEFINED__ */
-
-
-#ifndef __iTunesApp_FWD_DEFINED__
-#define __iTunesApp_FWD_DEFINED__
-
-#ifdef __cplusplus
-typedef class iTunesApp iTunesApp;
-#else
-typedef struct iTunesApp iTunesApp;
-#endif /* __cplusplus */
-
-#endif 	/* __iTunesApp_FWD_DEFINED__ */
-
-
-#ifndef __iTunesConvertOperationStatus_FWD_DEFINED__
-#define __iTunesConvertOperationStatus_FWD_DEFINED__
-
-#ifdef __cplusplus
-typedef class iTunesConvertOperationStatus iTunesConvertOperationStatus;
-#else
-typedef struct iTunesConvertOperationStatus iTunesConvertOperationStatus;
-#endif /* __cplusplus */
-
-#endif 	/* __iTunesConvertOperationStatus_FWD_DEFINED__ */
-
-
-#ifndef __IITArtwork_FWD_DEFINED__
-#define __IITArtwork_FWD_DEFINED__
-typedef interface IITArtwork IITArtwork;
-#endif 	/* __IITArtwork_FWD_DEFINED__ */
-
-
-#ifndef __IITArtworkCollection_FWD_DEFINED__
-#define __IITArtworkCollection_FWD_DEFINED__
-typedef interface IITArtworkCollection IITArtworkCollection;
-#endif 	/* __IITArtworkCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITURLTrack_FWD_DEFINED__
-#define __IITURLTrack_FWD_DEFINED__
-typedef interface IITURLTrack IITURLTrack;
-#endif 	/* __IITURLTrack_FWD_DEFINED__ */
-
-
-#ifndef __IITAudioCDPlaylist_FWD_DEFINED__
-#define __IITAudioCDPlaylist_FWD_DEFINED__
-typedef interface IITAudioCDPlaylist IITAudioCDPlaylist;
-#endif 	/* __IITAudioCDPlaylist_FWD_DEFINED__ */
-
-
-#ifndef __IITPlaylistCollection_FWD_DEFINED__
-#define __IITPlaylistCollection_FWD_DEFINED__
-typedef interface IITPlaylistCollection IITPlaylistCollection;
-#endif 	/* __IITPlaylistCollection_FWD_DEFINED__ */
-
-
-#ifndef __IITIPodSource_FWD_DEFINED__
-#define __IITIPodSource_FWD_DEFINED__
-typedef interface IITIPodSource IITIPodSource;
-#endif 	/* __IITIPodSource_FWD_DEFINED__ */
-
-
-#ifndef __IITFileOrCDTrack_FWD_DEFINED__
-#define __IITFileOrCDTrack_FWD_DEFINED__
-typedef interface IITFileOrCDTrack IITFileOrCDTrack;
-#endif 	/* __IITFileOrCDTrack_FWD_DEFINED__ */
-
-
-#ifndef __IITPlaylistWindow_FWD_DEFINED__
-#define __IITPlaylistWindow_FWD_DEFINED__
-typedef interface IITPlaylistWindow IITPlaylistWindow;
-#endif 	/* __IITPlaylistWindow_FWD_DEFINED__ */
-
-
-/* header files for imported files */
-#include "oaidl.h"
-#include "ocidl.h"
-#include "DispEx.h"
-
-void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
-void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
-
-/* interface __MIDL_itf_iTunesCOMInterface_0000 */
-/* [local] */ 
-
-typedef /* [public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0001
-    {	kITTypeLibrary_MajorVersion	= 1,
-	kITTypeLibrary_MinorVersion	= 7
-    }	ITVersion;
-
-typedef /* [public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0000_0002
-    {	ITUNES_E_USERCANCEL	= 0xa0040201,
-	ITUNES_E_OBJECTDELETED	= 0xa0040202,
-	ITUNES_E_OBJECTLOCKED	= 0xa0040203,
-	ITUNES_E_CONVERSIONINPROGRESS	= 0xa0040204,
-	ITUNES_E_MUSICSTOREDISABLED	= 0xa0040205,
-	ITUNES_E_OBJECTEXISTS	= 0xa0040206,
-	ITUNES_E_PODCASTSDISABLED	= 0xa0040207
-    }	ITErrors;
-
-
-
-extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_c_ifspec;
-extern RPC_IF_HANDLE __MIDL_itf_iTunesCOMInterface_0000_v0_0_s_ifspec;
-
-
-#ifndef __iTunesLib_LIBRARY_DEFINED__
-#define __iTunesLib_LIBRARY_DEFINED__
-
-/* library iTunesLib */
-/* [helpstring][uuid][version] */ 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0001
-    {	ITPlayerStateStopped	= 0,
-	ITPlayerStatePlaying	= ITPlayerStateStopped + 1,
-	ITPlayerStateFastForward	= ITPlayerStatePlaying + 1,
-	ITPlayerStateRewind	= ITPlayerStateFastForward + 1
-    }	ITPlayerState;
-
-typedef /* [public][public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0002
-    {	ITVisualSizeSmall	= 0,
-	ITVisualSizeMedium	= ITVisualSizeSmall + 1,
-	ITVisualSizeLarge	= ITVisualSizeMedium + 1
-    }	ITVisualSize;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0003
-    {	ITCOMDisabledReasonOther	= 0,
-	ITCOMDisabledReasonDialog	= ITCOMDisabledReasonOther + 1,
-	ITCOMDisabledReasonQuitting	= ITCOMDisabledReasonDialog + 1
-    }	ITCOMDisabledReason;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0004
-    {	ITPlayButtonStatePlayDisabled	= 0,
-	ITPlayButtonStatePlayEnabled	= ITPlayButtonStatePlayDisabled + 1,
-	ITPlayButtonStatePauseEnabled	= ITPlayButtonStatePlayEnabled + 1,
-	ITPlayButtonStatePauseDisabled	= ITPlayButtonStatePauseEnabled + 1,
-	ITPlayButtonStateStopEnabled	= ITPlayButtonStatePauseDisabled + 1,
-	ITPlayButtonStateStopDisabled	= ITPlayButtonStateStopEnabled + 1
-    }	ITPlayButtonState;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0005
-    {	ITPlayerButtonPrevious	= 0,
-	ITPlayerButtonPlay	= ITPlayerButtonPrevious + 1,
-	ITPlayerButtonNext	= ITPlayerButtonPlay + 1
-    }	ITPlayerButton;
-
-typedef /* [public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0267_0006
-    {	ITPlayerButtonModifierKeyNone	= 0,
-	ITPlayerButtonModifierKeyShift	= 1,
-	ITPlayerButtonModifierKeyControl	= 2,
-	ITPlayerButtonModifierKeyAlt	= 4,
-	ITPlayerButtonModifierKeyCapsLock	= 8
-    }	ITPlayerButtonModifierKey;
-
-typedef /* [public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0270_0001
-    {	ITEventDatabaseChanged	= 1,
-	ITEventPlayerPlay	= 2,
-	ITEventPlayerStop	= 3,
-	ITEventPlayerPlayingTrackChanged	= 4,
-	ITEventUserInterfaceEnabled	= 5,
-	ITEventCOMCallsDisabled	= 6,
-	ITEventCOMCallsEnabled	= 7,
-	ITEventQuitting	= 8,
-	ITEventAboutToPromptUserToQuit	= 9,
-	ITEventSoundVolumeChanged	= 10
-    }	ITEvent;
-
-typedef /* [public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0271_0001
-    {	ITConvertOperationStatusChanged	= 1,
-	ITConvertOperationComplete	= 2
-    }	ITConvertOperationStatusEvent;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0272_0001
-    {	ITArtworkFormatUnknown	= 0,
-	ITArtworkFormatJPEG	= ITArtworkFormatUnknown + 1,
-	ITArtworkFormatPNG	= ITArtworkFormatJPEG + 1,
-	ITArtworkFormatBMP	= ITArtworkFormatPNG + 1
-    }	ITArtworkFormat;
-
-
-
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0278_0001
-    {	ITPlaylistKindUnknown	= 0,
-	ITPlaylistKindLibrary	= ITPlaylistKindUnknown + 1,
-	ITPlaylistKindUser	= ITPlaylistKindLibrary + 1,
-	ITPlaylistKindCD	= ITPlaylistKindUser + 1,
-	ITPlaylistKindDevice	= ITPlaylistKindCD + 1,
-	ITPlaylistKindRadioTuner	= ITPlaylistKindDevice + 1
-    }	ITPlaylistKind;
-
-typedef /* [public][public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0278_0002
-    {	ITPlaylistRepeatModeOff	= 0,
-	ITPlaylistRepeatModeOne	= ITPlaylistRepeatModeOff + 1,
-	ITPlaylistRepeatModeAll	= ITPlaylistRepeatModeOne + 1
-    }	ITPlaylistRepeatMode;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0278_0003
-    {	ITPlaylistPrintKindPlaylist	= 0,
-	ITPlaylistPrintKindAlbumlist	= ITPlaylistPrintKindPlaylist + 1,
-	ITPlaylistPrintKindInsert	= ITPlaylistPrintKindAlbumlist + 1
-    }	ITPlaylistPrintKind;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0278_0004
-    {	ITPlaylistSearchFieldAll	= 0,
-	ITPlaylistSearchFieldVisible	= ITPlaylistSearchFieldAll + 1,
-	ITPlaylistSearchFieldArtists	= ITPlaylistSearchFieldVisible + 1,
-	ITPlaylistSearchFieldAlbums	= ITPlaylistSearchFieldArtists + 1,
-	ITPlaylistSearchFieldComposers	= ITPlaylistSearchFieldAlbums + 1,
-	ITPlaylistSearchFieldSongNames	= ITPlaylistSearchFieldComposers + 1
-    }	ITPlaylistSearchField;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0280_0001
-    {	ITUserPlaylistSpecialKindNone	= 0,
-	ITUserPlaylistSpecialKindPurchasedMusic	= ITUserPlaylistSpecialKindNone + 1,
-	ITUserPlaylistSpecialKindPartyShuffle	= ITUserPlaylistSpecialKindPurchasedMusic + 1,
-	ITUserPlaylistSpecialKindPodcasts	= ITUserPlaylistSpecialKindPartyShuffle + 1,
-	ITUserPlaylistSpecialKindFolder	= ITUserPlaylistSpecialKindPodcasts + 1,
-	ITUserPlaylistSpecialKindVideos	= ITUserPlaylistSpecialKindFolder + 1
-    }	ITUserPlaylistSpecialKind;
-
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0283_0001
-    {	ITSourceKindUnknown	= 0,
-	ITSourceKindLibrary	= ITSourceKindUnknown + 1,
-	ITSourceKindIPod	= ITSourceKindLibrary + 1,
-	ITSourceKindAudioCD	= ITSourceKindIPod + 1,
-	ITSourceKindMP3CD	= ITSourceKindAudioCD + 1,
-	ITSourceKindDevice	= ITSourceKindMP3CD + 1,
-	ITSourceKindRadioTuner	= ITSourceKindDevice + 1,
-	ITSourceKindSharedLibrary	= ITSourceKindRadioTuner + 1
-    }	ITSourceKind;
-
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0286_0001
-    {	ITTrackKindUnknown	= 0,
-	ITTrackKindFile	= ITTrackKindUnknown + 1,
-	ITTrackKindCD	= ITTrackKindFile + 1,
-	ITTrackKindURL	= ITTrackKindCD + 1,
-	ITTrackKindDevice	= ITTrackKindURL + 1,
-	ITTrackKindSharedLibrary	= ITTrackKindDevice + 1
-    }	ITTrackKind;
-
-typedef /* [public][public][v1_enum][uuid] */ 
-enum __MIDL___MIDL_itf_iTunesCOMInterface_0292_0001
-    {	ITWindowKindUnknown	= 0,
-	ITWindowKindBrowser	= ITWindowKindUnknown + 1,
-	ITWindowKindPlaylist	= ITWindowKindBrowser + 1,
-	ITWindowKindEQ	= ITWindowKindPlaylist + 1,
-	ITWindowKindArtwork	= ITWindowKindEQ + 1,
-	ITWindowKindNowPlaying	= ITWindowKindArtwork + 1
-    }	ITWindowKind;
-
-
-EXTERN_C const IID LIBID_iTunesLib;
-
-#ifndef __IITObject_INTERFACE_DEFINED__
-#define __IITObject_INTERFACE_DEFINED__
-
-/* interface IITObject */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITObject;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("9FAB0E27-70D7-4e3a-9965-B0C8B8869BB6")
-    IITObject : public IDispatch
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectIDs( 
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
-            /* [retval][out] */ BSTR __RPC_FAR *name) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
-            /* [in] */ BSTR name) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Index( 
-            /* [retval][out] */ long __RPC_FAR *index) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SourceID( 
-            /* [retval][out] */ long __RPC_FAR *sourceID) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlaylistID( 
-            /* [retval][out] */ long __RPC_FAR *playlistID) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackID( 
-            /* [retval][out] */ long __RPC_FAR *trackID) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackDatabaseID( 
-            /* [retval][out] */ long __RPC_FAR *databaseID) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITObjectVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITObject __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITObject __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITObject __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITObject __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITObject __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITObject __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITObject __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITObject __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITObject __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITObject __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        END_INTERFACE
-    } IITObjectVtbl;
-
-    interface IITObject
-    {
-        CONST_VTBL struct IITObjectVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITObject_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITObject_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITObject_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITObject_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITObject_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITObject_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITObject_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITObject_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITObject_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITObject_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITObject_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITObject_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITObject_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITObject_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITObject_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITObject_GetITObjectIDs_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [out] */ long __RPC_FAR *sourceID,
-    /* [out] */ long __RPC_FAR *playlistID,
-    /* [out] */ long __RPC_FAR *trackID,
-    /* [out] */ long __RPC_FAR *databaseID);
-
-
-void __RPC_STUB IITObject_GetITObjectIDs_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Name_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *name);
-
-
-void __RPC_STUB IITObject_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITObject_put_Name_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [in] */ BSTR name);
-
-
-void __RPC_STUB IITObject_put_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_Index_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *index);
-
-
-void __RPC_STUB IITObject_get_Index_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_SourceID_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *sourceID);
-
-
-void __RPC_STUB IITObject_get_SourceID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_PlaylistID_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *playlistID);
-
-
-void __RPC_STUB IITObject_get_PlaylistID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackID_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *trackID);
-
-
-void __RPC_STUB IITObject_get_TrackID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITObject_get_TrackDatabaseID_Proxy( 
-    IITObject __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *databaseID);
-
-
-void __RPC_STUB IITObject_get_TrackDatabaseID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITObject_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITSource_INTERFACE_DEFINED__
-#define __IITSource_INTERFACE_DEFINED__
-
-/* interface IITSource */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITSource;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("AEC1C4D3-AEF1-4255-B892-3E3D13ADFDF9")
-    IITSource : public IITObject
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
-            /* [retval][out] */ ITSourceKind __RPC_FAR *kind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Capacity( 
-            /* [retval][out] */ double __RPC_FAR *capacity) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FreeSpace( 
-            /* [retval][out] */ double __RPC_FAR *freespace) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlists( 
-            /* [retval][out] */ IITPlaylistCollection __RPC_FAR *__RPC_FAR *iPlaylistCollection) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITSourceVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITSource __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITSource __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITSource __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITSource __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITSource __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITSource __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITSource __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITSource __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITSource __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ ITSourceKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Capacity )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *capacity);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FreeSpace )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *freespace);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlists )( 
-            IITSource __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylistCollection __RPC_FAR *__RPC_FAR *iPlaylistCollection);
-        
-        END_INTERFACE
-    } IITSourceVtbl;
-
-    interface IITSource
-    {
-        CONST_VTBL struct IITSourceVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITSource_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITSource_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITSource_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITSource_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITSource_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITSource_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITSource_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITSource_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITSource_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITSource_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITSource_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITSource_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITSource_get_Capacity(This,capacity)	\
-    (This)->lpVtbl -> get_Capacity(This,capacity)
-
-#define IITSource_get_FreeSpace(This,freespace)	\
-    (This)->lpVtbl -> get_FreeSpace(This,freespace)
-
-#define IITSource_get_Playlists(This,iPlaylistCollection)	\
-    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Kind_Proxy( 
-    IITSource __RPC_FAR * This,
-    /* [retval][out] */ ITSourceKind __RPC_FAR *kind);
-
-
-void __RPC_STUB IITSource_get_Kind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Capacity_Proxy( 
-    IITSource __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *capacity);
-
-
-void __RPC_STUB IITSource_get_Capacity_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_FreeSpace_Proxy( 
-    IITSource __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *freespace);
-
-
-void __RPC_STUB IITSource_get_FreeSpace_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSource_get_Playlists_Proxy( 
-    IITSource __RPC_FAR * This,
-    /* [retval][out] */ IITPlaylistCollection __RPC_FAR *__RPC_FAR *iPlaylistCollection);
-
-
-void __RPC_STUB IITSource_get_Playlists_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITSource_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITSourceCollection_INTERFACE_DEFINED__
-#define __IITSourceCollection_INTERFACE_DEFINED__
-
-/* interface IITSourceCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITSourceCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("2FF6CE20-FF87-4183-B0B3-F323D047AF41")
-    IITSourceCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITSourceCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITSourceCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITSourceCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITSourceCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITSourceCollectionVtbl;
-
-    interface IITSourceCollection
-    {
-        CONST_VTBL struct IITSourceCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITSourceCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITSourceCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITSourceCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITSourceCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITSourceCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITSourceCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITSourceCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITSourceCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITSourceCollection_get_Item(This,index,iSource)	\
-    (This)->lpVtbl -> get_Item(This,index,iSource)
-
-#define IITSourceCollection_get_ItemByName(This,name,iSource)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iSource)
-
-#define IITSourceCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Count_Proxy( 
-    IITSourceCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITSourceCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_Item_Proxy( 
-    IITSourceCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-
-
-void __RPC_STUB IITSourceCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get_ItemByName_Proxy( 
-    IITSourceCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-
-
-void __RPC_STUB IITSourceCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITSourceCollection_get__NewEnum_Proxy( 
-    IITSourceCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITSourceCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITSourceCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITEncoder_INTERFACE_DEFINED__
-#define __IITEncoder_INTERFACE_DEFINED__
-
-/* interface IITEncoder */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITEncoder;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("1CF95A1C-55FE-4f45-A2D3-85AC6C504A73")
-    IITEncoder : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
-            /* [retval][out] */ BSTR __RPC_FAR *name) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
-            /* [retval][out] */ BSTR __RPC_FAR *format) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITEncoderVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITEncoder __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITEncoder __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITEncoder __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITEncoder __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITEncoder __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITEncoder __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITEncoder __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITEncoder __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Format )( 
-            IITEncoder __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *format);
-        
-        END_INTERFACE
-    } IITEncoderVtbl;
-
-    interface IITEncoder
-    {
-        CONST_VTBL struct IITEncoderVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITEncoder_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITEncoder_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITEncoder_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITEncoder_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITEncoder_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITEncoder_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITEncoder_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITEncoder_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITEncoder_get_Format(This,format)	\
-    (This)->lpVtbl -> get_Format(This,format)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Name_Proxy( 
-    IITEncoder __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *name);
-
-
-void __RPC_STUB IITEncoder_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoder_get_Format_Proxy( 
-    IITEncoder __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *format);
-
-
-void __RPC_STUB IITEncoder_get_Format_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITEncoder_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITEncoderCollection_INTERFACE_DEFINED__
-#define __IITEncoderCollection_INTERFACE_DEFINED__
-
-/* interface IITEncoderCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITEncoderCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("8862BCA9-168D-4549-A9D5-ADB35E553BA6")
-    IITEncoderCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITEncoderCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITEncoderCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITEncoderCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITEncoderCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITEncoderCollectionVtbl;
-
-    interface IITEncoderCollection
-    {
-        CONST_VTBL struct IITEncoderCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITEncoderCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITEncoderCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITEncoderCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITEncoderCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITEncoderCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITEncoderCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITEncoderCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITEncoderCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITEncoderCollection_get_Item(This,index,iEncoder)	\
-    (This)->lpVtbl -> get_Item(This,index,iEncoder)
-
-#define IITEncoderCollection_get_ItemByName(This,name,iEncoder)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iEncoder)
-
-#define IITEncoderCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Count_Proxy( 
-    IITEncoderCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITEncoderCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_Item_Proxy( 
-    IITEncoderCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-
-
-void __RPC_STUB IITEncoderCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get_ItemByName_Proxy( 
-    IITEncoderCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-
-
-void __RPC_STUB IITEncoderCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEncoderCollection_get__NewEnum_Proxy( 
-    IITEncoderCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITEncoderCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITEncoderCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITEQPreset_INTERFACE_DEFINED__
-#define __IITEQPreset_INTERFACE_DEFINED__
-
-/* interface IITEQPreset */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITEQPreset;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("5BE75F4F-68FA-4212-ACB7-BE44EA569759")
-    IITEQPreset : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
-            /* [retval][out] */ BSTR __RPC_FAR *name) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Modifiable( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isModifiable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Preamp( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Preamp( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band1( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band1( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band2( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band2( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band3( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band3( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band4( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band4( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band5( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band5( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band6( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band6( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band7( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band7( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band8( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band8( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band9( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band9( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Band10( 
-            /* [retval][out] */ double __RPC_FAR *level) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Band10( 
-            /* [in] */ double level) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( 
-            /* [in] */ VARIANT_BOOL updateAllTracks) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rename( 
-            /* [in] */ BSTR newName,
-            /* [in] */ VARIANT_BOOL updateAllTracks) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITEQPresetVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITEQPreset __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITEQPreset __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Modifiable )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isModifiable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Preamp )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Preamp )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band1 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band1 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band2 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band2 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band3 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band3 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band4 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band4 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band5 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band5 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band6 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band6 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band7 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band7 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band8 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band8 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band9 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band9 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Band10 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *level);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Band10 )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ double level);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL updateAllTracks);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rename )( 
-            IITEQPreset __RPC_FAR * This,
-            /* [in] */ BSTR newName,
-            /* [in] */ VARIANT_BOOL updateAllTracks);
-        
-        END_INTERFACE
-    } IITEQPresetVtbl;
-
-    interface IITEQPreset
-    {
-        CONST_VTBL struct IITEQPresetVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITEQPreset_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITEQPreset_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITEQPreset_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITEQPreset_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITEQPreset_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITEQPreset_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITEQPreset_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITEQPreset_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITEQPreset_get_Modifiable(This,isModifiable)	\
-    (This)->lpVtbl -> get_Modifiable(This,isModifiable)
-
-#define IITEQPreset_get_Preamp(This,level)	\
-    (This)->lpVtbl -> get_Preamp(This,level)
-
-#define IITEQPreset_put_Preamp(This,level)	\
-    (This)->lpVtbl -> put_Preamp(This,level)
-
-#define IITEQPreset_get_Band1(This,level)	\
-    (This)->lpVtbl -> get_Band1(This,level)
-
-#define IITEQPreset_put_Band1(This,level)	\
-    (This)->lpVtbl -> put_Band1(This,level)
-
-#define IITEQPreset_get_Band2(This,level)	\
-    (This)->lpVtbl -> get_Band2(This,level)
-
-#define IITEQPreset_put_Band2(This,level)	\
-    (This)->lpVtbl -> put_Band2(This,level)
-
-#define IITEQPreset_get_Band3(This,level)	\
-    (This)->lpVtbl -> get_Band3(This,level)
-
-#define IITEQPreset_put_Band3(This,level)	\
-    (This)->lpVtbl -> put_Band3(This,level)
-
-#define IITEQPreset_get_Band4(This,level)	\
-    (This)->lpVtbl -> get_Band4(This,level)
-
-#define IITEQPreset_put_Band4(This,level)	\
-    (This)->lpVtbl -> put_Band4(This,level)
-
-#define IITEQPreset_get_Band5(This,level)	\
-    (This)->lpVtbl -> get_Band5(This,level)
-
-#define IITEQPreset_put_Band5(This,level)	\
-    (This)->lpVtbl -> put_Band5(This,level)
-
-#define IITEQPreset_get_Band6(This,level)	\
-    (This)->lpVtbl -> get_Band6(This,level)
-
-#define IITEQPreset_put_Band6(This,level)	\
-    (This)->lpVtbl -> put_Band6(This,level)
-
-#define IITEQPreset_get_Band7(This,level)	\
-    (This)->lpVtbl -> get_Band7(This,level)
-
-#define IITEQPreset_put_Band7(This,level)	\
-    (This)->lpVtbl -> put_Band7(This,level)
-
-#define IITEQPreset_get_Band8(This,level)	\
-    (This)->lpVtbl -> get_Band8(This,level)
-
-#define IITEQPreset_put_Band8(This,level)	\
-    (This)->lpVtbl -> put_Band8(This,level)
-
-#define IITEQPreset_get_Band9(This,level)	\
-    (This)->lpVtbl -> get_Band9(This,level)
-
-#define IITEQPreset_put_Band9(This,level)	\
-    (This)->lpVtbl -> put_Band9(This,level)
-
-#define IITEQPreset_get_Band10(This,level)	\
-    (This)->lpVtbl -> get_Band10(This,level)
-
-#define IITEQPreset_put_Band10(This,level)	\
-    (This)->lpVtbl -> put_Band10(This,level)
-
-#define IITEQPreset_Delete(This,updateAllTracks)	\
-    (This)->lpVtbl -> Delete(This,updateAllTracks)
-
-#define IITEQPreset_Rename(This,newName,updateAllTracks)	\
-    (This)->lpVtbl -> Rename(This,newName,updateAllTracks)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Name_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *name);
-
-
-void __RPC_STUB IITEQPreset_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Modifiable_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isModifiable);
-
-
-void __RPC_STUB IITEQPreset_get_Modifiable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Preamp_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Preamp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Preamp_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Preamp_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band1_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band1_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band1_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band1_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band2_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band2_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band3_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band3_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band3_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band3_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band4_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band4_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band4_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band4_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band5_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band5_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band5_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band5_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band6_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band6_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band6_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band6_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band7_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band7_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band7_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band7_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band8_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band8_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band8_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band8_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band9_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band9_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band9_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band9_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPreset_get_Band10_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *level);
-
-
-void __RPC_STUB IITEQPreset_get_Band10_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITEQPreset_put_Band10_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ double level);
-
-
-void __RPC_STUB IITEQPreset_put_Band10_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Delete_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL updateAllTracks);
-
-
-void __RPC_STUB IITEQPreset_Delete_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITEQPreset_Rename_Proxy( 
-    IITEQPreset __RPC_FAR * This,
-    /* [in] */ BSTR newName,
-    /* [in] */ VARIANT_BOOL updateAllTracks);
-
-
-void __RPC_STUB IITEQPreset_Rename_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITEQPreset_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITEQPresetCollection_INTERFACE_DEFINED__
-#define __IITEQPresetCollection_INTERFACE_DEFINED__
-
-/* interface IITEQPresetCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITEQPresetCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("AEF4D111-3331-48da-B0C2-B468D5D61D08")
-    IITEQPresetCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITEQPresetCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITEQPresetCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITEQPresetCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITEQPresetCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITEQPresetCollectionVtbl;
-
-    interface IITEQPresetCollection
-    {
-        CONST_VTBL struct IITEQPresetCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITEQPresetCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITEQPresetCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITEQPresetCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITEQPresetCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITEQPresetCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITEQPresetCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITEQPresetCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITEQPresetCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITEQPresetCollection_get_Item(This,index,iEQPreset)	\
-    (This)->lpVtbl -> get_Item(This,index,iEQPreset)
-
-#define IITEQPresetCollection_get_ItemByName(This,name,iEQPreset)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iEQPreset)
-
-#define IITEQPresetCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Count_Proxy( 
-    IITEQPresetCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITEQPresetCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_Item_Proxy( 
-    IITEQPresetCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-
-
-void __RPC_STUB IITEQPresetCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get_ItemByName_Proxy( 
-    IITEQPresetCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-
-
-void __RPC_STUB IITEQPresetCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITEQPresetCollection_get__NewEnum_Proxy( 
-    IITEQPresetCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITEQPresetCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITEQPresetCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITPlaylist_INTERFACE_DEFINED__
-#define __IITPlaylist_INTERFACE_DEFINED__
-
-/* interface IITPlaylist */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITPlaylist;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("3D5E072F-2A77-4b17-9E73-E03B77CCCCA9")
-    IITPlaylist : public IITObject
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFirstTrack( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Print( 
-            /* [in] */ VARIANT_BOOL showPrintDialog,
-            /* [in] */ ITPlaylistPrintKind printKind,
-            /* [in] */ BSTR theme) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Search( 
-            /* [in] */ BSTR searchText,
-            /* [in] */ ITPlaylistSearchField searchFields,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
-            /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Source( 
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
-            /* [retval][out] */ long __RPC_FAR *duration) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shuffle( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shuffle( 
-            /* [in] */ VARIANT_BOOL shouldShuffle) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
-            /* [retval][out] */ double __RPC_FAR *size) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SongRepeat( 
-            /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SongRepeat( 
-            /* [in] */ ITPlaylistRepeatMode repeatMode) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( 
-            /* [retval][out] */ BSTR __RPC_FAR *time) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( 
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITPlaylistVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITPlaylist __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITPlaylist __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFirstTrack )( 
-            IITPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Print )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL showPrintDialog,
-            /* [in] */ ITPlaylistPrintKind printKind,
-            /* [in] */ BSTR theme);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Search )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR searchText,
-            /* [in] */ ITPlaylistSearchField searchFields,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shuffle )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shuffle )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SongRepeat )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SongRepeat )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [in] */ ITPlaylistRepeatMode repeatMode);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        END_INTERFACE
-    } IITPlaylistVtbl;
-
-    interface IITPlaylist
-    {
-        CONST_VTBL struct IITPlaylistVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITPlaylist_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITPlaylist_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITPlaylist_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITPlaylist_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITPlaylist_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITPlaylist_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITPlaylist_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITPlaylist_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITPlaylist_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITPlaylist_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITPlaylist_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITPlaylist_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITPlaylist_PlayFirstTrack(This)	\
-    (This)->lpVtbl -> PlayFirstTrack(This)
-
-#define IITPlaylist_Print(This,showPrintDialog,printKind,theme)	\
-    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)
-
-#define IITPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
-    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)
-
-#define IITPlaylist_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITPlaylist_get_Source(This,iSource)	\
-    (This)->lpVtbl -> get_Source(This,iSource)
-
-#define IITPlaylist_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITPlaylist_get_Shuffle(This,isShuffle)	\
-    (This)->lpVtbl -> get_Shuffle(This,isShuffle)
-
-#define IITPlaylist_put_Shuffle(This,shouldShuffle)	\
-    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)
-
-#define IITPlaylist_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITPlaylist_get_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)
-
-#define IITPlaylist_put_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)
-
-#define IITPlaylist_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITPlaylist_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITPlaylist_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Delete_Proxy( 
-    IITPlaylist __RPC_FAR * This);
-
-
-void __RPC_STUB IITPlaylist_Delete_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_PlayFirstTrack_Proxy( 
-    IITPlaylist __RPC_FAR * This);
-
-
-void __RPC_STUB IITPlaylist_PlayFirstTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Print_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL showPrintDialog,
-    /* [in] */ ITPlaylistPrintKind printKind,
-    /* [in] */ BSTR theme);
-
-
-void __RPC_STUB IITPlaylist_Print_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITPlaylist_Search_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR searchText,
-    /* [in] */ ITPlaylistSearchField searchFields,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IITPlaylist_Search_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Kind_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind);
-
-
-void __RPC_STUB IITPlaylist_get_Kind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Source_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-
-
-void __RPC_STUB IITPlaylist_get_Source_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Duration_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *duration);
-
-
-void __RPC_STUB IITPlaylist_get_Duration_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Shuffle_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle);
-
-
-void __RPC_STUB IITPlaylist_get_Shuffle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_Shuffle_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldShuffle);
-
-
-void __RPC_STUB IITPlaylist_put_Shuffle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Size_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ double __RPC_FAR *size);
-
-
-void __RPC_STUB IITPlaylist_get_Size_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_SongRepeat_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode);
-
-
-void __RPC_STUB IITPlaylist_get_SongRepeat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITPlaylist_put_SongRepeat_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [in] */ ITPlaylistRepeatMode repeatMode);
-
-
-void __RPC_STUB IITPlaylist_put_SongRepeat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Time_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *time);
-
-
-void __RPC_STUB IITPlaylist_get_Time_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Visible_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-
-
-void __RPC_STUB IITPlaylist_get_Visible_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylist_get_Tracks_Proxy( 
-    IITPlaylist __RPC_FAR * This,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IITPlaylist_get_Tracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITPlaylist_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITOperationStatus_INTERFACE_DEFINED__
-#define __IITOperationStatus_INTERFACE_DEFINED__
-
-/* interface IITOperationStatus */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITOperationStatus;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("206479C9-FE32-4f9b-A18A-475AC939B479")
-    IITOperationStatus : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_InProgress( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isInProgress) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Tracks( 
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITOperationStatusVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITOperationStatus __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITOperationStatus __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InProgress )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isInProgress);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        END_INTERFACE
-    } IITOperationStatusVtbl;
-
-    interface IITOperationStatus
-    {
-        CONST_VTBL struct IITOperationStatusVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITOperationStatus_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITOperationStatus_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITOperationStatus_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITOperationStatus_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITOperationStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITOperationStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITOperationStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITOperationStatus_get_InProgress(This,isInProgress)	\
-    (This)->lpVtbl -> get_InProgress(This,isInProgress)
-
-#define IITOperationStatus_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_InProgress_Proxy( 
-    IITOperationStatus __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isInProgress);
-
-
-void __RPC_STUB IITOperationStatus_get_InProgress_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITOperationStatus_get_Tracks_Proxy( 
-    IITOperationStatus __RPC_FAR * This,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IITOperationStatus_get_Tracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITOperationStatus_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITConvertOperationStatus_INTERFACE_DEFINED__
-#define __IITConvertOperationStatus_INTERFACE_DEFINED__
-
-/* interface IITConvertOperationStatus */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITConvertOperationStatus;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("7063AAF6-ABA0-493b-B4FC-920A9F105875")
-    IITConvertOperationStatus : public IITOperationStatus
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetConversionStatus( 
-            /* [out] */ BSTR __RPC_FAR *trackName,
-            /* [out] */ long __RPC_FAR *progressValue,
-            /* [out] */ long __RPC_FAR *maxProgressValue) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE StopConversion( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackName( 
-            /* [retval][out] */ BSTR __RPC_FAR *trackName) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ProgressValue( 
-            /* [retval][out] */ long __RPC_FAR *progressValue) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MaxProgressValue( 
-            /* [retval][out] */ long __RPC_FAR *maxProgressValue) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITConvertOperationStatusVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITConvertOperationStatus __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITConvertOperationStatus __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_InProgress )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isInProgress);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetConversionStatus )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [out] */ BSTR __RPC_FAR *trackName,
-            /* [out] */ long __RPC_FAR *progressValue,
-            /* [out] */ long __RPC_FAR *maxProgressValue);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *StopConversion )( 
-            IITConvertOperationStatus __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackName )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *trackName);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ProgressValue )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *progressValue);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MaxProgressValue )( 
-            IITConvertOperationStatus __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *maxProgressValue);
-        
-        END_INTERFACE
-    } IITConvertOperationStatusVtbl;
-
-    interface IITConvertOperationStatus
-    {
-        CONST_VTBL struct IITConvertOperationStatusVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITConvertOperationStatus_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITConvertOperationStatus_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITConvertOperationStatus_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITConvertOperationStatus_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITConvertOperationStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITConvertOperationStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITConvertOperationStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITConvertOperationStatus_get_InProgress(This,isInProgress)	\
-    (This)->lpVtbl -> get_InProgress(This,isInProgress)
-
-#define IITConvertOperationStatus_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-
-#define IITConvertOperationStatus_GetConversionStatus(This,trackName,progressValue,maxProgressValue)	\
-    (This)->lpVtbl -> GetConversionStatus(This,trackName,progressValue,maxProgressValue)
-
-#define IITConvertOperationStatus_StopConversion(This)	\
-    (This)->lpVtbl -> StopConversion(This)
-
-#define IITConvertOperationStatus_get_TrackName(This,trackName)	\
-    (This)->lpVtbl -> get_TrackName(This,trackName)
-
-#define IITConvertOperationStatus_get_ProgressValue(This,progressValue)	\
-    (This)->lpVtbl -> get_ProgressValue(This,progressValue)
-
-#define IITConvertOperationStatus_get_MaxProgressValue(This,maxProgressValue)	\
-    (This)->lpVtbl -> get_MaxProgressValue(This,maxProgressValue)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_GetConversionStatus_Proxy( 
-    IITConvertOperationStatus __RPC_FAR * This,
-    /* [out] */ BSTR __RPC_FAR *trackName,
-    /* [out] */ long __RPC_FAR *progressValue,
-    /* [out] */ long __RPC_FAR *maxProgressValue);
-
-
-void __RPC_STUB IITConvertOperationStatus_GetConversionStatus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_StopConversion_Proxy( 
-    IITConvertOperationStatus __RPC_FAR * This);
-
-
-void __RPC_STUB IITConvertOperationStatus_StopConversion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_TrackName_Proxy( 
-    IITConvertOperationStatus __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *trackName);
-
-
-void __RPC_STUB IITConvertOperationStatus_get_TrackName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_ProgressValue_Proxy( 
-    IITConvertOperationStatus __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *progressValue);
-
-
-void __RPC_STUB IITConvertOperationStatus_get_ProgressValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITConvertOperationStatus_get_MaxProgressValue_Proxy( 
-    IITConvertOperationStatus __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *maxProgressValue);
-
-
-void __RPC_STUB IITConvertOperationStatus_get_MaxProgressValue_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITConvertOperationStatus_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITLibraryPlaylist_INTERFACE_DEFINED__
-#define __IITLibraryPlaylist_INTERFACE_DEFINED__
-
-/* interface IITLibraryPlaylist */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITLibraryPlaylist;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("53AE1704-491C-4289-94A0-958815675A3D")
-    IITLibraryPlaylist : public IITPlaylist
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( 
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( 
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( 
-            /* [in] */ BSTR url,
-            /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( 
-            /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITLibraryPlaylistVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITLibraryPlaylist __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITLibraryPlaylist __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITLibraryPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFirstTrack )( 
-            IITLibraryPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Print )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL showPrintDialog,
-            /* [in] */ ITPlaylistPrintKind printKind,
-            /* [in] */ BSTR theme);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Search )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR searchText,
-            /* [in] */ ITPlaylistSearchField searchFields,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shuffle )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shuffle )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SongRepeat )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SongRepeat )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ ITPlaylistRepeatMode repeatMode);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFile )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFiles )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddURL )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR url,
-            /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrack )( 
-            IITLibraryPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack);
-        
-        END_INTERFACE
-    } IITLibraryPlaylistVtbl;
-
-    interface IITLibraryPlaylist
-    {
-        CONST_VTBL struct IITLibraryPlaylistVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITLibraryPlaylist_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITLibraryPlaylist_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITLibraryPlaylist_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITLibraryPlaylist_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITLibraryPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITLibraryPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITLibraryPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITLibraryPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITLibraryPlaylist_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITLibraryPlaylist_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITLibraryPlaylist_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITLibraryPlaylist_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITLibraryPlaylist_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITLibraryPlaylist_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITLibraryPlaylist_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITLibraryPlaylist_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITLibraryPlaylist_PlayFirstTrack(This)	\
-    (This)->lpVtbl -> PlayFirstTrack(This)
-
-#define IITLibraryPlaylist_Print(This,showPrintDialog,printKind,theme)	\
-    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)
-
-#define IITLibraryPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
-    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)
-
-#define IITLibraryPlaylist_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITLibraryPlaylist_get_Source(This,iSource)	\
-    (This)->lpVtbl -> get_Source(This,iSource)
-
-#define IITLibraryPlaylist_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITLibraryPlaylist_get_Shuffle(This,isShuffle)	\
-    (This)->lpVtbl -> get_Shuffle(This,isShuffle)
-
-#define IITLibraryPlaylist_put_Shuffle(This,shouldShuffle)	\
-    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)
-
-#define IITLibraryPlaylist_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITLibraryPlaylist_get_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)
-
-#define IITLibraryPlaylist_put_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)
-
-#define IITLibraryPlaylist_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITLibraryPlaylist_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITLibraryPlaylist_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-
-#define IITLibraryPlaylist_AddFile(This,filePath,iStatus)	\
-    (This)->lpVtbl -> AddFile(This,filePath,iStatus)
-
-#define IITLibraryPlaylist_AddFiles(This,filePaths,iStatus)	\
-    (This)->lpVtbl -> AddFiles(This,filePaths,iStatus)
-
-#define IITLibraryPlaylist_AddURL(This,url,iURLTrack)	\
-    (This)->lpVtbl -> AddURL(This,url,iURLTrack)
-
-#define IITLibraryPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack)	\
-    (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFile_Proxy( 
-    IITLibraryPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR filePath,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IITLibraryPlaylist_AddFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddFiles_Proxy( 
-    IITLibraryPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *filePaths,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IITLibraryPlaylist_AddFiles_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddURL_Proxy( 
-    IITLibraryPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR url,
-    /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack);
-
-
-void __RPC_STUB IITLibraryPlaylist_AddURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITLibraryPlaylist_AddTrack_Proxy( 
-    IITLibraryPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack);
-
-
-void __RPC_STUB IITLibraryPlaylist_AddTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITLibraryPlaylist_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITUserPlaylist_INTERFACE_DEFINED__
-#define __IITUserPlaylist_INTERFACE_DEFINED__
-
-/* interface IITUserPlaylist */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITUserPlaylist;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("0A504DED-A0B5-465a-8A94-50E20D7DF692")
-    IITUserPlaylist : public IITPlaylist
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFile( 
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddFiles( 
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddURL( 
-            /* [in] */ BSTR url,
-            /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddTrack( 
-            /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Shared( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShared) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Shared( 
-            /* [in] */ VARIANT_BOOL shouldBeShared) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Smart( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isSmart) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SpecialKind( 
-            /* [retval][out] */ ITUserPlaylistSpecialKind __RPC_FAR *specialKind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Parent( 
-            /* [retval][out] */ IITUserPlaylist __RPC_FAR *__RPC_FAR *iParentPlayList) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( 
-            /* [in] */ BSTR playlistName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
-            /* [in] */ BSTR folderName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Parent( 
-            /* [in] */ VARIANT __RPC_FAR *iParent) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITUserPlaylistVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITUserPlaylist __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITUserPlaylist __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITUserPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFirstTrack )( 
-            IITUserPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Print )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL showPrintDialog,
-            /* [in] */ ITPlaylistPrintKind printKind,
-            /* [in] */ BSTR theme);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Search )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR searchText,
-            /* [in] */ ITPlaylistSearchField searchFields,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shuffle )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shuffle )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SongRepeat )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SongRepeat )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ ITPlaylistRepeatMode repeatMode);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFile )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddFiles )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddURL )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR url,
-            /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddTrack )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shared )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShared);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shared )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeShared);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Smart )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isSmart);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SpecialKind )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITUserPlaylistSpecialKind __RPC_FAR *specialKind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Parent )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITUserPlaylist __RPC_FAR *__RPC_FAR *iParentPlayList);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePlaylist )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR playlistName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFolder )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR folderName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Parent )( 
-            IITUserPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iParent);
-        
-        END_INTERFACE
-    } IITUserPlaylistVtbl;
-
-    interface IITUserPlaylist
-    {
-        CONST_VTBL struct IITUserPlaylistVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITUserPlaylist_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITUserPlaylist_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITUserPlaylist_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITUserPlaylist_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITUserPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITUserPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITUserPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITUserPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITUserPlaylist_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITUserPlaylist_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITUserPlaylist_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITUserPlaylist_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITUserPlaylist_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITUserPlaylist_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITUserPlaylist_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITUserPlaylist_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITUserPlaylist_PlayFirstTrack(This)	\
-    (This)->lpVtbl -> PlayFirstTrack(This)
-
-#define IITUserPlaylist_Print(This,showPrintDialog,printKind,theme)	\
-    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)
-
-#define IITUserPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
-    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)
-
-#define IITUserPlaylist_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITUserPlaylist_get_Source(This,iSource)	\
-    (This)->lpVtbl -> get_Source(This,iSource)
-
-#define IITUserPlaylist_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITUserPlaylist_get_Shuffle(This,isShuffle)	\
-    (This)->lpVtbl -> get_Shuffle(This,isShuffle)
-
-#define IITUserPlaylist_put_Shuffle(This,shouldShuffle)	\
-    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)
-
-#define IITUserPlaylist_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITUserPlaylist_get_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)
-
-#define IITUserPlaylist_put_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)
-
-#define IITUserPlaylist_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITUserPlaylist_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITUserPlaylist_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-
-#define IITUserPlaylist_AddFile(This,filePath,iStatus)	\
-    (This)->lpVtbl -> AddFile(This,filePath,iStatus)
-
-#define IITUserPlaylist_AddFiles(This,filePaths,iStatus)	\
-    (This)->lpVtbl -> AddFiles(This,filePaths,iStatus)
-
-#define IITUserPlaylist_AddURL(This,url,iURLTrack)	\
-    (This)->lpVtbl -> AddURL(This,url,iURLTrack)
-
-#define IITUserPlaylist_AddTrack(This,iTrackToAdd,iAddedTrack)	\
-    (This)->lpVtbl -> AddTrack(This,iTrackToAdd,iAddedTrack)
-
-#define IITUserPlaylist_get_Shared(This,isShared)	\
-    (This)->lpVtbl -> get_Shared(This,isShared)
-
-#define IITUserPlaylist_put_Shared(This,shouldBeShared)	\
-    (This)->lpVtbl -> put_Shared(This,shouldBeShared)
-
-#define IITUserPlaylist_get_Smart(This,isSmart)	\
-    (This)->lpVtbl -> get_Smart(This,isSmart)
-
-#define IITUserPlaylist_get_SpecialKind(This,specialKind)	\
-    (This)->lpVtbl -> get_SpecialKind(This,specialKind)
-
-#define IITUserPlaylist_get_Parent(This,iParentPlayList)	\
-    (This)->lpVtbl -> get_Parent(This,iParentPlayList)
-
-#define IITUserPlaylist_CreatePlaylist(This,playlistName,iPlaylist)	\
-    (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist)
-
-#define IITUserPlaylist_CreateFolder(This,folderName,iFolder)	\
-    (This)->lpVtbl -> CreateFolder(This,folderName,iFolder)
-
-#define IITUserPlaylist_put_Parent(This,iParent)	\
-    (This)->lpVtbl -> put_Parent(This,iParent)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFile_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR filePath,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IITUserPlaylist_AddFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddFiles_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *filePaths,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IITUserPlaylist_AddFiles_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddURL_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR url,
-    /* [retval][out] */ IITURLTrack __RPC_FAR *__RPC_FAR *iURLTrack);
-
-
-void __RPC_STUB IITUserPlaylist_AddURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_AddTrack_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTrackToAdd,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iAddedTrack);
-
-
-void __RPC_STUB IITUserPlaylist_AddTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Shared_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShared);
-
-
-void __RPC_STUB IITUserPlaylist_get_Shared_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Shared_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeShared);
-
-
-void __RPC_STUB IITUserPlaylist_put_Shared_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Smart_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isSmart);
-
-
-void __RPC_STUB IITUserPlaylist_get_Smart_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_SpecialKind_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [retval][out] */ ITUserPlaylistSpecialKind __RPC_FAR *specialKind);
-
-
-void __RPC_STUB IITUserPlaylist_get_SpecialKind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_get_Parent_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [retval][out] */ IITUserPlaylist __RPC_FAR *__RPC_FAR *iParentPlayList);
-
-
-void __RPC_STUB IITUserPlaylist_get_Parent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreatePlaylist_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR playlistName,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITUserPlaylist_CreatePlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_CreateFolder_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ BSTR folderName,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-
-
-void __RPC_STUB IITUserPlaylist_CreateFolder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITUserPlaylist_put_Parent_Proxy( 
-    IITUserPlaylist __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iParent);
-
-
-void __RPC_STUB IITUserPlaylist_put_Parent_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITUserPlaylist_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITTrack_INTERFACE_DEFINED__
-#define __IITTrack_INTERFACE_DEFINED__
-
-/* interface IITTrack */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITTrack;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("4CB0915D-1E54-4727-BAF3-CE6CC9A225A1")
-    IITTrack : public IITObject
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE AddArtworkFromFile( 
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
-            /* [retval][out] */ ITTrackKind __RPC_FAR *kind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( 
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Album( 
-            /* [retval][out] */ BSTR __RPC_FAR *album) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Album( 
-            /* [in] */ BSTR album) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( 
-            /* [retval][out] */ BSTR __RPC_FAR *artist) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Artist( 
-            /* [in] */ BSTR artist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BitRate( 
-            /* [retval][out] */ long __RPC_FAR *bitrate) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BPM( 
-            /* [retval][out] */ long __RPC_FAR *beatsPerMinute) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BPM( 
-            /* [in] */ long beatsPerMinute) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Comment( 
-            /* [retval][out] */ BSTR __RPC_FAR *comment) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Comment( 
-            /* [in] */ BSTR comment) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompilation) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Compilation( 
-            /* [in] */ VARIANT_BOOL shouldBeCompilation) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( 
-            /* [retval][out] */ BSTR __RPC_FAR *composer) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Composer( 
-            /* [in] */ BSTR composer) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DateAdded( 
-            /* [retval][out] */ DATE __RPC_FAR *dateAdded) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( 
-            /* [retval][out] */ long __RPC_FAR *discCount) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscCount( 
-            /* [in] */ long discCount) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( 
-            /* [retval][out] */ long __RPC_FAR *discNumber) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_DiscNumber( 
-            /* [in] */ long discNumber) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Duration( 
-            /* [retval][out] */ long __RPC_FAR *duration) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Enabled( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Enabled( 
-            /* [in] */ VARIANT_BOOL shouldBeEnabled) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQ( 
-            /* [retval][out] */ BSTR __RPC_FAR *eq) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQ( 
-            /* [in] */ BSTR eq) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Finish( 
-            /* [in] */ long finish) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Finish( 
-            /* [retval][out] */ long __RPC_FAR *finish) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( 
-            /* [retval][out] */ BSTR __RPC_FAR *genre) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Genre( 
-            /* [in] */ BSTR genre) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Grouping( 
-            /* [retval][out] */ BSTR __RPC_FAR *grouping) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Grouping( 
-            /* [in] */ BSTR grouping) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_KindAsString( 
-            /* [retval][out] */ BSTR __RPC_FAR *kind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ModificationDate( 
-            /* [retval][out] */ DATE __RPC_FAR *dateModified) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedCount( 
-            /* [retval][out] */ long __RPC_FAR *playedCount) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedCount( 
-            /* [in] */ long playedCount) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayedDate( 
-            /* [retval][out] */ DATE __RPC_FAR *playedDate) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayedDate( 
-            /* [in] */ DATE playedDate) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayOrderIndex( 
-            /* [retval][out] */ long __RPC_FAR *index) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Rating( 
-            /* [retval][out] */ long __RPC_FAR *rating) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Rating( 
-            /* [in] */ long rating) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SampleRate( 
-            /* [retval][out] */ long __RPC_FAR *sampleRate) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Size( 
-            /* [retval][out] */ long __RPC_FAR *size) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Start( 
-            /* [retval][out] */ long __RPC_FAR *start) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Start( 
-            /* [in] */ long start) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Time( 
-            /* [retval][out] */ BSTR __RPC_FAR *time) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackCount( 
-            /* [retval][out] */ long __RPC_FAR *trackCount) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackCount( 
-            /* [in] */ long trackCount) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_TrackNumber( 
-            /* [retval][out] */ long __RPC_FAR *trackNumber) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_TrackNumber( 
-            /* [in] */ long trackNumber) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VolumeAdjustment( 
-            /* [retval][out] */ long __RPC_FAR *volumeAdjustment) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VolumeAdjustment( 
-            /* [in] */ long volumeAdjustment) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( 
-            /* [retval][out] */ long __RPC_FAR *year) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Year( 
-            /* [in] */ long year) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artwork( 
-            /* [retval][out] */ IITArtworkCollection __RPC_FAR *__RPC_FAR *iArtworkCollection) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITTrackVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITTrack __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITTrack __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITTrack __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )( 
-            IITTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArtworkFromFile )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ ITTrackKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlist )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Album )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *album);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Album )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR album);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artist )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *artist);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Artist )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR artist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BitRate )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bitrate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BPM )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *beatsPerMinute);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BPM )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long beatsPerMinute);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Comment )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *comment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Comment )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR comment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Compilation )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompilation);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Compilation )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeCompilation);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Composer )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *composer);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Composer )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR composer);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateAdded )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateAdded);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long discCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscNumber )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscNumber )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long discNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enabled )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enabled )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeEnabled);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQ )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EQ )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Finish )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Finish )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Genre )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *genre);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Genre )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR genre);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Grouping )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *grouping);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Grouping )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ BSTR grouping);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KindAsString )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModificationDate )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateModified);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playedCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long playedCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedDate )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *playedDate);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedDate )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ DATE playedDate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayOrderIndex )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rating )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *rating);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rating )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long rating);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SampleRate )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sampleRate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Start )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *start);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Start )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long start);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackCount )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long trackCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackNumber )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackNumber )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long trackNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VolumeAdjustment )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *volumeAdjustment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VolumeAdjustment )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long volumeAdjustment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Year )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *year);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Year )( 
-            IITTrack __RPC_FAR * This,
-            /* [in] */ long year);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artwork )( 
-            IITTrack __RPC_FAR * This,
-            /* [retval][out] */ IITArtworkCollection __RPC_FAR *__RPC_FAR *iArtworkCollection);
-        
-        END_INTERFACE
-    } IITTrackVtbl;
-
-    interface IITTrack
-    {
-        CONST_VTBL struct IITTrackVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITTrack_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITTrack_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITTrack_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITTrack_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITTrack_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITTrack_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITTrack_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITTrack_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITTrack_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITTrack_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITTrack_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITTrack_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITTrack_Play(This)	\
-    (This)->lpVtbl -> Play(This)
-
-#define IITTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
-    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)
-
-#define IITTrack_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITTrack_get_Playlist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_Playlist(This,iPlaylist)
-
-#define IITTrack_get_Album(This,album)	\
-    (This)->lpVtbl -> get_Album(This,album)
-
-#define IITTrack_put_Album(This,album)	\
-    (This)->lpVtbl -> put_Album(This,album)
-
-#define IITTrack_get_Artist(This,artist)	\
-    (This)->lpVtbl -> get_Artist(This,artist)
-
-#define IITTrack_put_Artist(This,artist)	\
-    (This)->lpVtbl -> put_Artist(This,artist)
-
-#define IITTrack_get_BitRate(This,bitrate)	\
-    (This)->lpVtbl -> get_BitRate(This,bitrate)
-
-#define IITTrack_get_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)
-
-#define IITTrack_put_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)
-
-#define IITTrack_get_Comment(This,comment)	\
-    (This)->lpVtbl -> get_Comment(This,comment)
-
-#define IITTrack_put_Comment(This,comment)	\
-    (This)->lpVtbl -> put_Comment(This,comment)
-
-#define IITTrack_get_Compilation(This,isCompilation)	\
-    (This)->lpVtbl -> get_Compilation(This,isCompilation)
-
-#define IITTrack_put_Compilation(This,shouldBeCompilation)	\
-    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)
-
-#define IITTrack_get_Composer(This,composer)	\
-    (This)->lpVtbl -> get_Composer(This,composer)
-
-#define IITTrack_put_Composer(This,composer)	\
-    (This)->lpVtbl -> put_Composer(This,composer)
-
-#define IITTrack_get_DateAdded(This,dateAdded)	\
-    (This)->lpVtbl -> get_DateAdded(This,dateAdded)
-
-#define IITTrack_get_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> get_DiscCount(This,discCount)
-
-#define IITTrack_put_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> put_DiscCount(This,discCount)
-
-#define IITTrack_get_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> get_DiscNumber(This,discNumber)
-
-#define IITTrack_put_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> put_DiscNumber(This,discNumber)
-
-#define IITTrack_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITTrack_get_Enabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_Enabled(This,isEnabled)
-
-#define IITTrack_put_Enabled(This,shouldBeEnabled)	\
-    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)
-
-#define IITTrack_get_EQ(This,eq)	\
-    (This)->lpVtbl -> get_EQ(This,eq)
-
-#define IITTrack_put_EQ(This,eq)	\
-    (This)->lpVtbl -> put_EQ(This,eq)
-
-#define IITTrack_put_Finish(This,finish)	\
-    (This)->lpVtbl -> put_Finish(This,finish)
-
-#define IITTrack_get_Finish(This,finish)	\
-    (This)->lpVtbl -> get_Finish(This,finish)
-
-#define IITTrack_get_Genre(This,genre)	\
-    (This)->lpVtbl -> get_Genre(This,genre)
-
-#define IITTrack_put_Genre(This,genre)	\
-    (This)->lpVtbl -> put_Genre(This,genre)
-
-#define IITTrack_get_Grouping(This,grouping)	\
-    (This)->lpVtbl -> get_Grouping(This,grouping)
-
-#define IITTrack_put_Grouping(This,grouping)	\
-    (This)->lpVtbl -> put_Grouping(This,grouping)
-
-#define IITTrack_get_KindAsString(This,kind)	\
-    (This)->lpVtbl -> get_KindAsString(This,kind)
-
-#define IITTrack_get_ModificationDate(This,dateModified)	\
-    (This)->lpVtbl -> get_ModificationDate(This,dateModified)
-
-#define IITTrack_get_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> get_PlayedCount(This,playedCount)
-
-#define IITTrack_put_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> put_PlayedCount(This,playedCount)
-
-#define IITTrack_get_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> get_PlayedDate(This,playedDate)
-
-#define IITTrack_put_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> put_PlayedDate(This,playedDate)
-
-#define IITTrack_get_PlayOrderIndex(This,index)	\
-    (This)->lpVtbl -> get_PlayOrderIndex(This,index)
-
-#define IITTrack_get_Rating(This,rating)	\
-    (This)->lpVtbl -> get_Rating(This,rating)
-
-#define IITTrack_put_Rating(This,rating)	\
-    (This)->lpVtbl -> put_Rating(This,rating)
-
-#define IITTrack_get_SampleRate(This,sampleRate)	\
-    (This)->lpVtbl -> get_SampleRate(This,sampleRate)
-
-#define IITTrack_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITTrack_get_Start(This,start)	\
-    (This)->lpVtbl -> get_Start(This,start)
-
-#define IITTrack_put_Start(This,start)	\
-    (This)->lpVtbl -> put_Start(This,start)
-
-#define IITTrack_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITTrack_get_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> get_TrackCount(This,trackCount)
-
-#define IITTrack_put_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> put_TrackCount(This,trackCount)
-
-#define IITTrack_get_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)
-
-#define IITTrack_put_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)
-
-#define IITTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITTrack_get_Year(This,year)	\
-    (This)->lpVtbl -> get_Year(This,year)
-
-#define IITTrack_put_Year(This,year)	\
-    (This)->lpVtbl -> put_Year(This,year)
-
-#define IITTrack_get_Artwork(This,iArtworkCollection)	\
-    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Delete_Proxy( 
-    IITTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITTrack_Delete_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_Play_Proxy( 
-    IITTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITTrack_Play_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITTrack_AddArtworkFromFile_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR filePath,
-    /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-
-
-void __RPC_STUB IITTrack_AddArtworkFromFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Kind_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ ITTrackKind __RPC_FAR *kind);
-
-
-void __RPC_STUB IITTrack_get_Kind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Playlist_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITTrack_get_Playlist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Album_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *album);
-
-
-void __RPC_STUB IITTrack_get_Album_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Album_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR album);
-
-
-void __RPC_STUB IITTrack_put_Album_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artist_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *artist);
-
-
-void __RPC_STUB IITTrack_get_Artist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Artist_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR artist);
-
-
-void __RPC_STUB IITTrack_put_Artist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BitRate_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *bitrate);
-
-
-void __RPC_STUB IITTrack_get_BitRate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_BPM_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *beatsPerMinute);
-
-
-void __RPC_STUB IITTrack_get_BPM_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_BPM_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long beatsPerMinute);
-
-
-void __RPC_STUB IITTrack_put_BPM_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Comment_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *comment);
-
-
-void __RPC_STUB IITTrack_get_Comment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Comment_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR comment);
-
-
-void __RPC_STUB IITTrack_put_Comment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Compilation_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompilation);
-
-
-void __RPC_STUB IITTrack_get_Compilation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Compilation_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeCompilation);
-
-
-void __RPC_STUB IITTrack_put_Compilation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Composer_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *composer);
-
-
-void __RPC_STUB IITTrack_get_Composer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Composer_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR composer);
-
-
-void __RPC_STUB IITTrack_put_Composer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DateAdded_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ DATE __RPC_FAR *dateAdded);
-
-
-void __RPC_STUB IITTrack_get_DateAdded_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *discCount);
-
-
-void __RPC_STUB IITTrack_get_DiscCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long discCount);
-
-
-void __RPC_STUB IITTrack_put_DiscCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_DiscNumber_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *discNumber);
-
-
-void __RPC_STUB IITTrack_get_DiscNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_DiscNumber_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long discNumber);
-
-
-void __RPC_STUB IITTrack_put_DiscNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Duration_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *duration);
-
-
-void __RPC_STUB IITTrack_get_Duration_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Enabled_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-
-
-void __RPC_STUB IITTrack_get_Enabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Enabled_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeEnabled);
-
-
-void __RPC_STUB IITTrack_put_Enabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_EQ_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *eq);
-
-
-void __RPC_STUB IITTrack_get_EQ_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_EQ_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR eq);
-
-
-void __RPC_STUB IITTrack_put_EQ_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Finish_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long finish);
-
-
-void __RPC_STUB IITTrack_put_Finish_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Finish_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *finish);
-
-
-void __RPC_STUB IITTrack_get_Finish_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Genre_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *genre);
-
-
-void __RPC_STUB IITTrack_get_Genre_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Genre_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR genre);
-
-
-void __RPC_STUB IITTrack_put_Genre_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Grouping_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *grouping);
-
-
-void __RPC_STUB IITTrack_get_Grouping_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Grouping_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ BSTR grouping);
-
-
-void __RPC_STUB IITTrack_put_Grouping_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_KindAsString_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *kind);
-
-
-void __RPC_STUB IITTrack_get_KindAsString_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_ModificationDate_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ DATE __RPC_FAR *dateModified);
-
-
-void __RPC_STUB IITTrack_get_ModificationDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *playedCount);
-
-
-void __RPC_STUB IITTrack_get_PlayedCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long playedCount);
-
-
-void __RPC_STUB IITTrack_put_PlayedCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayedDate_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ DATE __RPC_FAR *playedDate);
-
-
-void __RPC_STUB IITTrack_get_PlayedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_PlayedDate_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ DATE playedDate);
-
-
-void __RPC_STUB IITTrack_put_PlayedDate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_PlayOrderIndex_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *index);
-
-
-void __RPC_STUB IITTrack_get_PlayOrderIndex_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Rating_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *rating);
-
-
-void __RPC_STUB IITTrack_get_Rating_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Rating_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long rating);
-
-
-void __RPC_STUB IITTrack_put_Rating_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_SampleRate_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *sampleRate);
-
-
-void __RPC_STUB IITTrack_get_SampleRate_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Size_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *size);
-
-
-void __RPC_STUB IITTrack_get_Size_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Start_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *start);
-
-
-void __RPC_STUB IITTrack_get_Start_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Start_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long start);
-
-
-void __RPC_STUB IITTrack_put_Start_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Time_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *time);
-
-
-void __RPC_STUB IITTrack_get_Time_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *trackCount);
-
-
-void __RPC_STUB IITTrack_get_TrackCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackCount_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long trackCount);
-
-
-void __RPC_STUB IITTrack_put_TrackCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_TrackNumber_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *trackNumber);
-
-
-void __RPC_STUB IITTrack_get_TrackNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_TrackNumber_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long trackNumber);
-
-
-void __RPC_STUB IITTrack_put_TrackNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_VolumeAdjustment_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *volumeAdjustment);
-
-
-void __RPC_STUB IITTrack_get_VolumeAdjustment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_VolumeAdjustment_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long volumeAdjustment);
-
-
-void __RPC_STUB IITTrack_put_VolumeAdjustment_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Year_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *year);
-
-
-void __RPC_STUB IITTrack_get_Year_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITTrack_put_Year_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [in] */ long year);
-
-
-void __RPC_STUB IITTrack_put_Year_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrack_get_Artwork_Proxy( 
-    IITTrack __RPC_FAR * This,
-    /* [retval][out] */ IITArtworkCollection __RPC_FAR *__RPC_FAR *iArtworkCollection);
-
-
-void __RPC_STUB IITTrack_get_Artwork_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITTrack_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITTrackCollection_INTERFACE_DEFINED__
-#define __IITTrackCollection_INTERFACE_DEFINED__
-
-/* interface IITTrackCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITTrackCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("755D76F1-6B85-4ce4-8F5F-F88D9743DCD8")
-    IITTrackCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByPlayOrder( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITTrackCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITTrackCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITTrackCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByPlayOrder )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITTrackCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITTrackCollectionVtbl;
-
-    interface IITTrackCollection
-    {
-        CONST_VTBL struct IITTrackCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITTrackCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITTrackCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITTrackCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITTrackCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITTrackCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITTrackCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITTrackCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITTrackCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITTrackCollection_get_Item(This,index,iTrack)	\
-    (This)->lpVtbl -> get_Item(This,index,iTrack)
-
-#define IITTrackCollection_get_ItemByPlayOrder(This,index,iTrack)	\
-    (This)->lpVtbl -> get_ItemByPlayOrder(This,index,iTrack)
-
-#define IITTrackCollection_get_ItemByName(This,name,iTrack)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iTrack)
-
-#define IITTrackCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Count_Proxy( 
-    IITTrackCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITTrackCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_Item_Proxy( 
-    IITTrackCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-
-
-void __RPC_STUB IITTrackCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByPlayOrder_Proxy( 
-    IITTrackCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-
-
-void __RPC_STUB IITTrackCollection_get_ItemByPlayOrder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get_ItemByName_Proxy( 
-    IITTrackCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-
-
-void __RPC_STUB IITTrackCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITTrackCollection_get__NewEnum_Proxy( 
-    IITTrackCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITTrackCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITTrackCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITVisual_INTERFACE_DEFINED__
-#define __IITVisual_INTERFACE_DEFINED__
-
-/* interface IITVisual */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITVisual;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("340F3315-ED72-4c09-9ACF-21EB4BDF9931")
-    IITVisual : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
-            /* [retval][out] */ BSTR __RPC_FAR *name) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITVisualVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITVisual __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITVisual __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITVisual __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITVisual __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITVisual __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITVisual __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITVisual __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITVisual __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        END_INTERFACE
-    } IITVisualVtbl;
-
-    interface IITVisual
-    {
-        CONST_VTBL struct IITVisualVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITVisual_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITVisual_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITVisual_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITVisual_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITVisual_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITVisual_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITVisual_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITVisual_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisual_get_Name_Proxy( 
-    IITVisual __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *name);
-
-
-void __RPC_STUB IITVisual_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITVisual_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITVisualCollection_INTERFACE_DEFINED__
-#define __IITVisualCollection_INTERFACE_DEFINED__
-
-/* interface IITVisualCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITVisualCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("88A4CCDD-114F-4043-B69B-84D4E6274957")
-    IITVisualCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITVisualCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITVisualCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITVisualCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITVisualCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITVisualCollectionVtbl;
-
-    interface IITVisualCollection
-    {
-        CONST_VTBL struct IITVisualCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITVisualCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITVisualCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITVisualCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITVisualCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITVisualCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITVisualCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITVisualCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITVisualCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITVisualCollection_get_Item(This,index,iVisual)	\
-    (This)->lpVtbl -> get_Item(This,index,iVisual)
-
-#define IITVisualCollection_get_ItemByName(This,name,iVisual)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iVisual)
-
-#define IITVisualCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Count_Proxy( 
-    IITVisualCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITVisualCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_Item_Proxy( 
-    IITVisualCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-
-
-void __RPC_STUB IITVisualCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get_ItemByName_Proxy( 
-    IITVisualCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-
-
-void __RPC_STUB IITVisualCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITVisualCollection_get__NewEnum_Proxy( 
-    IITVisualCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITVisualCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITVisualCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITWindow_INTERFACE_DEFINED__
-#define __IITWindow_INTERFACE_DEFINED__
-
-/* interface IITWindow */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITWindow;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("370D7BE0-3A89-4a42-B902-C75FC138BE09")
-    IITWindow : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
-            /* [retval][out] */ BSTR __RPC_FAR *name) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Kind( 
-            /* [retval][out] */ ITWindowKind __RPC_FAR *kind) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visible( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Visible( 
-            /* [in] */ VARIANT_BOOL shouldBeVisible) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Resizable( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isResizable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Minimized( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMinimized) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Minimized( 
-            /* [in] */ VARIANT_BOOL shouldBeMinimized) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximizable( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximizable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Maximized( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximized) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Maximized( 
-            /* [in] */ VARIANT_BOOL shouldBeMaximized) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomable( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Zoomed( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomed) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Zoomed( 
-            /* [in] */ VARIANT_BOOL shouldBeZoomed) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Top( 
-            /* [retval][out] */ long __RPC_FAR *top) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Top( 
-            /* [in] */ long top) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Left( 
-            /* [retval][out] */ long __RPC_FAR *left) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Left( 
-            /* [in] */ long left) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Bottom( 
-            /* [retval][out] */ long __RPC_FAR *bottom) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Bottom( 
-            /* [in] */ long bottom) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Right( 
-            /* [retval][out] */ long __RPC_FAR *right) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Right( 
-            /* [in] */ long right) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Width( 
-            /* [retval][out] */ long __RPC_FAR *width) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Width( 
-            /* [in] */ long width) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Height( 
-            /* [retval][out] */ long __RPC_FAR *height) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Height( 
-            /* [in] */ long height) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITWindowVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITWindow __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITWindow __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITWindow __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ ITWindowKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resizable )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isResizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Minimized )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMinimized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Minimized )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMinimized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximizable )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximized )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Maximized )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMaximized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomable )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomed )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomed);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Zoomed )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeZoomed);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Top )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *top);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Top )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long top);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Left )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *left);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Left )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long left);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bottom )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bottom);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bottom )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long bottom);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Right )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *right);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Right )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long right);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *width);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long width);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
-            IITWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *height);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
-            IITWindow __RPC_FAR * This,
-            /* [in] */ long height);
-        
-        END_INTERFACE
-    } IITWindowVtbl;
-
-    interface IITWindow
-    {
-        CONST_VTBL struct IITWindowVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITWindow_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITWindow_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITWindow_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITWindow_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITWindow_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITWindow_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITWindow_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITWindow_put_Visible(This,shouldBeVisible)	\
-    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)
-
-#define IITWindow_get_Resizable(This,isResizable)	\
-    (This)->lpVtbl -> get_Resizable(This,isResizable)
-
-#define IITWindow_get_Minimized(This,isMinimized)	\
-    (This)->lpVtbl -> get_Minimized(This,isMinimized)
-
-#define IITWindow_put_Minimized(This,shouldBeMinimized)	\
-    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)
-
-#define IITWindow_get_Maximizable(This,isMaximizable)	\
-    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)
-
-#define IITWindow_get_Maximized(This,isMaximized)	\
-    (This)->lpVtbl -> get_Maximized(This,isMaximized)
-
-#define IITWindow_put_Maximized(This,shouldBeMaximized)	\
-    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)
-
-#define IITWindow_get_Zoomable(This,isZoomable)	\
-    (This)->lpVtbl -> get_Zoomable(This,isZoomable)
-
-#define IITWindow_get_Zoomed(This,isZoomed)	\
-    (This)->lpVtbl -> get_Zoomed(This,isZoomed)
-
-#define IITWindow_put_Zoomed(This,shouldBeZoomed)	\
-    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)
-
-#define IITWindow_get_Top(This,top)	\
-    (This)->lpVtbl -> get_Top(This,top)
-
-#define IITWindow_put_Top(This,top)	\
-    (This)->lpVtbl -> put_Top(This,top)
-
-#define IITWindow_get_Left(This,left)	\
-    (This)->lpVtbl -> get_Left(This,left)
-
-#define IITWindow_put_Left(This,left)	\
-    (This)->lpVtbl -> put_Left(This,left)
-
-#define IITWindow_get_Bottom(This,bottom)	\
-    (This)->lpVtbl -> get_Bottom(This,bottom)
-
-#define IITWindow_put_Bottom(This,bottom)	\
-    (This)->lpVtbl -> put_Bottom(This,bottom)
-
-#define IITWindow_get_Right(This,right)	\
-    (This)->lpVtbl -> get_Right(This,right)
-
-#define IITWindow_put_Right(This,right)	\
-    (This)->lpVtbl -> put_Right(This,right)
-
-#define IITWindow_get_Width(This,width)	\
-    (This)->lpVtbl -> get_Width(This,width)
-
-#define IITWindow_put_Width(This,width)	\
-    (This)->lpVtbl -> put_Width(This,width)
-
-#define IITWindow_get_Height(This,height)	\
-    (This)->lpVtbl -> get_Height(This,height)
-
-#define IITWindow_put_Height(This,height)	\
-    (This)->lpVtbl -> put_Height(This,height)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Name_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *name);
-
-
-void __RPC_STUB IITWindow_get_Name_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Kind_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ ITWindowKind __RPC_FAR *kind);
-
-
-void __RPC_STUB IITWindow_get_Kind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Visible_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-
-
-void __RPC_STUB IITWindow_get_Visible_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Visible_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeVisible);
-
-
-void __RPC_STUB IITWindow_put_Visible_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Resizable_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isResizable);
-
-
-void __RPC_STUB IITWindow_get_Resizable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Minimized_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMinimized);
-
-
-void __RPC_STUB IITWindow_get_Minimized_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Minimized_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeMinimized);
-
-
-void __RPC_STUB IITWindow_put_Minimized_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximizable_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximizable);
-
-
-void __RPC_STUB IITWindow_get_Maximizable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Maximized_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximized);
-
-
-void __RPC_STUB IITWindow_get_Maximized_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Maximized_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeMaximized);
-
-
-void __RPC_STUB IITWindow_put_Maximized_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomable_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomable);
-
-
-void __RPC_STUB IITWindow_get_Zoomable_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Zoomed_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomed);
-
-
-void __RPC_STUB IITWindow_get_Zoomed_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Zoomed_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeZoomed);
-
-
-void __RPC_STUB IITWindow_put_Zoomed_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Top_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *top);
-
-
-void __RPC_STUB IITWindow_get_Top_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Top_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long top);
-
-
-void __RPC_STUB IITWindow_put_Top_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Left_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *left);
-
-
-void __RPC_STUB IITWindow_get_Left_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Left_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long left);
-
-
-void __RPC_STUB IITWindow_put_Left_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Bottom_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *bottom);
-
-
-void __RPC_STUB IITWindow_get_Bottom_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Bottom_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long bottom);
-
-
-void __RPC_STUB IITWindow_put_Bottom_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Right_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *right);
-
-
-void __RPC_STUB IITWindow_get_Right_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Right_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long right);
-
-
-void __RPC_STUB IITWindow_put_Right_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Width_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *width);
-
-
-void __RPC_STUB IITWindow_get_Width_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Width_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long width);
-
-
-void __RPC_STUB IITWindow_put_Width_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindow_get_Height_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *height);
-
-
-void __RPC_STUB IITWindow_get_Height_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITWindow_put_Height_Proxy( 
-    IITWindow __RPC_FAR * This,
-    /* [in] */ long height);
-
-
-void __RPC_STUB IITWindow_put_Height_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITWindow_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITBrowserWindow_INTERFACE_DEFINED__
-#define __IITBrowserWindow_INTERFACE_DEFINED__
-
-/* interface IITBrowserWindow */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITBrowserWindow;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("C999F455-C4D5-4aa4-8277-F99753699974")
-    IITBrowserWindow : public IITWindow
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_MiniPlayer( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMiniPlayer) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_MiniPlayer( 
-            /* [in] */ VARIANT_BOOL shouldBeMiniPlayer) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedPlaylist( 
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SelectedPlaylist( 
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITBrowserWindowVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITBrowserWindow __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITBrowserWindow __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ ITWindowKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resizable )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isResizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Minimized )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMinimized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Minimized )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMinimized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximizable )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximized )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Maximized )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMaximized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomable )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomed )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomed);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Zoomed )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeZoomed);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Top )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *top);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Top )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long top);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Left )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *left);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Left )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long left);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bottom )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bottom);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bottom )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long bottom);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Right )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *right);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Right )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long right);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *width);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long width);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *height);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ long height);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_MiniPlayer )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMiniPlayer);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_MiniPlayer )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMiniPlayer);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectedTracks )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectedPlaylist )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SelectedPlaylist )( 
-            IITBrowserWindow __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist);
-        
-        END_INTERFACE
-    } IITBrowserWindowVtbl;
-
-    interface IITBrowserWindow
-    {
-        CONST_VTBL struct IITBrowserWindowVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITBrowserWindow_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITBrowserWindow_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITBrowserWindow_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITBrowserWindow_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITBrowserWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITBrowserWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITBrowserWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITBrowserWindow_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITBrowserWindow_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITBrowserWindow_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITBrowserWindow_put_Visible(This,shouldBeVisible)	\
-    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)
-
-#define IITBrowserWindow_get_Resizable(This,isResizable)	\
-    (This)->lpVtbl -> get_Resizable(This,isResizable)
-
-#define IITBrowserWindow_get_Minimized(This,isMinimized)	\
-    (This)->lpVtbl -> get_Minimized(This,isMinimized)
-
-#define IITBrowserWindow_put_Minimized(This,shouldBeMinimized)	\
-    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)
-
-#define IITBrowserWindow_get_Maximizable(This,isMaximizable)	\
-    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)
-
-#define IITBrowserWindow_get_Maximized(This,isMaximized)	\
-    (This)->lpVtbl -> get_Maximized(This,isMaximized)
-
-#define IITBrowserWindow_put_Maximized(This,shouldBeMaximized)	\
-    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)
-
-#define IITBrowserWindow_get_Zoomable(This,isZoomable)	\
-    (This)->lpVtbl -> get_Zoomable(This,isZoomable)
-
-#define IITBrowserWindow_get_Zoomed(This,isZoomed)	\
-    (This)->lpVtbl -> get_Zoomed(This,isZoomed)
-
-#define IITBrowserWindow_put_Zoomed(This,shouldBeZoomed)	\
-    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)
-
-#define IITBrowserWindow_get_Top(This,top)	\
-    (This)->lpVtbl -> get_Top(This,top)
-
-#define IITBrowserWindow_put_Top(This,top)	\
-    (This)->lpVtbl -> put_Top(This,top)
-
-#define IITBrowserWindow_get_Left(This,left)	\
-    (This)->lpVtbl -> get_Left(This,left)
-
-#define IITBrowserWindow_put_Left(This,left)	\
-    (This)->lpVtbl -> put_Left(This,left)
-
-#define IITBrowserWindow_get_Bottom(This,bottom)	\
-    (This)->lpVtbl -> get_Bottom(This,bottom)
-
-#define IITBrowserWindow_put_Bottom(This,bottom)	\
-    (This)->lpVtbl -> put_Bottom(This,bottom)
-
-#define IITBrowserWindow_get_Right(This,right)	\
-    (This)->lpVtbl -> get_Right(This,right)
-
-#define IITBrowserWindow_put_Right(This,right)	\
-    (This)->lpVtbl -> put_Right(This,right)
-
-#define IITBrowserWindow_get_Width(This,width)	\
-    (This)->lpVtbl -> get_Width(This,width)
-
-#define IITBrowserWindow_put_Width(This,width)	\
-    (This)->lpVtbl -> put_Width(This,width)
-
-#define IITBrowserWindow_get_Height(This,height)	\
-    (This)->lpVtbl -> get_Height(This,height)
-
-#define IITBrowserWindow_put_Height(This,height)	\
-    (This)->lpVtbl -> put_Height(This,height)
-
-
-#define IITBrowserWindow_get_MiniPlayer(This,isMiniPlayer)	\
-    (This)->lpVtbl -> get_MiniPlayer(This,isMiniPlayer)
-
-#define IITBrowserWindow_put_MiniPlayer(This,shouldBeMiniPlayer)	\
-    (This)->lpVtbl -> put_MiniPlayer(This,shouldBeMiniPlayer)
-
-#define IITBrowserWindow_get_SelectedTracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)
-
-#define IITBrowserWindow_get_SelectedPlaylist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_SelectedPlaylist(This,iPlaylist)
-
-#define IITBrowserWindow_put_SelectedPlaylist(This,iPlaylist)	\
-    (This)->lpVtbl -> put_SelectedPlaylist(This,iPlaylist)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_MiniPlayer_Proxy( 
-    IITBrowserWindow __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMiniPlayer);
-
-
-void __RPC_STUB IITBrowserWindow_get_MiniPlayer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_MiniPlayer_Proxy( 
-    IITBrowserWindow __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldBeMiniPlayer);
-
-
-void __RPC_STUB IITBrowserWindow_put_MiniPlayer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedTracks_Proxy( 
-    IITBrowserWindow __RPC_FAR * This,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IITBrowserWindow_get_SelectedTracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_get_SelectedPlaylist_Proxy( 
-    IITBrowserWindow __RPC_FAR * This,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITBrowserWindow_get_SelectedPlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITBrowserWindow_put_SelectedPlaylist_Proxy( 
-    IITBrowserWindow __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITBrowserWindow_put_SelectedPlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITBrowserWindow_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITWindowCollection_INTERFACE_DEFINED__
-#define __IITWindowCollection_INTERFACE_DEFINED__
-
-/* interface IITWindowCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITWindowCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("3D8DE381-6C0E-481f-A865-E2385F59FA43")
-    IITWindowCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITWindowCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITWindowCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITWindowCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITWindowCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITWindowCollectionVtbl;
-
-    interface IITWindowCollection
-    {
-        CONST_VTBL struct IITWindowCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITWindowCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITWindowCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITWindowCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITWindowCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITWindowCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITWindowCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITWindowCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITWindowCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITWindowCollection_get_Item(This,index,iWindow)	\
-    (This)->lpVtbl -> get_Item(This,index,iWindow)
-
-#define IITWindowCollection_get_ItemByName(This,name,iWindow)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iWindow)
-
-#define IITWindowCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Count_Proxy( 
-    IITWindowCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITWindowCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_Item_Proxy( 
-    IITWindowCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow);
-
-
-void __RPC_STUB IITWindowCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get_ItemByName_Proxy( 
-    IITWindowCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iWindow);
-
-
-void __RPC_STUB IITWindowCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITWindowCollection_get__NewEnum_Proxy( 
-    IITWindowCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITWindowCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITWindowCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IiTunes_INTERFACE_DEFINED__
-#define __IiTunes_INTERFACE_DEFINED__
-
-/* interface IiTunes */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-
-
-EXTERN_C const IID IID_IiTunes;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("9DD6680B-3EDC-40db-A771-E6FE4832E34A")
-    IiTunes : public IDispatch
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE BackTrack( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE FastForward( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE NextTrack( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Pause( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Play( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayFile( 
-            /* [in] */ BSTR filePath) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayPause( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PreviousTrack( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Resume( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Rewind( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Stop( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile( 
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles( 
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack( 
-            /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks( 
-            /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CheckVersion( 
-            /* [in] */ long majorVersion,
-            /* [in] */ long minorVersion,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompatible) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetITObjectByID( 
-            /* [in] */ long sourceID,
-            /* [in] */ long playlistID,
-            /* [in] */ long trackID,
-            /* [in] */ long databaseID,
-            /* [retval][out] */ IITObject __RPC_FAR *__RPC_FAR *iObject) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylist( 
-            /* [in] */ BSTR playlistName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE OpenURL( 
-            /* [in] */ BSTR url) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GotoMusicStoreHomePage( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Authorize( 
-            /* [in] */ long numElems,
-            /* [size_is][in] */ VARIANT __RPC_FAR data[  ],
-            /* [size_is][in] */ BSTR __RPC_FAR names[  ]) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Quit( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Sources( 
-            /* [retval][out] */ IITSourceCollection __RPC_FAR *__RPC_FAR *iSourceCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Encoders( 
-            /* [retval][out] */ IITEncoderCollection __RPC_FAR *__RPC_FAR *iEncoderCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQPresets( 
-            /* [retval][out] */ IITEQPresetCollection __RPC_FAR *__RPC_FAR *iEQPresetCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Visuals( 
-            /* [retval][out] */ IITVisualCollection __RPC_FAR *__RPC_FAR *iVisualCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Windows( 
-            /* [retval][out] */ IITWindowCollection __RPC_FAR *__RPC_FAR *iWindowCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolume( 
-            /* [retval][out] */ long __RPC_FAR *volume) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_SoundVolume( 
-            /* [in] */ long volume) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Mute( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMuted) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Mute( 
-            /* [in] */ VARIANT_BOOL shouldMute) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerState( 
-            /* [retval][out] */ ITPlayerState __RPC_FAR *playerState) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_PlayerPosition( 
-            /* [retval][out] */ long __RPC_FAR *playerPos) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_PlayerPosition( 
-            /* [in] */ long playerPos) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEncoder( 
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEncoder( 
-            /* [in] */ IITEncoder __RPC_FAR *iEncoder) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualsEnabled( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualsEnabled( 
-            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_FullScreenVisuals( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isFullScreen) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_FullScreenVisuals( 
-            /* [in] */ VARIANT_BOOL shouldUseFullScreen) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_VisualSize( 
-            /* [retval][out] */ ITVisualSize __RPC_FAR *visualSize) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_VisualSize( 
-            /* [in] */ ITVisualSize visualSize) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentVisual( 
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentVisual( 
-            /* [in] */ IITVisual __RPC_FAR *iVisual) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQEnabled( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_EQEnabled( 
-            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentEQPreset( 
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_CurrentEQPreset( 
-            /* [in] */ IITEQPreset __RPC_FAR *iEQPreset) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamTitle( 
-            /* [retval][out] */ BSTR __RPC_FAR *streamTitle) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentStreamURL( 
-            /* [retval][out] */ BSTR __RPC_FAR *streamURL) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BrowserWindow( 
-            /* [retval][out] */ IITBrowserWindow __RPC_FAR *__RPC_FAR *iBrowserWindow) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_EQWindow( 
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iEQWindow) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibrarySource( 
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iLibrarySource) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LibraryPlaylist( 
-            /* [retval][out] */ IITLibraryPlaylist __RPC_FAR *__RPC_FAR *iLibraryPlaylist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentTrack( 
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CurrentPlaylist( 
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Version( 
-            /* [retval][out] */ BSTR __RPC_FAR *version) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetOptions( 
-            /* [in] */ long options) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFile2( 
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertFiles2( 
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTrack2( 
-            /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE ConvertTracks2( 
-            /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_AppCommandMessageProcessingEnabled( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_AppCommandMessageProcessingEnabled( 
-            /* [in] */ VARIANT_BOOL shouldEnable) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ForceToForegroundOnDialog( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *forceToForegroundOnDialog) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ForceToForegroundOnDialog( 
-            /* [in] */ VARIANT_BOOL forceToForegroundOnDialog) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateEQPreset( 
-            /* [in] */ BSTR eqPresetName,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreatePlaylistInSource( 
-            /* [in] */ BSTR playlistName,
-            /* [in] */ VARIANT __RPC_FAR *iSource,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetPlayerButtonsState( 
-            /* [out] */ VARIANT_BOOL __RPC_FAR *previousEnabled,
-            /* [out] */ ITPlayButtonState __RPC_FAR *playPauseStopState,
-            /* [out] */ VARIANT_BOOL __RPC_FAR *nextEnabled) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE PlayerButtonClicked( 
-            /* [in] */ ITPlayerButton playerButton,
-            /* [in] */ long playerButtonModifierKeys) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetShuffle( 
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetShuffle) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_CanSetSongRepeat( 
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetSongRepeat) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ConvertOperationStatus( 
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SubscribeToPodcast( 
-            /* [in] */ BSTR url) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeeds( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolder( 
-            /* [in] */ BSTR folderName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateFolderInSource( 
-            /* [in] */ BSTR folderName,
-            /* [in] */ VARIANT __RPC_FAR *iSource,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoundVolumeControlEnabled( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IiTunesVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IiTunes __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IiTunes __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IiTunes __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *BackTrack )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *FastForward )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *NextTrack )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Pause )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFile )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR filePath);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayPause )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PreviousTrack )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Resume )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Rewind )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Stop )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertFile )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertFiles )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertTrack )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertTracks )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-            /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CheckVersion )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long majorVersion,
-            /* [in] */ long minorVersion,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompatible);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectByID )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long sourceID,
-            /* [in] */ long playlistID,
-            /* [in] */ long trackID,
-            /* [in] */ long databaseID,
-            /* [retval][out] */ IITObject __RPC_FAR *__RPC_FAR *iObject);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePlaylist )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR playlistName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *OpenURL )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR url);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GotoMusicStoreHomePage )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateIPod )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Authorize )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long numElems,
-            /* [size_is][in] */ VARIANT __RPC_FAR data[  ],
-            /* [size_is][in] */ BSTR __RPC_FAR names[  ]);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Quit )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Sources )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITSourceCollection __RPC_FAR *__RPC_FAR *iSourceCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Encoders )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITEncoderCollection __RPC_FAR *__RPC_FAR *iEncoderCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQPresets )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITEQPresetCollection __RPC_FAR *__RPC_FAR *iEQPresetCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visuals )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITVisualCollection __RPC_FAR *__RPC_FAR *iVisualCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Windows )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITWindowCollection __RPC_FAR *__RPC_FAR *iWindowCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SoundVolume )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *volume);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SoundVolume )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long volume);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Mute )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMuted);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Mute )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldMute);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayerState )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ ITPlayerState __RPC_FAR *playerState);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayerPosition )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playerPos);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayerPosition )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long playerPos);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentEncoder )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CurrentEncoder )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ IITEncoder __RPC_FAR *iEncoder);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisualsEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisualsEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldEnable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FullScreenVisuals )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isFullScreen);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_FullScreenVisuals )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldUseFullScreen);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VisualSize )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ ITVisualSize __RPC_FAR *visualSize);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VisualSize )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ ITVisualSize visualSize);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentVisual )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CurrentVisual )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ IITVisual __RPC_FAR *iVisual);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EQEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldEnable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentEQPreset )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_CurrentEQPreset )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ IITEQPreset __RPC_FAR *iEQPreset);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentStreamTitle )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *streamTitle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentStreamURL )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *streamURL);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BrowserWindow )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITBrowserWindow __RPC_FAR *__RPC_FAR *iBrowserWindow);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQWindow )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iEQWindow);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LibrarySource )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iLibrarySource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LibraryPlaylist )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITLibraryPlaylist __RPC_FAR *__RPC_FAR *iLibraryPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentTrack )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CurrentPlaylist )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectedTracks )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Version )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *version);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOptions )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ long options);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertFile2 )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertFiles2 )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *filePaths,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertTrack2 )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *ConvertTracks2 )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_AppCommandMessageProcessingEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_AppCommandMessageProcessingEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldEnable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ForceToForegroundOnDialog )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *forceToForegroundOnDialog);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ForceToForegroundOnDialog )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL forceToForegroundOnDialog);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateEQPreset )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR eqPresetName,
-            /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePlaylistInSource )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR playlistName,
-            /* [in] */ VARIANT __RPC_FAR *iSource,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPlayerButtonsState )( 
-            IiTunes __RPC_FAR * This,
-            /* [out] */ VARIANT_BOOL __RPC_FAR *previousEnabled,
-            /* [out] */ ITPlayButtonState __RPC_FAR *playPauseStopState,
-            /* [out] */ VARIANT_BOOL __RPC_FAR *nextEnabled);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayerButtonClicked )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ ITPlayerButton playerButton,
-            /* [in] */ long playerButtonModifierKeys);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CanSetShuffle )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CanSetSongRepeat )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetSongRepeat);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConvertOperationStatus )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SubscribeToPodcast )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR url);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdatePodcastFeeds )( 
-            IiTunes __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFolder )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR folderName,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateFolderInSource )( 
-            IiTunes __RPC_FAR * This,
-            /* [in] */ BSTR folderName,
-            /* [in] */ VARIANT __RPC_FAR *iSource,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SoundVolumeControlEnabled )( 
-            IiTunes __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        END_INTERFACE
-    } IiTunesVtbl;
-
-    interface IiTunes
-    {
-        CONST_VTBL struct IiTunesVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IiTunes_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IiTunes_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IiTunes_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IiTunes_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IiTunes_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IiTunes_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IiTunes_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IiTunes_BackTrack(This)	\
-    (This)->lpVtbl -> BackTrack(This)
-
-#define IiTunes_FastForward(This)	\
-    (This)->lpVtbl -> FastForward(This)
-
-#define IiTunes_NextTrack(This)	\
-    (This)->lpVtbl -> NextTrack(This)
-
-#define IiTunes_Pause(This)	\
-    (This)->lpVtbl -> Pause(This)
-
-#define IiTunes_Play(This)	\
-    (This)->lpVtbl -> Play(This)
-
-#define IiTunes_PlayFile(This,filePath)	\
-    (This)->lpVtbl -> PlayFile(This,filePath)
-
-#define IiTunes_PlayPause(This)	\
-    (This)->lpVtbl -> PlayPause(This)
-
-#define IiTunes_PreviousTrack(This)	\
-    (This)->lpVtbl -> PreviousTrack(This)
-
-#define IiTunes_Resume(This)	\
-    (This)->lpVtbl -> Resume(This)
-
-#define IiTunes_Rewind(This)	\
-    (This)->lpVtbl -> Rewind(This)
-
-#define IiTunes_Stop(This)	\
-    (This)->lpVtbl -> Stop(This)
-
-#define IiTunes_ConvertFile(This,filePath,iStatus)	\
-    (This)->lpVtbl -> ConvertFile(This,filePath,iStatus)
-
-#define IiTunes_ConvertFiles(This,filePaths,iStatus)	\
-    (This)->lpVtbl -> ConvertFiles(This,filePaths,iStatus)
-
-#define IiTunes_ConvertTrack(This,iTrackToConvert,iStatus)	\
-    (This)->lpVtbl -> ConvertTrack(This,iTrackToConvert,iStatus)
-
-#define IiTunes_ConvertTracks(This,iTracksToConvert,iStatus)	\
-    (This)->lpVtbl -> ConvertTracks(This,iTracksToConvert,iStatus)
-
-#define IiTunes_CheckVersion(This,majorVersion,minorVersion,isCompatible)	\
-    (This)->lpVtbl -> CheckVersion(This,majorVersion,minorVersion,isCompatible)
-
-#define IiTunes_GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject)	\
-    (This)->lpVtbl -> GetITObjectByID(This,sourceID,playlistID,trackID,databaseID,iObject)
-
-#define IiTunes_CreatePlaylist(This,playlistName,iPlaylist)	\
-    (This)->lpVtbl -> CreatePlaylist(This,playlistName,iPlaylist)
-
-#define IiTunes_OpenURL(This,url)	\
-    (This)->lpVtbl -> OpenURL(This,url)
-
-#define IiTunes_GotoMusicStoreHomePage(This)	\
-    (This)->lpVtbl -> GotoMusicStoreHomePage(This)
-
-#define IiTunes_UpdateIPod(This)	\
-    (This)->lpVtbl -> UpdateIPod(This)
-
-#define IiTunes_Authorize(This,numElems,data,names)	\
-    (This)->lpVtbl -> Authorize(This,numElems,data,names)
-
-#define IiTunes_Quit(This)	\
-    (This)->lpVtbl -> Quit(This)
-
-#define IiTunes_get_Sources(This,iSourceCollection)	\
-    (This)->lpVtbl -> get_Sources(This,iSourceCollection)
-
-#define IiTunes_get_Encoders(This,iEncoderCollection)	\
-    (This)->lpVtbl -> get_Encoders(This,iEncoderCollection)
-
-#define IiTunes_get_EQPresets(This,iEQPresetCollection)	\
-    (This)->lpVtbl -> get_EQPresets(This,iEQPresetCollection)
-
-#define IiTunes_get_Visuals(This,iVisualCollection)	\
-    (This)->lpVtbl -> get_Visuals(This,iVisualCollection)
-
-#define IiTunes_get_Windows(This,iWindowCollection)	\
-    (This)->lpVtbl -> get_Windows(This,iWindowCollection)
-
-#define IiTunes_get_SoundVolume(This,volume)	\
-    (This)->lpVtbl -> get_SoundVolume(This,volume)
-
-#define IiTunes_put_SoundVolume(This,volume)	\
-    (This)->lpVtbl -> put_SoundVolume(This,volume)
-
-#define IiTunes_get_Mute(This,isMuted)	\
-    (This)->lpVtbl -> get_Mute(This,isMuted)
-
-#define IiTunes_put_Mute(This,shouldMute)	\
-    (This)->lpVtbl -> put_Mute(This,shouldMute)
-
-#define IiTunes_get_PlayerState(This,playerState)	\
-    (This)->lpVtbl -> get_PlayerState(This,playerState)
-
-#define IiTunes_get_PlayerPosition(This,playerPos)	\
-    (This)->lpVtbl -> get_PlayerPosition(This,playerPos)
-
-#define IiTunes_put_PlayerPosition(This,playerPos)	\
-    (This)->lpVtbl -> put_PlayerPosition(This,playerPos)
-
-#define IiTunes_get_CurrentEncoder(This,iEncoder)	\
-    (This)->lpVtbl -> get_CurrentEncoder(This,iEncoder)
-
-#define IiTunes_put_CurrentEncoder(This,iEncoder)	\
-    (This)->lpVtbl -> put_CurrentEncoder(This,iEncoder)
-
-#define IiTunes_get_VisualsEnabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_VisualsEnabled(This,isEnabled)
-
-#define IiTunes_put_VisualsEnabled(This,shouldEnable)	\
-    (This)->lpVtbl -> put_VisualsEnabled(This,shouldEnable)
-
-#define IiTunes_get_FullScreenVisuals(This,isFullScreen)	\
-    (This)->lpVtbl -> get_FullScreenVisuals(This,isFullScreen)
-
-#define IiTunes_put_FullScreenVisuals(This,shouldUseFullScreen)	\
-    (This)->lpVtbl -> put_FullScreenVisuals(This,shouldUseFullScreen)
-
-#define IiTunes_get_VisualSize(This,visualSize)	\
-    (This)->lpVtbl -> get_VisualSize(This,visualSize)
-
-#define IiTunes_put_VisualSize(This,visualSize)	\
-    (This)->lpVtbl -> put_VisualSize(This,visualSize)
-
-#define IiTunes_get_CurrentVisual(This,iVisual)	\
-    (This)->lpVtbl -> get_CurrentVisual(This,iVisual)
-
-#define IiTunes_put_CurrentVisual(This,iVisual)	\
-    (This)->lpVtbl -> put_CurrentVisual(This,iVisual)
-
-#define IiTunes_get_EQEnabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_EQEnabled(This,isEnabled)
-
-#define IiTunes_put_EQEnabled(This,shouldEnable)	\
-    (This)->lpVtbl -> put_EQEnabled(This,shouldEnable)
-
-#define IiTunes_get_CurrentEQPreset(This,iEQPreset)	\
-    (This)->lpVtbl -> get_CurrentEQPreset(This,iEQPreset)
-
-#define IiTunes_put_CurrentEQPreset(This,iEQPreset)	\
-    (This)->lpVtbl -> put_CurrentEQPreset(This,iEQPreset)
-
-#define IiTunes_get_CurrentStreamTitle(This,streamTitle)	\
-    (This)->lpVtbl -> get_CurrentStreamTitle(This,streamTitle)
-
-#define IiTunes_get_CurrentStreamURL(This,streamURL)	\
-    (This)->lpVtbl -> get_CurrentStreamURL(This,streamURL)
-
-#define IiTunes_get_BrowserWindow(This,iBrowserWindow)	\
-    (This)->lpVtbl -> get_BrowserWindow(This,iBrowserWindow)
-
-#define IiTunes_get_EQWindow(This,iEQWindow)	\
-    (This)->lpVtbl -> get_EQWindow(This,iEQWindow)
-
-#define IiTunes_get_LibrarySource(This,iLibrarySource)	\
-    (This)->lpVtbl -> get_LibrarySource(This,iLibrarySource)
-
-#define IiTunes_get_LibraryPlaylist(This,iLibraryPlaylist)	\
-    (This)->lpVtbl -> get_LibraryPlaylist(This,iLibraryPlaylist)
-
-#define IiTunes_get_CurrentTrack(This,iTrack)	\
-    (This)->lpVtbl -> get_CurrentTrack(This,iTrack)
-
-#define IiTunes_get_CurrentPlaylist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_CurrentPlaylist(This,iPlaylist)
-
-#define IiTunes_get_SelectedTracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)
-
-#define IiTunes_get_Version(This,version)	\
-    (This)->lpVtbl -> get_Version(This,version)
-
-#define IiTunes_SetOptions(This,options)	\
-    (This)->lpVtbl -> SetOptions(This,options)
-
-#define IiTunes_ConvertFile2(This,filePath,iStatus)	\
-    (This)->lpVtbl -> ConvertFile2(This,filePath,iStatus)
-
-#define IiTunes_ConvertFiles2(This,filePaths,iStatus)	\
-    (This)->lpVtbl -> ConvertFiles2(This,filePaths,iStatus)
-
-#define IiTunes_ConvertTrack2(This,iTrackToConvert,iStatus)	\
-    (This)->lpVtbl -> ConvertTrack2(This,iTrackToConvert,iStatus)
-
-#define IiTunes_ConvertTracks2(This,iTracksToConvert,iStatus)	\
-    (This)->lpVtbl -> ConvertTracks2(This,iTracksToConvert,iStatus)
-
-#define IiTunes_get_AppCommandMessageProcessingEnabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_AppCommandMessageProcessingEnabled(This,isEnabled)
-
-#define IiTunes_put_AppCommandMessageProcessingEnabled(This,shouldEnable)	\
-    (This)->lpVtbl -> put_AppCommandMessageProcessingEnabled(This,shouldEnable)
-
-#define IiTunes_get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)	\
-    (This)->lpVtbl -> get_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)
-
-#define IiTunes_put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)	\
-    (This)->lpVtbl -> put_ForceToForegroundOnDialog(This,forceToForegroundOnDialog)
-
-#define IiTunes_CreateEQPreset(This,eqPresetName,iEQPreset)	\
-    (This)->lpVtbl -> CreateEQPreset(This,eqPresetName,iEQPreset)
-
-#define IiTunes_CreatePlaylistInSource(This,playlistName,iSource,iPlaylist)	\
-    (This)->lpVtbl -> CreatePlaylistInSource(This,playlistName,iSource,iPlaylist)
-
-#define IiTunes_GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled)	\
-    (This)->lpVtbl -> GetPlayerButtonsState(This,previousEnabled,playPauseStopState,nextEnabled)
-
-#define IiTunes_PlayerButtonClicked(This,playerButton,playerButtonModifierKeys)	\
-    (This)->lpVtbl -> PlayerButtonClicked(This,playerButton,playerButtonModifierKeys)
-
-#define IiTunes_get_CanSetShuffle(This,iPlaylist,canSetShuffle)	\
-    (This)->lpVtbl -> get_CanSetShuffle(This,iPlaylist,canSetShuffle)
-
-#define IiTunes_get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat)	\
-    (This)->lpVtbl -> get_CanSetSongRepeat(This,iPlaylist,canSetSongRepeat)
-
-#define IiTunes_get_ConvertOperationStatus(This,iStatus)	\
-    (This)->lpVtbl -> get_ConvertOperationStatus(This,iStatus)
-
-#define IiTunes_SubscribeToPodcast(This,url)	\
-    (This)->lpVtbl -> SubscribeToPodcast(This,url)
-
-#define IiTunes_UpdatePodcastFeeds(This)	\
-    (This)->lpVtbl -> UpdatePodcastFeeds(This)
-
-#define IiTunes_CreateFolder(This,folderName,iFolder)	\
-    (This)->lpVtbl -> CreateFolder(This,folderName,iFolder)
-
-#define IiTunes_CreateFolderInSource(This,folderName,iSource,iFolder)	\
-    (This)->lpVtbl -> CreateFolderInSource(This,folderName,iSource,iFolder)
-
-#define IiTunes_get_SoundVolumeControlEnabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_SoundVolumeControlEnabled(This,isEnabled)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_BackTrack_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_BackTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_FastForward_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_FastForward_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_NextTrack_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_NextTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Pause_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Pause_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Play_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Play_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayFile_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR filePath);
-
-
-void __RPC_STUB IiTunes_PlayFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayPause_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_PlayPause_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PreviousTrack_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_PreviousTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Resume_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Resume_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Rewind_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Rewind_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Stop_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Stop_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR filePath,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *filePaths,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertFiles_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-    /* [retval][out] */ IITOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertTracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CheckVersion_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long majorVersion,
-    /* [in] */ long minorVersion,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompatible);
-
-
-void __RPC_STUB IiTunes_CheckVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetITObjectByID_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long sourceID,
-    /* [in] */ long playlistID,
-    /* [in] */ long trackID,
-    /* [in] */ long databaseID,
-    /* [retval][out] */ IITObject __RPC_FAR *__RPC_FAR *iObject);
-
-
-void __RPC_STUB IiTunes_GetITObjectByID_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylist_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR playlistName,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IiTunes_CreatePlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_OpenURL_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR url);
-
-
-void __RPC_STUB IiTunes_OpenURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GotoMusicStoreHomePage_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_GotoMusicStoreHomePage_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdateIPod_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_UpdateIPod_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Authorize_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long numElems,
-    /* [size_is][in] */ VARIANT __RPC_FAR data[  ],
-    /* [size_is][in] */ BSTR __RPC_FAR names[  ]);
-
-
-void __RPC_STUB IiTunes_Authorize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_Quit_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_Quit_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Sources_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITSourceCollection __RPC_FAR *__RPC_FAR *iSourceCollection);
-
-
-void __RPC_STUB IiTunes_get_Sources_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Encoders_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITEncoderCollection __RPC_FAR *__RPC_FAR *iEncoderCollection);
-
-
-void __RPC_STUB IiTunes_get_Encoders_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQPresets_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITEQPresetCollection __RPC_FAR *__RPC_FAR *iEQPresetCollection);
-
-
-void __RPC_STUB IiTunes_get_EQPresets_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Visuals_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITVisualCollection __RPC_FAR *__RPC_FAR *iVisualCollection);
-
-
-void __RPC_STUB IiTunes_get_Visuals_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Windows_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITWindowCollection __RPC_FAR *__RPC_FAR *iWindowCollection);
-
-
-void __RPC_STUB IiTunes_get_Windows_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolume_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *volume);
-
-
-void __RPC_STUB IiTunes_get_SoundVolume_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_SoundVolume_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long volume);
-
-
-void __RPC_STUB IiTunes_put_SoundVolume_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Mute_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMuted);
-
-
-void __RPC_STUB IiTunes_get_Mute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_Mute_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldMute);
-
-
-void __RPC_STUB IiTunes_put_Mute_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerState_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ ITPlayerState __RPC_FAR *playerState);
-
-
-void __RPC_STUB IiTunes_get_PlayerState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_PlayerPosition_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *playerPos);
-
-
-void __RPC_STUB IiTunes_get_PlayerPosition_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_PlayerPosition_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long playerPos);
-
-
-void __RPC_STUB IiTunes_put_PlayerPosition_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEncoder_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITEncoder __RPC_FAR *__RPC_FAR *iEncoder);
-
-
-void __RPC_STUB IiTunes_get_CurrentEncoder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEncoder_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ IITEncoder __RPC_FAR *iEncoder);
-
-
-void __RPC_STUB IiTunes_put_CurrentEncoder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualsEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-
-
-void __RPC_STUB IiTunes_get_VisualsEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualsEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldEnable);
-
-
-void __RPC_STUB IiTunes_put_VisualsEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_FullScreenVisuals_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isFullScreen);
-
-
-void __RPC_STUB IiTunes_get_FullScreenVisuals_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_FullScreenVisuals_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldUseFullScreen);
-
-
-void __RPC_STUB IiTunes_put_FullScreenVisuals_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_VisualSize_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ ITVisualSize __RPC_FAR *visualSize);
-
-
-void __RPC_STUB IiTunes_get_VisualSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_VisualSize_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ ITVisualSize visualSize);
-
-
-void __RPC_STUB IiTunes_put_VisualSize_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentVisual_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITVisual __RPC_FAR *__RPC_FAR *iVisual);
-
-
-void __RPC_STUB IiTunes_get_CurrentVisual_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentVisual_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ IITVisual __RPC_FAR *iVisual);
-
-
-void __RPC_STUB IiTunes_put_CurrentVisual_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-
-
-void __RPC_STUB IiTunes_get_EQEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_EQEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldEnable);
-
-
-void __RPC_STUB IiTunes_put_EQEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentEQPreset_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-
-
-void __RPC_STUB IiTunes_get_CurrentEQPreset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_CurrentEQPreset_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ IITEQPreset __RPC_FAR *iEQPreset);
-
-
-void __RPC_STUB IiTunes_put_CurrentEQPreset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamTitle_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *streamTitle);
-
-
-void __RPC_STUB IiTunes_get_CurrentStreamTitle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentStreamURL_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *streamURL);
-
-
-void __RPC_STUB IiTunes_get_CurrentStreamURL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_BrowserWindow_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITBrowserWindow __RPC_FAR *__RPC_FAR *iBrowserWindow);
-
-
-void __RPC_STUB IiTunes_get_BrowserWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_EQWindow_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITWindow __RPC_FAR *__RPC_FAR *iEQWindow);
-
-
-void __RPC_STUB IiTunes_get_EQWindow_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibrarySource_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iLibrarySource);
-
-
-void __RPC_STUB IiTunes_get_LibrarySource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_LibraryPlaylist_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITLibraryPlaylist __RPC_FAR *__RPC_FAR *iLibraryPlaylist);
-
-
-void __RPC_STUB IiTunes_get_LibraryPlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentTrack_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITTrack __RPC_FAR *__RPC_FAR *iTrack);
-
-
-void __RPC_STUB IiTunes_get_CurrentTrack_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CurrentPlaylist_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IiTunes_get_CurrentPlaylist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SelectedTracks_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IiTunes_get_SelectedTracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_Version_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *version);
-
-
-void __RPC_STUB IiTunes_get_Version_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SetOptions_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ long options);
-
-
-void __RPC_STUB IiTunes_SetOptions_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFile2_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR filePath,
-    /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertFile2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertFiles2_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *filePaths,
-    /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertFiles2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTrack2_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTrackToConvert,
-    /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertTrack2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_ConvertTracks2_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iTracksToConvert,
-    /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_ConvertTracks2_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_AppCommandMessageProcessingEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-
-
-void __RPC_STUB IiTunes_get_AppCommandMessageProcessingEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_AppCommandMessageProcessingEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldEnable);
-
-
-void __RPC_STUB IiTunes_put_AppCommandMessageProcessingEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ForceToForegroundOnDialog_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *forceToForegroundOnDialog);
-
-
-void __RPC_STUB IiTunes_get_ForceToForegroundOnDialog_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IiTunes_put_ForceToForegroundOnDialog_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL forceToForegroundOnDialog);
-
-
-void __RPC_STUB IiTunes_put_ForceToForegroundOnDialog_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateEQPreset_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR eqPresetName,
-    /* [retval][out] */ IITEQPreset __RPC_FAR *__RPC_FAR *iEQPreset);
-
-
-void __RPC_STUB IiTunes_CreateEQPreset_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreatePlaylistInSource_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR playlistName,
-    /* [in] */ VARIANT __RPC_FAR *iSource,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IiTunes_CreatePlaylistInSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_GetPlayerButtonsState_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [out] */ VARIANT_BOOL __RPC_FAR *previousEnabled,
-    /* [out] */ ITPlayButtonState __RPC_FAR *playPauseStopState,
-    /* [out] */ VARIANT_BOOL __RPC_FAR *nextEnabled);
-
-
-void __RPC_STUB IiTunes_GetPlayerButtonsState_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_PlayerButtonClicked_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ ITPlayerButton playerButton,
-    /* [in] */ long playerButtonModifierKeys);
-
-
-void __RPC_STUB IiTunes_PlayerButtonClicked_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetShuffle_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetShuffle);
-
-
-void __RPC_STUB IiTunes_get_CanSetShuffle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_CanSetSongRepeat_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ VARIANT __RPC_FAR *iPlaylist,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *canSetSongRepeat);
-
-
-void __RPC_STUB IiTunes_get_CanSetSongRepeat_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_ConvertOperationStatus_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ IITConvertOperationStatus __RPC_FAR *__RPC_FAR *iStatus);
-
-
-void __RPC_STUB IiTunes_get_ConvertOperationStatus_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_SubscribeToPodcast_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR url);
-
-
-void __RPC_STUB IiTunes_SubscribeToPodcast_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_UpdatePodcastFeeds_Proxy( 
-    IiTunes __RPC_FAR * This);
-
-
-void __RPC_STUB IiTunes_UpdatePodcastFeeds_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolder_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR folderName,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-
-
-void __RPC_STUB IiTunes_CreateFolder_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IiTunes_CreateFolderInSource_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [in] */ BSTR folderName,
-    /* [in] */ VARIANT __RPC_FAR *iSource,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iFolder);
-
-
-void __RPC_STUB IiTunes_CreateFolderInSource_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IiTunes_get_SoundVolumeControlEnabled_Proxy( 
-    IiTunes __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-
-
-void __RPC_STUB IiTunes_get_SoundVolumeControlEnabled_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IiTunes_INTERFACE_DEFINED__ */
-
-
-#ifndef ___IiTunesEvents_DISPINTERFACE_DEFINED__
-#define ___IiTunesEvents_DISPINTERFACE_DEFINED__
-
-/* dispinterface _IiTunesEvents */
-/* [helpstring][uuid] */ 
-
-
-EXTERN_C const IID DIID__IiTunesEvents;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
-    MIDL_INTERFACE("5846EB78-317E-4b6f-B0C3-11EE8C8FEEF2")
-    _IiTunesEvents : public IDispatch
-    {
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct _IiTunesEventsVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            _IiTunesEvents __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            _IiTunesEvents __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            _IiTunesEvents __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            _IiTunesEvents __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            _IiTunesEvents __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            _IiTunesEvents __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            _IiTunesEvents __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        END_INTERFACE
-    } _IiTunesEventsVtbl;
-
-    interface _IiTunesEvents
-    {
-        CONST_VTBL struct _IiTunesEventsVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define _IiTunesEvents_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define _IiTunesEvents_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define _IiTunesEvents_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define _IiTunesEvents_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define _IiTunesEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define _IiTunesEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define _IiTunesEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-#endif 	/* ___IiTunesEvents_DISPINTERFACE_DEFINED__ */
-
-
-#ifndef ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__
-#define ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__
-
-/* dispinterface _IITConvertOperationStatusEvents */
-/* [helpstring][uuid] */ 
-
-
-EXTERN_C const IID DIID__IITConvertOperationStatusEvents;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-
-    MIDL_INTERFACE("5C47A705-8E8A-45a1-9EED-71C993F0BF60")
-    _IITConvertOperationStatusEvents : public IDispatch
-    {
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct _IITConvertOperationStatusEventsVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            _IITConvertOperationStatusEvents __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        END_INTERFACE
-    } _IITConvertOperationStatusEventsVtbl;
-
-    interface _IITConvertOperationStatusEvents
-    {
-        CONST_VTBL struct _IITConvertOperationStatusEventsVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define _IITConvertOperationStatusEvents_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define _IITConvertOperationStatusEvents_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define _IITConvertOperationStatusEvents_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define _IITConvertOperationStatusEvents_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define _IITConvertOperationStatusEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define _IITConvertOperationStatusEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define _IITConvertOperationStatusEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-#endif 	/* ___IITConvertOperationStatusEvents_DISPINTERFACE_DEFINED__ */
-
-
-EXTERN_C const CLSID CLSID_iTunesApp;
-
-#ifdef __cplusplus
-
-class DECLSPEC_UUID("DC0C2640-1415-4644-875C-6F4D769839BA")
-iTunesApp;
-#endif
-
-EXTERN_C const CLSID CLSID_iTunesConvertOperationStatus;
-
-#ifdef __cplusplus
-
-class DECLSPEC_UUID("D06596AD-C900-41b2-BC68-1B486450FC56")
-iTunesConvertOperationStatus;
-#endif
-
-#ifndef __IITArtwork_INTERFACE_DEFINED__
-#define __IITArtwork_INTERFACE_DEFINED__
-
-/* interface IITArtwork */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITArtwork;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("D0A6C1F8-BF3D-4cd8-AC47-FE32BDD17257")
-    IITArtwork : public IDispatch
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Delete( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SetArtworkFromFile( 
-            /* [in] */ BSTR filePath) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE SaveArtworkToFile( 
-            /* [in] */ BSTR filePath) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Format( 
-            /* [retval][out] */ ITArtworkFormat __RPC_FAR *format) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITArtworkVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITArtwork __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITArtwork __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITArtwork __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITArtwork __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetArtworkFromFile )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ BSTR filePath);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SaveArtworkToFile )( 
-            IITArtwork __RPC_FAR * This,
-            /* [in] */ BSTR filePath);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Format )( 
-            IITArtwork __RPC_FAR * This,
-            /* [retval][out] */ ITArtworkFormat __RPC_FAR *format);
-        
-        END_INTERFACE
-    } IITArtworkVtbl;
-
-    interface IITArtwork
-    {
-        CONST_VTBL struct IITArtworkVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITArtwork_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITArtwork_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITArtwork_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITArtwork_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITArtwork_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITArtwork_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITArtwork_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITArtwork_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITArtwork_SetArtworkFromFile(This,filePath)	\
-    (This)->lpVtbl -> SetArtworkFromFile(This,filePath)
-
-#define IITArtwork_SaveArtworkToFile(This,filePath)	\
-    (This)->lpVtbl -> SaveArtworkToFile(This,filePath)
-
-#define IITArtwork_get_Format(This,format)	\
-    (This)->lpVtbl -> get_Format(This,format)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_Delete_Proxy( 
-    IITArtwork __RPC_FAR * This);
-
-
-void __RPC_STUB IITArtwork_Delete_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SetArtworkFromFile_Proxy( 
-    IITArtwork __RPC_FAR * This,
-    /* [in] */ BSTR filePath);
-
-
-void __RPC_STUB IITArtwork_SetArtworkFromFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITArtwork_SaveArtworkToFile_Proxy( 
-    IITArtwork __RPC_FAR * This,
-    /* [in] */ BSTR filePath);
-
-
-void __RPC_STUB IITArtwork_SaveArtworkToFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtwork_get_Format_Proxy( 
-    IITArtwork __RPC_FAR * This,
-    /* [retval][out] */ ITArtworkFormat __RPC_FAR *format);
-
-
-void __RPC_STUB IITArtwork_get_Format_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITArtwork_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITArtworkCollection_INTERFACE_DEFINED__
-#define __IITArtworkCollection_INTERFACE_DEFINED__
-
-/* interface IITArtworkCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITArtworkCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("BF2742D7-418C-4858-9AF9-2981B062D23E")
-    IITArtworkCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITArtworkCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITArtworkCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITArtworkCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITArtworkCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITArtworkCollectionVtbl;
-
-    interface IITArtworkCollection
-    {
-        CONST_VTBL struct IITArtworkCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITArtworkCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITArtworkCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITArtworkCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITArtworkCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITArtworkCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITArtworkCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITArtworkCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITArtworkCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITArtworkCollection_get_Item(This,index,iArtwork)	\
-    (This)->lpVtbl -> get_Item(This,index,iArtwork)
-
-#define IITArtworkCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Count_Proxy( 
-    IITArtworkCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITArtworkCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get_Item_Proxy( 
-    IITArtworkCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-
-
-void __RPC_STUB IITArtworkCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITArtworkCollection_get__NewEnum_Proxy( 
-    IITArtworkCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITArtworkCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITArtworkCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITURLTrack_INTERFACE_DEFINED__
-#define __IITURLTrack_INTERFACE_DEFINED__
-
-/* interface IITURLTrack */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITURLTrack;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("1116E3B5-29FD-4393-A7BD-454E5E327900")
-    IITURLTrack : public IITTrack
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_URL( 
-            /* [retval][out] */ BSTR __RPC_FAR *url) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_URL( 
-            /* [in] */ BSTR url) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE DownloadPodcastEpisode( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
-            /* [retval][out] */ BSTR __RPC_FAR *category) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( 
-            /* [in] */ BSTR category) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
-            /* [retval][out] */ BSTR __RPC_FAR *description) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
-            /* [in] */ BSTR description) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( 
-            /* [retval][out] */ BSTR __RPC_FAR *longDescription) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( 
-            /* [in] */ BSTR longDescription) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITURLTrackVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArtworkFromFile )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ ITTrackKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlist )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Album )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *album);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Album )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR album);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artist )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *artist);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Artist )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR artist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BitRate )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bitrate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BPM )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *beatsPerMinute);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BPM )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long beatsPerMinute);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Comment )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *comment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Comment )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR comment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Compilation )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompilation);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Compilation )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeCompilation);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Composer )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *composer);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Composer )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR composer);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateAdded )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateAdded);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long discCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscNumber )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscNumber )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long discNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enabled )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enabled )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeEnabled);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQ )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EQ )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Finish )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Finish )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Genre )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *genre);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Genre )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR genre);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Grouping )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *grouping);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Grouping )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR grouping);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KindAsString )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModificationDate )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateModified);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playedCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long playedCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedDate )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *playedDate);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedDate )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ DATE playedDate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayOrderIndex )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rating )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *rating);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rating )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long rating);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SampleRate )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sampleRate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Start )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *start);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Start )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long start);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackCount )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long trackCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackNumber )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackNumber )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long trackNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VolumeAdjustment )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *volumeAdjustment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VolumeAdjustment )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long volumeAdjustment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Year )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *year);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Year )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ long year);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artwork )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ IITArtworkCollection __RPC_FAR *__RPC_FAR *iArtworkCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_URL )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *url);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_URL )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR url);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Podcast )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdatePodcastFeed )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DownloadPodcastEpisode )( 
-            IITURLTrack __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Category )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *category);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Category )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR category);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *description);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR description);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LongDescription )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *longDescription);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LongDescription )( 
-            IITURLTrack __RPC_FAR * This,
-            /* [in] */ BSTR longDescription);
-        
-        END_INTERFACE
-    } IITURLTrackVtbl;
-
-    interface IITURLTrack
-    {
-        CONST_VTBL struct IITURLTrackVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITURLTrack_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITURLTrack_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITURLTrack_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITURLTrack_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITURLTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITURLTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITURLTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITURLTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITURLTrack_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITURLTrack_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITURLTrack_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITURLTrack_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITURLTrack_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITURLTrack_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITURLTrack_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITURLTrack_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITURLTrack_Play(This)	\
-    (This)->lpVtbl -> Play(This)
-
-#define IITURLTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
-    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)
-
-#define IITURLTrack_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITURLTrack_get_Playlist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_Playlist(This,iPlaylist)
-
-#define IITURLTrack_get_Album(This,album)	\
-    (This)->lpVtbl -> get_Album(This,album)
-
-#define IITURLTrack_put_Album(This,album)	\
-    (This)->lpVtbl -> put_Album(This,album)
-
-#define IITURLTrack_get_Artist(This,artist)	\
-    (This)->lpVtbl -> get_Artist(This,artist)
-
-#define IITURLTrack_put_Artist(This,artist)	\
-    (This)->lpVtbl -> put_Artist(This,artist)
-
-#define IITURLTrack_get_BitRate(This,bitrate)	\
-    (This)->lpVtbl -> get_BitRate(This,bitrate)
-
-#define IITURLTrack_get_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)
-
-#define IITURLTrack_put_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)
-
-#define IITURLTrack_get_Comment(This,comment)	\
-    (This)->lpVtbl -> get_Comment(This,comment)
-
-#define IITURLTrack_put_Comment(This,comment)	\
-    (This)->lpVtbl -> put_Comment(This,comment)
-
-#define IITURLTrack_get_Compilation(This,isCompilation)	\
-    (This)->lpVtbl -> get_Compilation(This,isCompilation)
-
-#define IITURLTrack_put_Compilation(This,shouldBeCompilation)	\
-    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)
-
-#define IITURLTrack_get_Composer(This,composer)	\
-    (This)->lpVtbl -> get_Composer(This,composer)
-
-#define IITURLTrack_put_Composer(This,composer)	\
-    (This)->lpVtbl -> put_Composer(This,composer)
-
-#define IITURLTrack_get_DateAdded(This,dateAdded)	\
-    (This)->lpVtbl -> get_DateAdded(This,dateAdded)
-
-#define IITURLTrack_get_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> get_DiscCount(This,discCount)
-
-#define IITURLTrack_put_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> put_DiscCount(This,discCount)
-
-#define IITURLTrack_get_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> get_DiscNumber(This,discNumber)
-
-#define IITURLTrack_put_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> put_DiscNumber(This,discNumber)
-
-#define IITURLTrack_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITURLTrack_get_Enabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_Enabled(This,isEnabled)
-
-#define IITURLTrack_put_Enabled(This,shouldBeEnabled)	\
-    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)
-
-#define IITURLTrack_get_EQ(This,eq)	\
-    (This)->lpVtbl -> get_EQ(This,eq)
-
-#define IITURLTrack_put_EQ(This,eq)	\
-    (This)->lpVtbl -> put_EQ(This,eq)
-
-#define IITURLTrack_put_Finish(This,finish)	\
-    (This)->lpVtbl -> put_Finish(This,finish)
-
-#define IITURLTrack_get_Finish(This,finish)	\
-    (This)->lpVtbl -> get_Finish(This,finish)
-
-#define IITURLTrack_get_Genre(This,genre)	\
-    (This)->lpVtbl -> get_Genre(This,genre)
-
-#define IITURLTrack_put_Genre(This,genre)	\
-    (This)->lpVtbl -> put_Genre(This,genre)
-
-#define IITURLTrack_get_Grouping(This,grouping)	\
-    (This)->lpVtbl -> get_Grouping(This,grouping)
-
-#define IITURLTrack_put_Grouping(This,grouping)	\
-    (This)->lpVtbl -> put_Grouping(This,grouping)
-
-#define IITURLTrack_get_KindAsString(This,kind)	\
-    (This)->lpVtbl -> get_KindAsString(This,kind)
-
-#define IITURLTrack_get_ModificationDate(This,dateModified)	\
-    (This)->lpVtbl -> get_ModificationDate(This,dateModified)
-
-#define IITURLTrack_get_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> get_PlayedCount(This,playedCount)
-
-#define IITURLTrack_put_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> put_PlayedCount(This,playedCount)
-
-#define IITURLTrack_get_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> get_PlayedDate(This,playedDate)
-
-#define IITURLTrack_put_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> put_PlayedDate(This,playedDate)
-
-#define IITURLTrack_get_PlayOrderIndex(This,index)	\
-    (This)->lpVtbl -> get_PlayOrderIndex(This,index)
-
-#define IITURLTrack_get_Rating(This,rating)	\
-    (This)->lpVtbl -> get_Rating(This,rating)
-
-#define IITURLTrack_put_Rating(This,rating)	\
-    (This)->lpVtbl -> put_Rating(This,rating)
-
-#define IITURLTrack_get_SampleRate(This,sampleRate)	\
-    (This)->lpVtbl -> get_SampleRate(This,sampleRate)
-
-#define IITURLTrack_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITURLTrack_get_Start(This,start)	\
-    (This)->lpVtbl -> get_Start(This,start)
-
-#define IITURLTrack_put_Start(This,start)	\
-    (This)->lpVtbl -> put_Start(This,start)
-
-#define IITURLTrack_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITURLTrack_get_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> get_TrackCount(This,trackCount)
-
-#define IITURLTrack_put_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> put_TrackCount(This,trackCount)
-
-#define IITURLTrack_get_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)
-
-#define IITURLTrack_put_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)
-
-#define IITURLTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITURLTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITURLTrack_get_Year(This,year)	\
-    (This)->lpVtbl -> get_Year(This,year)
-
-#define IITURLTrack_put_Year(This,year)	\
-    (This)->lpVtbl -> put_Year(This,year)
-
-#define IITURLTrack_get_Artwork(This,iArtworkCollection)	\
-    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)
-
-
-#define IITURLTrack_get_URL(This,url)	\
-    (This)->lpVtbl -> get_URL(This,url)
-
-#define IITURLTrack_put_URL(This,url)	\
-    (This)->lpVtbl -> put_URL(This,url)
-
-#define IITURLTrack_get_Podcast(This,isPodcast)	\
-    (This)->lpVtbl -> get_Podcast(This,isPodcast)
-
-#define IITURLTrack_UpdatePodcastFeed(This)	\
-    (This)->lpVtbl -> UpdatePodcastFeed(This)
-
-#define IITURLTrack_DownloadPodcastEpisode(This)	\
-    (This)->lpVtbl -> DownloadPodcastEpisode(This)
-
-#define IITURLTrack_get_Category(This,category)	\
-    (This)->lpVtbl -> get_Category(This,category)
-
-#define IITURLTrack_put_Category(This,category)	\
-    (This)->lpVtbl -> put_Category(This,category)
-
-#define IITURLTrack_get_Description(This,description)	\
-    (This)->lpVtbl -> get_Description(This,description)
-
-#define IITURLTrack_put_Description(This,description)	\
-    (This)->lpVtbl -> put_Description(This,description)
-
-#define IITURLTrack_get_LongDescription(This,longDescription)	\
-    (This)->lpVtbl -> get_LongDescription(This,longDescription)
-
-#define IITURLTrack_put_LongDescription(This,longDescription)	\
-    (This)->lpVtbl -> put_LongDescription(This,longDescription)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_URL_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *url);
-
-
-void __RPC_STUB IITURLTrack_get_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_URL_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [in] */ BSTR url);
-
-
-void __RPC_STUB IITURLTrack_put_URL_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Podcast_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast);
-
-
-void __RPC_STUB IITURLTrack_get_Podcast_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_UpdatePodcastFeed_Proxy( 
-    IITURLTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITURLTrack_UpdatePodcastFeed_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITURLTrack_DownloadPodcastEpisode_Proxy( 
-    IITURLTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITURLTrack_DownloadPodcastEpisode_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Category_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *category);
-
-
-void __RPC_STUB IITURLTrack_get_Category_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Category_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [in] */ BSTR category);
-
-
-void __RPC_STUB IITURLTrack_put_Category_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_Description_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *description);
-
-
-void __RPC_STUB IITURLTrack_get_Description_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_Description_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [in] */ BSTR description);
-
-
-void __RPC_STUB IITURLTrack_put_Description_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITURLTrack_get_LongDescription_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *longDescription);
-
-
-void __RPC_STUB IITURLTrack_get_LongDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITURLTrack_put_LongDescription_Proxy( 
-    IITURLTrack __RPC_FAR * This,
-    /* [in] */ BSTR longDescription);
-
-
-void __RPC_STUB IITURLTrack_put_LongDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITURLTrack_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITAudioCDPlaylist_INTERFACE_DEFINED__
-#define __IITAudioCDPlaylist_INTERFACE_DEFINED__
-
-/* interface IITAudioCDPlaylist */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITAudioCDPlaylist;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("CF496DF3-0FED-4d7d-9BD8-529B6E8A082E")
-    IITAudioCDPlaylist : public IITPlaylist
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Artist( 
-            /* [retval][out] */ BSTR __RPC_FAR *artist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Compilation( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompiliation) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Composer( 
-            /* [retval][out] */ BSTR __RPC_FAR *composer) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscCount( 
-            /* [retval][out] */ long __RPC_FAR *discCount) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_DiscNumber( 
-            /* [retval][out] */ long __RPC_FAR *discNumber) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Genre( 
-            /* [retval][out] */ BSTR __RPC_FAR *genre) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Year( 
-            /* [retval][out] */ long __RPC_FAR *year) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITAudioCDPlaylistVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITAudioCDPlaylist __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITAudioCDPlaylist __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITAudioCDPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *PlayFirstTrack )( 
-            IITAudioCDPlaylist __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Print )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL showPrintDialog,
-            /* [in] */ ITPlaylistPrintKind printKind,
-            /* [in] */ BSTR theme);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Search )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ BSTR searchText,
-            /* [in] */ ITPlaylistSearchField searchFields,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Source )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITSource __RPC_FAR *__RPC_FAR *iSource);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Shuffle )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isShuffle);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Shuffle )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SongRepeat )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ ITPlaylistRepeatMode __RPC_FAR *repeatMode);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_SongRepeat )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [in] */ ITPlaylistRepeatMode repeatMode);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Tracks )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artist )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *artist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Compilation )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompiliation);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Composer )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *composer);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscCount )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscNumber )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Genre )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *genre);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Year )( 
-            IITAudioCDPlaylist __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *year);
-        
-        END_INTERFACE
-    } IITAudioCDPlaylistVtbl;
-
-    interface IITAudioCDPlaylist
-    {
-        CONST_VTBL struct IITAudioCDPlaylistVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITAudioCDPlaylist_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITAudioCDPlaylist_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITAudioCDPlaylist_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITAudioCDPlaylist_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITAudioCDPlaylist_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITAudioCDPlaylist_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITAudioCDPlaylist_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITAudioCDPlaylist_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITAudioCDPlaylist_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITAudioCDPlaylist_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITAudioCDPlaylist_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITAudioCDPlaylist_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITAudioCDPlaylist_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITAudioCDPlaylist_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITAudioCDPlaylist_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITAudioCDPlaylist_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITAudioCDPlaylist_PlayFirstTrack(This)	\
-    (This)->lpVtbl -> PlayFirstTrack(This)
-
-#define IITAudioCDPlaylist_Print(This,showPrintDialog,printKind,theme)	\
-    (This)->lpVtbl -> Print(This,showPrintDialog,printKind,theme)
-
-#define IITAudioCDPlaylist_Search(This,searchText,searchFields,iTrackCollection)	\
-    (This)->lpVtbl -> Search(This,searchText,searchFields,iTrackCollection)
-
-#define IITAudioCDPlaylist_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITAudioCDPlaylist_get_Source(This,iSource)	\
-    (This)->lpVtbl -> get_Source(This,iSource)
-
-#define IITAudioCDPlaylist_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITAudioCDPlaylist_get_Shuffle(This,isShuffle)	\
-    (This)->lpVtbl -> get_Shuffle(This,isShuffle)
-
-#define IITAudioCDPlaylist_put_Shuffle(This,shouldShuffle)	\
-    (This)->lpVtbl -> put_Shuffle(This,shouldShuffle)
-
-#define IITAudioCDPlaylist_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITAudioCDPlaylist_get_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> get_SongRepeat(This,repeatMode)
-
-#define IITAudioCDPlaylist_put_SongRepeat(This,repeatMode)	\
-    (This)->lpVtbl -> put_SongRepeat(This,repeatMode)
-
-#define IITAudioCDPlaylist_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITAudioCDPlaylist_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITAudioCDPlaylist_get_Tracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_Tracks(This,iTrackCollection)
-
-
-#define IITAudioCDPlaylist_get_Artist(This,artist)	\
-    (This)->lpVtbl -> get_Artist(This,artist)
-
-#define IITAudioCDPlaylist_get_Compilation(This,isCompiliation)	\
-    (This)->lpVtbl -> get_Compilation(This,isCompiliation)
-
-#define IITAudioCDPlaylist_get_Composer(This,composer)	\
-    (This)->lpVtbl -> get_Composer(This,composer)
-
-#define IITAudioCDPlaylist_get_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> get_DiscCount(This,discCount)
-
-#define IITAudioCDPlaylist_get_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> get_DiscNumber(This,discNumber)
-
-#define IITAudioCDPlaylist_get_Genre(This,genre)	\
-    (This)->lpVtbl -> get_Genre(This,genre)
-
-#define IITAudioCDPlaylist_get_Year(This,year)	\
-    (This)->lpVtbl -> get_Year(This,year)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Artist_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *artist);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_Artist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Compilation_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompiliation);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_Compilation_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Composer_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *composer);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_Composer_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscCount_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *discCount);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_DiscCount_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_DiscNumber_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *discNumber);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_DiscNumber_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Genre_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *genre);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_Genre_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITAudioCDPlaylist_get_Year_Proxy( 
-    IITAudioCDPlaylist __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *year);
-
-
-void __RPC_STUB IITAudioCDPlaylist_get_Year_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITAudioCDPlaylist_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITPlaylistCollection_INTERFACE_DEFINED__
-#define __IITPlaylistCollection_INTERFACE_DEFINED__
-
-/* interface IITPlaylistCollection */
-/* [unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITPlaylistCollection;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("FF194254-909D-4437-9C50-3AAC2AE6305C")
-    IITPlaylistCollection : public IDispatch
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
-            /* [retval][out] */ long __RPC_FAR *count) = 0;
-        
-        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Item( 
-            /* [in] */ long index,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ItemByName( 
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-        virtual /* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE get__NewEnum( 
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITPlaylistCollectionVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITPlaylistCollection __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITPlaylistCollection __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *count);
-        
-        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Item )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ long index,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ItemByName )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [in] */ BSTR name,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][restricted][id][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get__NewEnum )( 
-            IITPlaylistCollection __RPC_FAR * This,
-            /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-        
-        END_INTERFACE
-    } IITPlaylistCollectionVtbl;
-
-    interface IITPlaylistCollection
-    {
-        CONST_VTBL struct IITPlaylistCollectionVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITPlaylistCollection_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITPlaylistCollection_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITPlaylistCollection_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITPlaylistCollection_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITPlaylistCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITPlaylistCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITPlaylistCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITPlaylistCollection_get_Count(This,count)	\
-    (This)->lpVtbl -> get_Count(This,count)
-
-#define IITPlaylistCollection_get_Item(This,index,iPlaylist)	\
-    (This)->lpVtbl -> get_Item(This,index,iPlaylist)
-
-#define IITPlaylistCollection_get_ItemByName(This,name,iPlaylist)	\
-    (This)->lpVtbl -> get_ItemByName(This,name,iPlaylist)
-
-#define IITPlaylistCollection_get__NewEnum(This,iEnumerator)	\
-    (This)->lpVtbl -> get__NewEnum(This,iEnumerator)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Count_Proxy( 
-    IITPlaylistCollection __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *count);
-
-
-void __RPC_STUB IITPlaylistCollection_get_Count_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_Item_Proxy( 
-    IITPlaylistCollection __RPC_FAR * This,
-    /* [in] */ long index,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITPlaylistCollection_get_Item_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get_ItemByName_Proxy( 
-    IITPlaylistCollection __RPC_FAR * This,
-    /* [in] */ BSTR name,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITPlaylistCollection_get_ItemByName_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][restricted][id][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistCollection_get__NewEnum_Proxy( 
-    IITPlaylistCollection __RPC_FAR * This,
-    /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *iEnumerator);
-
-
-void __RPC_STUB IITPlaylistCollection_get__NewEnum_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITPlaylistCollection_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITIPodSource_INTERFACE_DEFINED__
-#define __IITIPodSource_INTERFACE_DEFINED__
-
-/* interface IITIPodSource */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITIPodSource;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("CF4D8ACE-1720-4fb9-B0AE-9877249E89B0")
-    IITIPodSource : public IITSource
-    {
-    public:
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateIPod( void) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE EjectIPod( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SoftwareVersion( 
-            /* [retval][out] */ BSTR __RPC_FAR *softwareVersion) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITIPodSourceVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITIPodSource __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITIPodSource __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ ITSourceKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Capacity )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *capacity);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_FreeSpace )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ double __RPC_FAR *freespace);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlists )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylistCollection __RPC_FAR *__RPC_FAR *iPlaylistCollection);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateIPod )( 
-            IITIPodSource __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EjectIPod )( 
-            IITIPodSource __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SoftwareVersion )( 
-            IITIPodSource __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *softwareVersion);
-        
-        END_INTERFACE
-    } IITIPodSourceVtbl;
-
-    interface IITIPodSource
-    {
-        CONST_VTBL struct IITIPodSourceVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITIPodSource_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITIPodSource_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITIPodSource_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITIPodSource_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITIPodSource_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITIPodSource_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITIPodSource_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITIPodSource_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITIPodSource_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITIPodSource_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITIPodSource_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITIPodSource_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITIPodSource_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITIPodSource_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITIPodSource_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITIPodSource_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITIPodSource_get_Capacity(This,capacity)	\
-    (This)->lpVtbl -> get_Capacity(This,capacity)
-
-#define IITIPodSource_get_FreeSpace(This,freespace)	\
-    (This)->lpVtbl -> get_FreeSpace(This,freespace)
-
-#define IITIPodSource_get_Playlists(This,iPlaylistCollection)	\
-    (This)->lpVtbl -> get_Playlists(This,iPlaylistCollection)
-
-
-#define IITIPodSource_UpdateIPod(This)	\
-    (This)->lpVtbl -> UpdateIPod(This)
-
-#define IITIPodSource_EjectIPod(This)	\
-    (This)->lpVtbl -> EjectIPod(This)
-
-#define IITIPodSource_get_SoftwareVersion(This,softwareVersion)	\
-    (This)->lpVtbl -> get_SoftwareVersion(This,softwareVersion)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_UpdateIPod_Proxy( 
-    IITIPodSource __RPC_FAR * This);
-
-
-void __RPC_STUB IITIPodSource_UpdateIPod_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITIPodSource_EjectIPod_Proxy( 
-    IITIPodSource __RPC_FAR * This);
-
-
-void __RPC_STUB IITIPodSource_EjectIPod_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITIPodSource_get_SoftwareVersion_Proxy( 
-    IITIPodSource __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *softwareVersion);
-
-
-void __RPC_STUB IITIPodSource_get_SoftwareVersion_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITIPodSource_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITFileOrCDTrack_INTERFACE_DEFINED__
-#define __IITFileOrCDTrack_INTERFACE_DEFINED__
-
-/* interface IITFileOrCDTrack */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITFileOrCDTrack;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("00D7FE99-7868-4cc7-AD9E-ACFD70D09566")
-    IITFileOrCDTrack : public IITTrack
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Location( 
-            /* [retval][out] */ BSTR __RPC_FAR *location) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdateInfoFromFile( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Podcast( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast) = 0;
-        
-        virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE UpdatePodcastFeed( void) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_RememberBookmark( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *rememberBookmark) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_RememberBookmark( 
-            /* [in] */ VARIANT_BOOL shouldRememberBookmark) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_ExcludeFromShuffle( 
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *excludeFromShuffle) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_ExcludeFromShuffle( 
-            /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Lyrics( 
-            /* [retval][out] */ BSTR __RPC_FAR *lyrics) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Lyrics( 
-            /* [in] */ BSTR lyrics) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Category( 
-            /* [retval][out] */ BSTR __RPC_FAR *category) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Category( 
-            /* [in] */ BSTR category) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Description( 
-            /* [retval][out] */ BSTR __RPC_FAR *description) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_Description( 
-            /* [in] */ BSTR description) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_LongDescription( 
-            /* [retval][out] */ BSTR __RPC_FAR *longDescription) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_LongDescription( 
-            /* [in] */ BSTR longDescription) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_BookmarkTime( 
-            /* [retval][out] */ long __RPC_FAR *bookmarkTime) = 0;
-        
-        virtual /* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE put_BookmarkTime( 
-            /* [in] */ long bookmarkTime) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITFileOrCDTrackVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetITObjectIDs )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [out] */ long __RPC_FAR *sourceID,
-            /* [out] */ long __RPC_FAR *playlistID,
-            /* [out] */ long __RPC_FAR *trackID,
-            /* [out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Name )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Index )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SourceID )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sourceID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlaylistID )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playlistID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackID )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackID);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackDatabaseID )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *databaseID);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Delete )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Play )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *AddArtworkFromFile )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR filePath,
-            /* [retval][out] */ IITArtwork __RPC_FAR *__RPC_FAR *iArtwork);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ ITTrackKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlist )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Album )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *album);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Album )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR album);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artist )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *artist);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Artist )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR artist);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BitRate )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bitrate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BPM )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *beatsPerMinute);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BPM )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long beatsPerMinute);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Comment )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *comment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Comment )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR comment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Compilation )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isCompilation);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Compilation )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeCompilation);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Composer )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *composer);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Composer )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR composer);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DateAdded )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateAdded);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long discCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_DiscNumber )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *discNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_DiscNumber )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long discNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Duration )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *duration);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Enabled )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isEnabled);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Enabled )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeEnabled);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_EQ )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_EQ )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR eq);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Finish )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Finish )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *finish);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Genre )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *genre);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Genre )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR genre);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Grouping )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *grouping);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Grouping )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR grouping);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_KindAsString )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ModificationDate )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *dateModified);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *playedCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long playedCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayedDate )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ DATE __RPC_FAR *playedDate);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_PlayedDate )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ DATE playedDate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PlayOrderIndex )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *index);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Rating )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *rating);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Rating )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long rating);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SampleRate )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *sampleRate);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Size )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *size);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Start )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *start);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Start )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long start);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Time )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *time);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackCount);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackCount )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long trackCount);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_TrackNumber )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *trackNumber);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_TrackNumber )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long trackNumber);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_VolumeAdjustment )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *volumeAdjustment);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_VolumeAdjustment )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long volumeAdjustment);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Year )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *year);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Year )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long year);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Artwork )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ IITArtworkCollection __RPC_FAR *__RPC_FAR *iArtworkCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Location )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *location);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdateInfoFromFile )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Podcast )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast);
-        
-        /* [helpstring] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *UpdatePodcastFeed )( 
-            IITFileOrCDTrack __RPC_FAR * This);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_RememberBookmark )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *rememberBookmark);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_RememberBookmark )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldRememberBookmark);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ExcludeFromShuffle )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *excludeFromShuffle);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ExcludeFromShuffle )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Lyrics )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *lyrics);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Lyrics )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR lyrics);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Category )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *category);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Category )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR category);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Description )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *description);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Description )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR description);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_LongDescription )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *longDescription);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_LongDescription )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ BSTR longDescription);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_BookmarkTime )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bookmarkTime);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_BookmarkTime )( 
-            IITFileOrCDTrack __RPC_FAR * This,
-            /* [in] */ long bookmarkTime);
-        
-        END_INTERFACE
-    } IITFileOrCDTrackVtbl;
-
-    interface IITFileOrCDTrack
-    {
-        CONST_VTBL struct IITFileOrCDTrackVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITFileOrCDTrack_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITFileOrCDTrack_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITFileOrCDTrack_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITFileOrCDTrack_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITFileOrCDTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITFileOrCDTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITFileOrCDTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITFileOrCDTrack_GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)	\
-    (This)->lpVtbl -> GetITObjectIDs(This,sourceID,playlistID,trackID,databaseID)
-
-#define IITFileOrCDTrack_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITFileOrCDTrack_put_Name(This,name)	\
-    (This)->lpVtbl -> put_Name(This,name)
-
-#define IITFileOrCDTrack_get_Index(This,index)	\
-    (This)->lpVtbl -> get_Index(This,index)
-
-#define IITFileOrCDTrack_get_SourceID(This,sourceID)	\
-    (This)->lpVtbl -> get_SourceID(This,sourceID)
-
-#define IITFileOrCDTrack_get_PlaylistID(This,playlistID)	\
-    (This)->lpVtbl -> get_PlaylistID(This,playlistID)
-
-#define IITFileOrCDTrack_get_TrackID(This,trackID)	\
-    (This)->lpVtbl -> get_TrackID(This,trackID)
-
-#define IITFileOrCDTrack_get_TrackDatabaseID(This,databaseID)	\
-    (This)->lpVtbl -> get_TrackDatabaseID(This,databaseID)
-
-
-#define IITFileOrCDTrack_Delete(This)	\
-    (This)->lpVtbl -> Delete(This)
-
-#define IITFileOrCDTrack_Play(This)	\
-    (This)->lpVtbl -> Play(This)
-
-#define IITFileOrCDTrack_AddArtworkFromFile(This,filePath,iArtwork)	\
-    (This)->lpVtbl -> AddArtworkFromFile(This,filePath,iArtwork)
-
-#define IITFileOrCDTrack_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITFileOrCDTrack_get_Playlist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_Playlist(This,iPlaylist)
-
-#define IITFileOrCDTrack_get_Album(This,album)	\
-    (This)->lpVtbl -> get_Album(This,album)
-
-#define IITFileOrCDTrack_put_Album(This,album)	\
-    (This)->lpVtbl -> put_Album(This,album)
-
-#define IITFileOrCDTrack_get_Artist(This,artist)	\
-    (This)->lpVtbl -> get_Artist(This,artist)
-
-#define IITFileOrCDTrack_put_Artist(This,artist)	\
-    (This)->lpVtbl -> put_Artist(This,artist)
-
-#define IITFileOrCDTrack_get_BitRate(This,bitrate)	\
-    (This)->lpVtbl -> get_BitRate(This,bitrate)
-
-#define IITFileOrCDTrack_get_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> get_BPM(This,beatsPerMinute)
-
-#define IITFileOrCDTrack_put_BPM(This,beatsPerMinute)	\
-    (This)->lpVtbl -> put_BPM(This,beatsPerMinute)
-
-#define IITFileOrCDTrack_get_Comment(This,comment)	\
-    (This)->lpVtbl -> get_Comment(This,comment)
-
-#define IITFileOrCDTrack_put_Comment(This,comment)	\
-    (This)->lpVtbl -> put_Comment(This,comment)
-
-#define IITFileOrCDTrack_get_Compilation(This,isCompilation)	\
-    (This)->lpVtbl -> get_Compilation(This,isCompilation)
-
-#define IITFileOrCDTrack_put_Compilation(This,shouldBeCompilation)	\
-    (This)->lpVtbl -> put_Compilation(This,shouldBeCompilation)
-
-#define IITFileOrCDTrack_get_Composer(This,composer)	\
-    (This)->lpVtbl -> get_Composer(This,composer)
-
-#define IITFileOrCDTrack_put_Composer(This,composer)	\
-    (This)->lpVtbl -> put_Composer(This,composer)
-
-#define IITFileOrCDTrack_get_DateAdded(This,dateAdded)	\
-    (This)->lpVtbl -> get_DateAdded(This,dateAdded)
-
-#define IITFileOrCDTrack_get_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> get_DiscCount(This,discCount)
-
-#define IITFileOrCDTrack_put_DiscCount(This,discCount)	\
-    (This)->lpVtbl -> put_DiscCount(This,discCount)
-
-#define IITFileOrCDTrack_get_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> get_DiscNumber(This,discNumber)
-
-#define IITFileOrCDTrack_put_DiscNumber(This,discNumber)	\
-    (This)->lpVtbl -> put_DiscNumber(This,discNumber)
-
-#define IITFileOrCDTrack_get_Duration(This,duration)	\
-    (This)->lpVtbl -> get_Duration(This,duration)
-
-#define IITFileOrCDTrack_get_Enabled(This,isEnabled)	\
-    (This)->lpVtbl -> get_Enabled(This,isEnabled)
-
-#define IITFileOrCDTrack_put_Enabled(This,shouldBeEnabled)	\
-    (This)->lpVtbl -> put_Enabled(This,shouldBeEnabled)
-
-#define IITFileOrCDTrack_get_EQ(This,eq)	\
-    (This)->lpVtbl -> get_EQ(This,eq)
-
-#define IITFileOrCDTrack_put_EQ(This,eq)	\
-    (This)->lpVtbl -> put_EQ(This,eq)
-
-#define IITFileOrCDTrack_put_Finish(This,finish)	\
-    (This)->lpVtbl -> put_Finish(This,finish)
-
-#define IITFileOrCDTrack_get_Finish(This,finish)	\
-    (This)->lpVtbl -> get_Finish(This,finish)
-
-#define IITFileOrCDTrack_get_Genre(This,genre)	\
-    (This)->lpVtbl -> get_Genre(This,genre)
-
-#define IITFileOrCDTrack_put_Genre(This,genre)	\
-    (This)->lpVtbl -> put_Genre(This,genre)
-
-#define IITFileOrCDTrack_get_Grouping(This,grouping)	\
-    (This)->lpVtbl -> get_Grouping(This,grouping)
-
-#define IITFileOrCDTrack_put_Grouping(This,grouping)	\
-    (This)->lpVtbl -> put_Grouping(This,grouping)
-
-#define IITFileOrCDTrack_get_KindAsString(This,kind)	\
-    (This)->lpVtbl -> get_KindAsString(This,kind)
-
-#define IITFileOrCDTrack_get_ModificationDate(This,dateModified)	\
-    (This)->lpVtbl -> get_ModificationDate(This,dateModified)
-
-#define IITFileOrCDTrack_get_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> get_PlayedCount(This,playedCount)
-
-#define IITFileOrCDTrack_put_PlayedCount(This,playedCount)	\
-    (This)->lpVtbl -> put_PlayedCount(This,playedCount)
-
-#define IITFileOrCDTrack_get_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> get_PlayedDate(This,playedDate)
-
-#define IITFileOrCDTrack_put_PlayedDate(This,playedDate)	\
-    (This)->lpVtbl -> put_PlayedDate(This,playedDate)
-
-#define IITFileOrCDTrack_get_PlayOrderIndex(This,index)	\
-    (This)->lpVtbl -> get_PlayOrderIndex(This,index)
-
-#define IITFileOrCDTrack_get_Rating(This,rating)	\
-    (This)->lpVtbl -> get_Rating(This,rating)
-
-#define IITFileOrCDTrack_put_Rating(This,rating)	\
-    (This)->lpVtbl -> put_Rating(This,rating)
-
-#define IITFileOrCDTrack_get_SampleRate(This,sampleRate)	\
-    (This)->lpVtbl -> get_SampleRate(This,sampleRate)
-
-#define IITFileOrCDTrack_get_Size(This,size)	\
-    (This)->lpVtbl -> get_Size(This,size)
-
-#define IITFileOrCDTrack_get_Start(This,start)	\
-    (This)->lpVtbl -> get_Start(This,start)
-
-#define IITFileOrCDTrack_put_Start(This,start)	\
-    (This)->lpVtbl -> put_Start(This,start)
-
-#define IITFileOrCDTrack_get_Time(This,time)	\
-    (This)->lpVtbl -> get_Time(This,time)
-
-#define IITFileOrCDTrack_get_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> get_TrackCount(This,trackCount)
-
-#define IITFileOrCDTrack_put_TrackCount(This,trackCount)	\
-    (This)->lpVtbl -> put_TrackCount(This,trackCount)
-
-#define IITFileOrCDTrack_get_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> get_TrackNumber(This,trackNumber)
-
-#define IITFileOrCDTrack_put_TrackNumber(This,trackNumber)	\
-    (This)->lpVtbl -> put_TrackNumber(This,trackNumber)
-
-#define IITFileOrCDTrack_get_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> get_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITFileOrCDTrack_put_VolumeAdjustment(This,volumeAdjustment)	\
-    (This)->lpVtbl -> put_VolumeAdjustment(This,volumeAdjustment)
-
-#define IITFileOrCDTrack_get_Year(This,year)	\
-    (This)->lpVtbl -> get_Year(This,year)
-
-#define IITFileOrCDTrack_put_Year(This,year)	\
-    (This)->lpVtbl -> put_Year(This,year)
-
-#define IITFileOrCDTrack_get_Artwork(This,iArtworkCollection)	\
-    (This)->lpVtbl -> get_Artwork(This,iArtworkCollection)
-
-
-#define IITFileOrCDTrack_get_Location(This,location)	\
-    (This)->lpVtbl -> get_Location(This,location)
-
-#define IITFileOrCDTrack_UpdateInfoFromFile(This)	\
-    (This)->lpVtbl -> UpdateInfoFromFile(This)
-
-#define IITFileOrCDTrack_get_Podcast(This,isPodcast)	\
-    (This)->lpVtbl -> get_Podcast(This,isPodcast)
-
-#define IITFileOrCDTrack_UpdatePodcastFeed(This)	\
-    (This)->lpVtbl -> UpdatePodcastFeed(This)
-
-#define IITFileOrCDTrack_get_RememberBookmark(This,rememberBookmark)	\
-    (This)->lpVtbl -> get_RememberBookmark(This,rememberBookmark)
-
-#define IITFileOrCDTrack_put_RememberBookmark(This,shouldRememberBookmark)	\
-    (This)->lpVtbl -> put_RememberBookmark(This,shouldRememberBookmark)
-
-#define IITFileOrCDTrack_get_ExcludeFromShuffle(This,excludeFromShuffle)	\
-    (This)->lpVtbl -> get_ExcludeFromShuffle(This,excludeFromShuffle)
-
-#define IITFileOrCDTrack_put_ExcludeFromShuffle(This,shouldExcludeFromShuffle)	\
-    (This)->lpVtbl -> put_ExcludeFromShuffle(This,shouldExcludeFromShuffle)
-
-#define IITFileOrCDTrack_get_Lyrics(This,lyrics)	\
-    (This)->lpVtbl -> get_Lyrics(This,lyrics)
-
-#define IITFileOrCDTrack_put_Lyrics(This,lyrics)	\
-    (This)->lpVtbl -> put_Lyrics(This,lyrics)
-
-#define IITFileOrCDTrack_get_Category(This,category)	\
-    (This)->lpVtbl -> get_Category(This,category)
-
-#define IITFileOrCDTrack_put_Category(This,category)	\
-    (This)->lpVtbl -> put_Category(This,category)
-
-#define IITFileOrCDTrack_get_Description(This,description)	\
-    (This)->lpVtbl -> get_Description(This,description)
-
-#define IITFileOrCDTrack_put_Description(This,description)	\
-    (This)->lpVtbl -> put_Description(This,description)
-
-#define IITFileOrCDTrack_get_LongDescription(This,longDescription)	\
-    (This)->lpVtbl -> get_LongDescription(This,longDescription)
-
-#define IITFileOrCDTrack_put_LongDescription(This,longDescription)	\
-    (This)->lpVtbl -> put_LongDescription(This,longDescription)
-
-#define IITFileOrCDTrack_get_BookmarkTime(This,bookmarkTime)	\
-    (This)->lpVtbl -> get_BookmarkTime(This,bookmarkTime)
-
-#define IITFileOrCDTrack_put_BookmarkTime(This,bookmarkTime)	\
-    (This)->lpVtbl -> put_BookmarkTime(This,bookmarkTime)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Location_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *location);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_Location_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdateInfoFromFile_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITFileOrCDTrack_UpdateInfoFromFile_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Podcast_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isPodcast);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_Podcast_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_UpdatePodcastFeed_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This);
-
-
-void __RPC_STUB IITFileOrCDTrack_UpdatePodcastFeed_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_RememberBookmark_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *rememberBookmark);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_RememberBookmark_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_RememberBookmark_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldRememberBookmark);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_RememberBookmark_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_ExcludeFromShuffle_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ VARIANT_BOOL __RPC_FAR *excludeFromShuffle);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_ExcludeFromShuffle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_ExcludeFromShuffle_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ VARIANT_BOOL shouldExcludeFromShuffle);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_ExcludeFromShuffle_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Lyrics_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *lyrics);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_Lyrics_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Lyrics_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ BSTR lyrics);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_Lyrics_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Category_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *category);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_Category_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Category_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ BSTR category);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_Category_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_Description_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *description);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_Description_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_Description_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ BSTR description);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_Description_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_LongDescription_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ BSTR __RPC_FAR *longDescription);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_LongDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_LongDescription_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ BSTR longDescription);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_LongDescription_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_get_BookmarkTime_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [retval][out] */ long __RPC_FAR *bookmarkTime);
-
-
-void __RPC_STUB IITFileOrCDTrack_get_BookmarkTime_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propput] */ HRESULT STDMETHODCALLTYPE IITFileOrCDTrack_put_BookmarkTime_Proxy( 
-    IITFileOrCDTrack __RPC_FAR * This,
-    /* [in] */ long bookmarkTime);
-
-
-void __RPC_STUB IITFileOrCDTrack_put_BookmarkTime_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITFileOrCDTrack_INTERFACE_DEFINED__ */
-
-
-#ifndef __IITPlaylistWindow_INTERFACE_DEFINED__
-#define __IITPlaylistWindow_INTERFACE_DEFINED__
-
-/* interface IITPlaylistWindow */
-/* [hidden][unique][helpstring][dual][uuid][object] */ 
-
-
-EXTERN_C const IID IID_IITPlaylistWindow;
-
-#if defined(__cplusplus) && !defined(CINTERFACE)
-    
-    MIDL_INTERFACE("349CBB45-2E5A-4822-8E4A-A75555A186F7")
-    IITPlaylistWindow : public IITWindow
-    {
-    public:
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedTracks( 
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection) = 0;
-        
-        virtual /* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE get_Playlist( 
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist) = 0;
-        
-    };
-    
-#else 	/* C style interface */
-
-    typedef struct IITPlaylistWindowVtbl
-    {
-        BEGIN_INTERFACE
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
-            IITPlaylistWindow __RPC_FAR * This);
-        
-        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
-            IITPlaylistWindow __RPC_FAR * This);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [out] */ UINT __RPC_FAR *pctinfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ UINT iTInfo,
-            /* [in] */ LCID lcid,
-            /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
-        
-        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ REFIID riid,
-            /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
-            /* [in] */ UINT cNames,
-            /* [in] */ LCID lcid,
-            /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
-        
-        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ DISPID dispIdMember,
-            /* [in] */ REFIID riid,
-            /* [in] */ LCID lcid,
-            /* [in] */ WORD wFlags,
-            /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
-            /* [out] */ VARIANT __RPC_FAR *pVarResult,
-            /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
-            /* [out] */ UINT __RPC_FAR *puArgErr);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ BSTR __RPC_FAR *name);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Kind )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ ITWindowKind __RPC_FAR *kind);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Visible )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isVisible);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Visible )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeVisible);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Resizable )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isResizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Minimized )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMinimized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Minimized )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMinimized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximizable )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximizable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Maximized )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isMaximized);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Maximized )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeMaximized);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomable )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomable);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Zoomed )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ VARIANT_BOOL __RPC_FAR *isZoomed);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Zoomed )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ VARIANT_BOOL shouldBeZoomed);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Top )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *top);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Top )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long top);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Left )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *left);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Left )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long left);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Bottom )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *bottom);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Bottom )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long bottom);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Right )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *right);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Right )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long right);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Width )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *width);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Width )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long width);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Height )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ long __RPC_FAR *height);
-        
-        /* [helpstring][propput] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Height )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [in] */ long height);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_SelectedTracks )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-        
-        /* [helpstring][propget] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Playlist )( 
-            IITPlaylistWindow __RPC_FAR * This,
-            /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-        
-        END_INTERFACE
-    } IITPlaylistWindowVtbl;
-
-    interface IITPlaylistWindow
-    {
-        CONST_VTBL struct IITPlaylistWindowVtbl __RPC_FAR *lpVtbl;
-    };
-
-    
-
-#ifdef COBJMACROS
-
-
-#define IITPlaylistWindow_QueryInterface(This,riid,ppvObject)	\
-    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
-
-#define IITPlaylistWindow_AddRef(This)	\
-    (This)->lpVtbl -> AddRef(This)
-
-#define IITPlaylistWindow_Release(This)	\
-    (This)->lpVtbl -> Release(This)
-
-
-#define IITPlaylistWindow_GetTypeInfoCount(This,pctinfo)	\
-    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
-
-#define IITPlaylistWindow_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
-    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
-
-#define IITPlaylistWindow_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
-    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
-
-#define IITPlaylistWindow_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
-    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
-
-
-#define IITPlaylistWindow_get_Name(This,name)	\
-    (This)->lpVtbl -> get_Name(This,name)
-
-#define IITPlaylistWindow_get_Kind(This,kind)	\
-    (This)->lpVtbl -> get_Kind(This,kind)
-
-#define IITPlaylistWindow_get_Visible(This,isVisible)	\
-    (This)->lpVtbl -> get_Visible(This,isVisible)
-
-#define IITPlaylistWindow_put_Visible(This,shouldBeVisible)	\
-    (This)->lpVtbl -> put_Visible(This,shouldBeVisible)
-
-#define IITPlaylistWindow_get_Resizable(This,isResizable)	\
-    (This)->lpVtbl -> get_Resizable(This,isResizable)
-
-#define IITPlaylistWindow_get_Minimized(This,isMinimized)	\
-    (This)->lpVtbl -> get_Minimized(This,isMinimized)
-
-#define IITPlaylistWindow_put_Minimized(This,shouldBeMinimized)	\
-    (This)->lpVtbl -> put_Minimized(This,shouldBeMinimized)
-
-#define IITPlaylistWindow_get_Maximizable(This,isMaximizable)	\
-    (This)->lpVtbl -> get_Maximizable(This,isMaximizable)
-
-#define IITPlaylistWindow_get_Maximized(This,isMaximized)	\
-    (This)->lpVtbl -> get_Maximized(This,isMaximized)
-
-#define IITPlaylistWindow_put_Maximized(This,shouldBeMaximized)	\
-    (This)->lpVtbl -> put_Maximized(This,shouldBeMaximized)
-
-#define IITPlaylistWindow_get_Zoomable(This,isZoomable)	\
-    (This)->lpVtbl -> get_Zoomable(This,isZoomable)
-
-#define IITPlaylistWindow_get_Zoomed(This,isZoomed)	\
-    (This)->lpVtbl -> get_Zoomed(This,isZoomed)
-
-#define IITPlaylistWindow_put_Zoomed(This,shouldBeZoomed)	\
-    (This)->lpVtbl -> put_Zoomed(This,shouldBeZoomed)
-
-#define IITPlaylistWindow_get_Top(This,top)	\
-    (This)->lpVtbl -> get_Top(This,top)
-
-#define IITPlaylistWindow_put_Top(This,top)	\
-    (This)->lpVtbl -> put_Top(This,top)
-
-#define IITPlaylistWindow_get_Left(This,left)	\
-    (This)->lpVtbl -> get_Left(This,left)
-
-#define IITPlaylistWindow_put_Left(This,left)	\
-    (This)->lpVtbl -> put_Left(This,left)
-
-#define IITPlaylistWindow_get_Bottom(This,bottom)	\
-    (This)->lpVtbl -> get_Bottom(This,bottom)
-
-#define IITPlaylistWindow_put_Bottom(This,bottom)	\
-    (This)->lpVtbl -> put_Bottom(This,bottom)
-
-#define IITPlaylistWindow_get_Right(This,right)	\
-    (This)->lpVtbl -> get_Right(This,right)
-
-#define IITPlaylistWindow_put_Right(This,right)	\
-    (This)->lpVtbl -> put_Right(This,right)
-
-#define IITPlaylistWindow_get_Width(This,width)	\
-    (This)->lpVtbl -> get_Width(This,width)
-
-#define IITPlaylistWindow_put_Width(This,width)	\
-    (This)->lpVtbl -> put_Width(This,width)
-
-#define IITPlaylistWindow_get_Height(This,height)	\
-    (This)->lpVtbl -> get_Height(This,height)
-
-#define IITPlaylistWindow_put_Height(This,height)	\
-    (This)->lpVtbl -> put_Height(This,height)
-
-
-#define IITPlaylistWindow_get_SelectedTracks(This,iTrackCollection)	\
-    (This)->lpVtbl -> get_SelectedTracks(This,iTrackCollection)
-
-#define IITPlaylistWindow_get_Playlist(This,iPlaylist)	\
-    (This)->lpVtbl -> get_Playlist(This,iPlaylist)
-
-#endif /* COBJMACROS */
-
-
-#endif 	/* C style interface */
-
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_SelectedTracks_Proxy( 
-    IITPlaylistWindow __RPC_FAR * This,
-    /* [retval][out] */ IITTrackCollection __RPC_FAR *__RPC_FAR *iTrackCollection);
-
-
-void __RPC_STUB IITPlaylistWindow_get_SelectedTracks_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-/* [helpstring][propget] */ HRESULT STDMETHODCALLTYPE IITPlaylistWindow_get_Playlist_Proxy( 
-    IITPlaylistWindow __RPC_FAR * This,
-    /* [retval][out] */ IITPlaylist __RPC_FAR *__RPC_FAR *iPlaylist);
-
-
-void __RPC_STUB IITPlaylistWindow_get_Playlist_Stub(
-    IRpcStubBuffer *This,
-    IRpcChannelBuffer *_pRpcChannelBuffer,
-    PRPC_MESSAGE _pRpcMessage,
-    DWORD *_pdwStubPhase);
-
-
-
-#endif 	/* __IITPlaylistWindow_INTERFACE_DEFINED__ */
-
-#endif /* __iTunesLib_LIBRARY_DEFINED__ */
-
-/* Additional Prototypes for ALL interfaces */
-
-/* end of Additional Prototypes */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c b/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c
deleted file mode 100644
index 67e71f6..0000000
--- a/src/projectM-iTunes-VizKit/source/win/iTunesCOMInterface_i.c
+++ /dev/null
@@ -1,140 +0,0 @@
-/* this file contains the actual definitions of */
-/* the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
-/* File created by MIDL compiler version 5.01.0164 */
-/* at Tue Sep 06 13:11:55 2005
- */
-/* Compiler settings for iTunesCOMInterface.idl:
-    Oicf (OptLev=i2), W1, Zp8, env=Win32, ms_ext, c_ext
-    error checks: allocation ref bounds_check enum stub_data 
-*/
-//@@MIDL_FILE_HEADING(  )
-#ifdef __cplusplus
-extern "C"{
-#endif 
-
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
-    unsigned long x;
-    unsigned short s1;
-    unsigned short s2;
-    unsigned char  c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-const IID LIBID_iTunesLib = {0x9E93C96F,0xCF0D,0x43f6,{0x8B,0xA8,0xB8,0x07,0xA3,0x37,0x07,0x12}};
-
-
-const IID IID_IITObject = {0x9FAB0E27,0x70D7,0x4e3a,{0x99,0x65,0xB0,0xC8,0xB8,0x86,0x9B,0xB6}};
-
-
-const IID IID_IITSource = {0xAEC1C4D3,0xAEF1,0x4255,{0xB8,0x92,0x3E,0x3D,0x13,0xAD,0xFD,0xF9}};
-
-
-const IID IID_IITSourceCollection = {0x2FF6CE20,0xFF87,0x4183,{0xB0,0xB3,0xF3,0x23,0xD0,0x47,0xAF,0x41}};
-
-
-const IID IID_IITEncoder = {0x1CF95A1C,0x55FE,0x4f45,{0xA2,0xD3,0x85,0xAC,0x6C,0x50,0x4A,0x73}};
-
-
-const IID IID_IITEncoderCollection = {0x8862BCA9,0x168D,0x4549,{0xA9,0xD5,0xAD,0xB3,0x5E,0x55,0x3B,0xA6}};
-
-
-const IID IID_IITEQPreset = {0x5BE75F4F,0x68FA,0x4212,{0xAC,0xB7,0xBE,0x44,0xEA,0x56,0x97,0x59}};
-
-
-const IID IID_IITEQPresetCollection = {0xAEF4D111,0x3331,0x48da,{0xB0,0xC2,0xB4,0x68,0xD5,0xD6,0x1D,0x08}};
-
-
-const IID IID_IITPlaylist = {0x3D5E072F,0x2A77,0x4b17,{0x9E,0x73,0xE0,0x3B,0x77,0xCC,0xCC,0xA9}};
-
-
-const IID IID_IITOperationStatus = {0x206479C9,0xFE32,0x4f9b,{0xA1,0x8A,0x47,0x5A,0xC9,0x39,0xB4,0x79}};
-
-
-const IID IID_IITConvertOperationStatus = {0x7063AAF6,0xABA0,0x493b,{0xB4,0xFC,0x92,0x0A,0x9F,0x10,0x58,0x75}};
-
-
-const IID IID_IITLibraryPlaylist = {0x53AE1704,0x491C,0x4289,{0x94,0xA0,0x95,0x88,0x15,0x67,0x5A,0x3D}};
-
-
-const IID IID_IITUserPlaylist = {0x0A504DED,0xA0B5,0x465a,{0x8A,0x94,0x50,0xE2,0x0D,0x7D,0xF6,0x92}};
-
-
-const IID IID_IITTrack = {0x4CB0915D,0x1E54,0x4727,{0xBA,0xF3,0xCE,0x6C,0xC9,0xA2,0x25,0xA1}};
-
-
-const IID IID_IITTrackCollection = {0x755D76F1,0x6B85,0x4ce4,{0x8F,0x5F,0xF8,0x8D,0x97,0x43,0xDC,0xD8}};
-
-
-const IID IID_IITVisual = {0x340F3315,0xED72,0x4c09,{0x9A,0xCF,0x21,0xEB,0x4B,0xDF,0x99,0x31}};
-
-
-const IID IID_IITVisualCollection = {0x88A4CCDD,0x114F,0x4043,{0xB6,0x9B,0x84,0xD4,0xE6,0x27,0x49,0x57}};
-
-
-const IID IID_IITWindow = {0x370D7BE0,0x3A89,0x4a42,{0xB9,0x02,0xC7,0x5F,0xC1,0x38,0xBE,0x09}};
-
-
-const IID IID_IITBrowserWindow = {0xC999F455,0xC4D5,0x4aa4,{0x82,0x77,0xF9,0x97,0x53,0x69,0x99,0x74}};
-
-
-const IID IID_IITWindowCollection = {0x3D8DE381,0x6C0E,0x481f,{0xA8,0x65,0xE2,0x38,0x5F,0x59,0xFA,0x43}};
-
-
-const IID IID_IiTunes = {0x9DD6680B,0x3EDC,0x40db,{0xA7,0x71,0xE6,0xFE,0x48,0x32,0xE3,0x4A}};
-
-
-const IID DIID__IiTunesEvents = {0x5846EB78,0x317E,0x4b6f,{0xB0,0xC3,0x11,0xEE,0x8C,0x8F,0xEE,0xF2}};
-
-
-const IID DIID__IITConvertOperationStatusEvents = {0x5C47A705,0x8E8A,0x45a1,{0x9E,0xED,0x71,0xC9,0x93,0xF0,0xBF,0x60}};
-
-
-const CLSID CLSID_iTunesApp = {0xDC0C2640,0x1415,0x4644,{0x87,0x5C,0x6F,0x4D,0x76,0x98,0x39,0xBA}};
-
-
-const CLSID CLSID_iTunesConvertOperationStatus = {0xD06596AD,0xC900,0x41b2,{0xBC,0x68,0x1B,0x48,0x64,0x50,0xFC,0x56}};
-
-
-const IID IID_IITArtwork = {0xD0A6C1F8,0xBF3D,0x4cd8,{0xAC,0x47,0xFE,0x32,0xBD,0xD1,0x72,0x57}};
-
-
-const IID IID_IITArtworkCollection = {0xBF2742D7,0x418C,0x4858,{0x9A,0xF9,0x29,0x81,0xB0,0x62,0xD2,0x3E}};
-
-
-const IID IID_IITURLTrack = {0x1116E3B5,0x29FD,0x4393,{0xA7,0xBD,0x45,0x4E,0x5E,0x32,0x79,0x00}};
-
-
-const IID IID_IITAudioCDPlaylist = {0xCF496DF3,0x0FED,0x4d7d,{0x9B,0xD8,0x52,0x9B,0x6E,0x8A,0x08,0x2E}};
-
-
-const IID IID_IITPlaylistCollection = {0xFF194254,0x909D,0x4437,{0x9C,0x50,0x3A,0xAC,0x2A,0xE6,0x30,0x5C}};
-
-
-const IID IID_IITIPodSource = {0xCF4D8ACE,0x1720,0x4fb9,{0xB0,0xAE,0x98,0x77,0x24,0x9E,0x89,0xB0}};
-
-
-const IID IID_IITFileOrCDTrack = {0x00D7FE99,0x7868,0x4cc7,{0xAD,0x9E,0xAC,0xFD,0x70,0xD0,0x95,0x66}};
-
-
-const IID IID_IITPlaylistWindow = {0x349CBB45,0x2E5A,0x4822,{0x8E,0x4A,0xA7,0x55,0x55,0xA1,0x86,0xF7}};
-
-
-#ifdef __cplusplus
-}
-#endif
-
diff --git a/src/projectM-iTunes-VizKit/source/win/resource.h b/src/projectM-iTunes-VizKit/source/win/resource.h
deleted file mode 100644
index c476e25..0000000
--- a/src/projectM-iTunes-VizKit/source/win/resource.h
+++ /dev/null
@@ -1,18 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by VizKit.rc
-//
-#define IDD_DIALOG1                     1000
-#define IDC_BUTTON1                     1002
-#define IDC_RICHEDIT1                   1003
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        1006
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1004
-#define _APS_NEXT_SYMED_VALUE           1000
-#endif
-#endif
diff --git a/src/projectM-iTunes-VizKit/source/win/wglext.h b/src/projectM-iTunes-VizKit/source/win/wglext.h
deleted file mode 100644
index e7195b3..0000000
--- a/src/projectM-iTunes-VizKit/source/win/wglext.h
+++ /dev/null
@@ -1,638 +0,0 @@
-#ifndef __wglext_h_
-#define __wglext_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** License Applicability. Except to the extent portions of this file are
-** made subject to an alternative license as permitted in the SGI Free
-** Software License B, Version 1.1 (the "License"), the contents of this
-** file are subject only to the provisions of the License. You may not use
-** this file except in compliance with the License. You may obtain a copy
-** of the License at Silicon Graphics, Inc., attn: Legal Services, 1600
-** Amphitheatre Parkway, Mountain View, CA 94043-1351, or at:
-** 
-** http://oss.sgi.com/projects/FreeB
-** 
-** Note that, as provided in the License, the Software is distributed on an
-** "AS IS" basis, with ALL EXPRESS AND IMPLIED WARRANTIES AND CONDITIONS
-** DISCLAIMED, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES AND
-** CONDITIONS OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A
-** PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
-** 
-** Original Code. The Original Code is: OpenGL Sample Implementation,
-** Version 1.2.1, released January 26, 2000, developed by Silicon Graphics,
-** Inc. The Original Code is Copyright (c) 1991-2004 Silicon Graphics, Inc.
-** Copyright in any portions created by third parties is as indicated
-** elsewhere herein. All Rights Reserved.
-** 
-** Additional Notice Provisions: This software was created using the
-** OpenGL(R) version 1.2.1 Sample Implementation published by SGI, but has
-** not been independently verified as being compliant with the OpenGL(R)
-** version 1.2.1 Specification.
-*/
-
-#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__)
-#define WIN32_LEAN_AND_MEAN 1
-#include <windows.h>
-#endif
-
-#ifndef APIENTRY
-#define APIENTRY
-#endif
-#ifndef APIENTRYP
-#define APIENTRYP APIENTRY *
-#endif
-#ifndef GLAPI
-#define GLAPI extern
-#endif
-
-/*************************************************************/
-
-/* Header file version number */
-/* wglext.h last updated 2006/08/17 */
-/* Current version at http://www.opengl.org/registry/ */
-#define WGL_WGLEXT_VERSION 8
-
-#ifndef WGL_ARB_buffer_region
-#define WGL_FRONT_COLOR_BUFFER_BIT_ARB 0x00000001
-#define WGL_BACK_COLOR_BUFFER_BIT_ARB  0x00000002
-#define WGL_DEPTH_BUFFER_BIT_ARB       0x00000004
-#define WGL_STENCIL_BUFFER_BIT_ARB     0x00000008
-#endif
-
-#ifndef WGL_ARB_multisample
-#define WGL_SAMPLE_BUFFERS_ARB         0x2041
-#define WGL_SAMPLES_ARB                0x2042
-#endif
-
-#ifndef WGL_ARB_extensions_string
-#endif
-
-#ifndef WGL_ARB_pixel_format
-#define WGL_NUMBER_PIXEL_FORMATS_ARB   0x2000
-#define WGL_DRAW_TO_WINDOW_ARB         0x2001
-#define WGL_DRAW_TO_BITMAP_ARB         0x2002
-#define WGL_ACCELERATION_ARB           0x2003
-#define WGL_NEED_PALETTE_ARB           0x2004
-#define WGL_NEED_SYSTEM_PALETTE_ARB    0x2005
-#define WGL_SWAP_LAYER_BUFFERS_ARB     0x2006
-#define WGL_SWAP_METHOD_ARB            0x2007
-#define WGL_NUMBER_OVERLAYS_ARB        0x2008
-#define WGL_NUMBER_UNDERLAYS_ARB       0x2009
-#define WGL_TRANSPARENT_ARB            0x200A
-#define WGL_TRANSPARENT_RED_VALUE_ARB  0x2037
-#define WGL_TRANSPARENT_GREEN_VALUE_ARB 0x2038
-#define WGL_TRANSPARENT_BLUE_VALUE_ARB 0x2039
-#define WGL_TRANSPARENT_ALPHA_VALUE_ARB 0x203A
-#define WGL_TRANSPARENT_INDEX_VALUE_ARB 0x203B
-#define WGL_SHARE_DEPTH_ARB            0x200C
-#define WGL_SHARE_STENCIL_ARB          0x200D
-#define WGL_SHARE_ACCUM_ARB            0x200E
-#define WGL_SUPPORT_GDI_ARB            0x200F
-#define WGL_SUPPORT_OPENGL_ARB         0x2010
-#define WGL_DOUBLE_BUFFER_ARB          0x2011
-#define WGL_STEREO_ARB                 0x2012
-#define WGL_PIXEL_TYPE_ARB             0x2013
-#define WGL_COLOR_BITS_ARB             0x2014
-#define WGL_RED_BITS_ARB               0x2015
-#define WGL_RED_SHIFT_ARB              0x2016
-#define WGL_GREEN_BITS_ARB             0x2017
-#define WGL_GREEN_SHIFT_ARB            0x2018
-#define WGL_BLUE_BITS_ARB              0x2019
-#define WGL_BLUE_SHIFT_ARB             0x201A
-#define WGL_ALPHA_BITS_ARB             0x201B
-#define WGL_ALPHA_SHIFT_ARB            0x201C
-#define WGL_ACCUM_BITS_ARB             0x201D
-#define WGL_ACCUM_RED_BITS_ARB         0x201E
-#define WGL_ACCUM_GREEN_BITS_ARB       0x201F
-#define WGL_ACCUM_BLUE_BITS_ARB        0x2020
-#define WGL_ACCUM_ALPHA_BITS_ARB       0x2021
-#define WGL_DEPTH_BITS_ARB             0x2022
-#define WGL_STENCIL_BITS_ARB           0x2023
-#define WGL_AUX_BUFFERS_ARB            0x2024
-#define WGL_NO_ACCELERATION_ARB        0x2025
-#define WGL_GENERIC_ACCELERATION_ARB   0x2026
-#define WGL_FULL_ACCELERATION_ARB      0x2027
-#define WGL_SWAP_EXCHANGE_ARB          0x2028
-#define WGL_SWAP_COPY_ARB              0x2029
-#define WGL_SWAP_UNDEFINED_ARB         0x202A
-#define WGL_TYPE_RGBA_ARB              0x202B
-#define WGL_TYPE_COLORINDEX_ARB        0x202C
-#endif
-
-#ifndef WGL_ARB_make_current_read
-#define ERROR_INVALID_PIXEL_TYPE_ARB   0x2043
-#define ERROR_INCOMPATIBLE_DEVICE_CONTEXTS_ARB 0x2054
-#endif
-
-#ifndef WGL_ARB_pbuffer
-#define WGL_DRAW_TO_PBUFFER_ARB        0x202D
-#define WGL_MAX_PBUFFER_PIXELS_ARB     0x202E
-#define WGL_MAX_PBUFFER_WIDTH_ARB      0x202F
-#define WGL_MAX_PBUFFER_HEIGHT_ARB     0x2030
-#define WGL_PBUFFER_LARGEST_ARB        0x2033
-#define WGL_PBUFFER_WIDTH_ARB          0x2034
-#define WGL_PBUFFER_HEIGHT_ARB         0x2035
-#define WGL_PBUFFER_LOST_ARB           0x2036
-#endif
-
-#ifndef WGL_ARB_render_texture
-#define WGL_BIND_TO_TEXTURE_RGB_ARB    0x2070
-#define WGL_BIND_TO_TEXTURE_RGBA_ARB   0x2071
-#define WGL_TEXTURE_FORMAT_ARB         0x2072
-#define WGL_TEXTURE_TARGET_ARB         0x2073
-#define WGL_MIPMAP_TEXTURE_ARB         0x2074
-#define WGL_TEXTURE_RGB_ARB            0x2075
-#define WGL_TEXTURE_RGBA_ARB           0x2076
-#define WGL_NO_TEXTURE_ARB             0x2077
-#define WGL_TEXTURE_CUBE_MAP_ARB       0x2078
-#define WGL_TEXTURE_1D_ARB             0x2079
-#define WGL_TEXTURE_2D_ARB             0x207A
-#define WGL_MIPMAP_LEVEL_ARB           0x207B
-#define WGL_CUBE_MAP_FACE_ARB          0x207C
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x207D
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x207E
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x207F
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x2080
-#define WGL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x2081
-#define WGL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x2082
-#define WGL_FRONT_LEFT_ARB             0x2083
-#define WGL_FRONT_RIGHT_ARB            0x2084
-#define WGL_BACK_LEFT_ARB              0x2085
-#define WGL_BACK_RIGHT_ARB             0x2086
-#define WGL_AUX0_ARB                   0x2087
-#define WGL_AUX1_ARB                   0x2088
-#define WGL_AUX2_ARB                   0x2089
-#define WGL_AUX3_ARB                   0x208A
-#define WGL_AUX4_ARB                   0x208B
-#define WGL_AUX5_ARB                   0x208C
-#define WGL_AUX6_ARB                   0x208D
-#define WGL_AUX7_ARB                   0x208E
-#define WGL_AUX8_ARB                   0x208F
-#define WGL_AUX9_ARB                   0x2090
-#endif
-
-#ifndef WGL_ARB_pixel_format_float
-#define WGL_TYPE_RGBA_FLOAT_ARB        0x21A0
-#endif
-
-#ifndef WGL_EXT_make_current_read
-#define ERROR_INVALID_PIXEL_TYPE_EXT   0x2043
-#endif
-
-#ifndef WGL_EXT_pixel_format
-#define WGL_NUMBER_PIXEL_FORMATS_EXT   0x2000
-#define WGL_DRAW_TO_WINDOW_EXT         0x2001
-#define WGL_DRAW_TO_BITMAP_EXT         0x2002
-#define WGL_ACCELERATION_EXT           0x2003
-#define WGL_NEED_PALETTE_EXT           0x2004
-#define WGL_NEED_SYSTEM_PALETTE_EXT    0x2005
-#define WGL_SWAP_LAYER_BUFFERS_EXT     0x2006
-#define WGL_SWAP_METHOD_EXT            0x2007
-#define WGL_NUMBER_OVERLAYS_EXT        0x2008
-#define WGL_NUMBER_UNDERLAYS_EXT       0x2009
-#define WGL_TRANSPARENT_EXT            0x200A
-#define WGL_TRANSPARENT_VALUE_EXT      0x200B
-#define WGL_SHARE_DEPTH_EXT            0x200C
-#define WGL_SHARE_STENCIL_EXT          0x200D
-#define WGL_SHARE_ACCUM_EXT            0x200E
-#define WGL_SUPPORT_GDI_EXT            0x200F
-#define WGL_SUPPORT_OPENGL_EXT         0x2010
-#define WGL_DOUBLE_BUFFER_EXT          0x2011
-#define WGL_STEREO_EXT                 0x2012
-#define WGL_PIXEL_TYPE_EXT             0x2013
-#define WGL_COLOR_BITS_EXT             0x2014
-#define WGL_RED_BITS_EXT               0x2015
-#define WGL_RED_SHIFT_EXT              0x2016
-#define WGL_GREEN_BITS_EXT             0x2017
-#define WGL_GREEN_SHIFT_EXT            0x2018
-#define WGL_BLUE_BITS_EXT              0x2019
-#define WGL_BLUE_SHIFT_EXT             0x201A
-#define WGL_ALPHA_BITS_EXT             0x201B
-#define WGL_ALPHA_SHIFT_EXT            0x201C
-#define WGL_ACCUM_BITS_EXT             0x201D
-#define WGL_ACCUM_RED_BITS_EXT         0x201E
-#define WGL_ACCUM_GREEN_BITS_EXT       0x201F
-#define WGL_ACCUM_BLUE_BITS_EXT        0x2020
-#define WGL_ACCUM_ALPHA_BITS_EXT       0x2021
-#define WGL_DEPTH_BITS_EXT             0x2022
-#define WGL_STENCIL_BITS_EXT           0x2023
-#define WGL_AUX_BUFFERS_EXT            0x2024
-#define WGL_NO_ACCELERATION_EXT        0x2025
-#define WGL_GENERIC_ACCELERATION_EXT   0x2026
-#define WGL_FULL_ACCELERATION_EXT      0x2027
-#define WGL_SWAP_EXCHANGE_EXT          0x2028
-#define WGL_SWAP_COPY_EXT              0x2029
-#define WGL_SWAP_UNDEFINED_EXT         0x202A
-#define WGL_TYPE_RGBA_EXT              0x202B
-#define WGL_TYPE_COLORINDEX_EXT        0x202C
-#endif
-
-#ifndef WGL_EXT_pbuffer
-#define WGL_DRAW_TO_PBUFFER_EXT        0x202D
-#define WGL_MAX_PBUFFER_PIXELS_EXT     0x202E
-#define WGL_MAX_PBUFFER_WIDTH_EXT      0x202F
-#define WGL_MAX_PBUFFER_HEIGHT_EXT     0x2030
-#define WGL_OPTIMAL_PBUFFER_WIDTH_EXT  0x2031
-#define WGL_OPTIMAL_PBUFFER_HEIGHT_EXT 0x2032
-#define WGL_PBUFFER_LARGEST_EXT        0x2033
-#define WGL_PBUFFER_WIDTH_EXT          0x2034
-#define WGL_PBUFFER_HEIGHT_EXT         0x2035
-#endif
-
-#ifndef WGL_EXT_depth_float
-#define WGL_DEPTH_FLOAT_EXT            0x2040
-#endif
-
-#ifndef WGL_3DFX_multisample
-#define WGL_SAMPLE_BUFFERS_3DFX        0x2060
-#define WGL_SAMPLES_3DFX               0x2061
-#endif
-
-#ifndef WGL_EXT_multisample
-#define WGL_SAMPLE_BUFFERS_EXT         0x2041
-#define WGL_SAMPLES_EXT                0x2042
-#endif
-
-#ifndef WGL_I3D_digital_video_control
-#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_FRAMEBUFFER_I3D 0x2050
-#define WGL_DIGITAL_VIDEO_CURSOR_ALPHA_VALUE_I3D 0x2051
-#define WGL_DIGITAL_VIDEO_CURSOR_INCLUDED_I3D 0x2052
-#define WGL_DIGITAL_VIDEO_GAMMA_CORRECTED_I3D 0x2053
-#endif
-
-#ifndef WGL_I3D_gamma
-#define WGL_GAMMA_TABLE_SIZE_I3D       0x204E
-#define WGL_GAMMA_EXCLUDE_DESKTOP_I3D  0x204F
-#endif
-
-#ifndef WGL_I3D_genlock
-#define WGL_GENLOCK_SOURCE_MULTIVIEW_I3D 0x2044
-#define WGL_GENLOCK_SOURCE_EXTENAL_SYNC_I3D 0x2045
-#define WGL_GENLOCK_SOURCE_EXTENAL_FIELD_I3D 0x2046
-#define WGL_GENLOCK_SOURCE_EXTENAL_TTL_I3D 0x2047
-#define WGL_GENLOCK_SOURCE_DIGITAL_SYNC_I3D 0x2048
-#define WGL_GENLOCK_SOURCE_DIGITAL_FIELD_I3D 0x2049
-#define WGL_GENLOCK_SOURCE_EDGE_FALLING_I3D 0x204A
-#define WGL_GENLOCK_SOURCE_EDGE_RISING_I3D 0x204B
-#define WGL_GENLOCK_SOURCE_EDGE_BOTH_I3D 0x204C
-#endif
-
-#ifndef WGL_I3D_image_buffer
-#define WGL_IMAGE_BUFFER_MIN_ACCESS_I3D 0x00000001
-#define WGL_IMAGE_BUFFER_LOCK_I3D      0x00000002
-#endif
-
-#ifndef WGL_I3D_swap_frame_lock
-#endif
-
-#ifndef WGL_NV_render_depth_texture
-#define WGL_BIND_TO_TEXTURE_DEPTH_NV   0x20A3
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_DEPTH_NV 0x20A4
-#define WGL_DEPTH_TEXTURE_FORMAT_NV    0x20A5
-#define WGL_TEXTURE_DEPTH_COMPONENT_NV 0x20A6
-#define WGL_DEPTH_COMPONENT_NV         0x20A7
-#endif
-
-#ifndef WGL_NV_render_texture_rectangle
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGB_NV 0x20A0
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_RGBA_NV 0x20A1
-#define WGL_TEXTURE_RECTANGLE_NV       0x20A2
-#endif
-
-#ifndef WGL_ATI_pixel_format_float
-#define WGL_TYPE_RGBA_FLOAT_ATI        0x21A0
-#endif
-
-#ifndef WGL_NV_float_buffer
-#define WGL_FLOAT_COMPONENTS_NV        0x20B0
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_R_NV 0x20B1
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RG_NV 0x20B2
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGB_NV 0x20B3
-#define WGL_BIND_TO_TEXTURE_RECTANGLE_FLOAT_RGBA_NV 0x20B4
-#define WGL_TEXTURE_FLOAT_R_NV         0x20B5
-#define WGL_TEXTURE_FLOAT_RG_NV        0x20B6
-#define WGL_TEXTURE_FLOAT_RGB_NV       0x20B7
-#define WGL_TEXTURE_FLOAT_RGBA_NV      0x20B8
-#endif
-
-#ifndef WGL_3DL_stereo_control
-#define WGL_STEREO_EMITTER_ENABLE_3DL  0x2055
-#define WGL_STEREO_EMITTER_DISABLE_3DL 0x2056
-#define WGL_STEREO_POLARITY_NORMAL_3DL 0x2057
-#define WGL_STEREO_POLARITY_INVERT_3DL 0x2058
-#endif
-
-
-/*************************************************************/
-
-#ifndef WGL_ARB_pbuffer
-DECLARE_HANDLE(HPBUFFERARB);
-#endif
-#ifndef WGL_EXT_pbuffer
-DECLARE_HANDLE(HPBUFFEREXT);
-#endif
-
-#ifndef WGL_ARB_buffer_region
-#define WGL_ARB_buffer_region 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern HANDLE WINAPI wglCreateBufferRegionARB (HDC, int, UINT);
-extern VOID WINAPI wglDeleteBufferRegionARB (HANDLE);
-extern BOOL WINAPI wglSaveBufferRegionARB (HANDLE, int, int, int, int);
-extern BOOL WINAPI wglRestoreBufferRegionARB (HANDLE, int, int, int, int, int, int);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef HANDLE (WINAPI * PFNWGLCREATEBUFFERREGIONARBPROC) (HDC hDC, int iLayerPlane, UINT uType);
-typedef VOID (WINAPI * PFNWGLDELETEBUFFERREGIONARBPROC) (HANDLE hRegion);
-typedef BOOL (WINAPI * PFNWGLSAVEBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height);
-typedef BOOL (WINAPI * PFNWGLRESTOREBUFFERREGIONARBPROC) (HANDLE hRegion, int x, int y, int width, int height, int xSrc, int ySrc);
-#endif
-
-#ifndef WGL_ARB_multisample
-#define WGL_ARB_multisample 1
-#endif
-
-#ifndef WGL_ARB_extensions_string
-#define WGL_ARB_extensions_string 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern const char * WINAPI wglGetExtensionsStringARB (HDC);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGARBPROC) (HDC hdc);
-#endif
-
-#ifndef WGL_ARB_pixel_format
-#define WGL_ARB_pixel_format 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetPixelFormatAttribivARB (HDC, int, int, UINT, const int *, int *);
-extern BOOL WINAPI wglGetPixelFormatAttribfvARB (HDC, int, int, UINT, const int *, FLOAT *);
-extern BOOL WINAPI wglChoosePixelFormatARB (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, int *piValues);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVARBPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, const int *piAttributes, FLOAT *pfValues);
-typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATARBPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
-#endif
-
-#ifndef WGL_ARB_make_current_read
-#define WGL_ARB_make_current_read 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglMakeContextCurrentARB (HDC, HDC, HGLRC);
-extern HDC WINAPI wglGetCurrentReadDCARB (void);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTARBPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
-typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCARBPROC) (void);
-#endif
-
-#ifndef WGL_ARB_pbuffer
-#define WGL_ARB_pbuffer 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern HPBUFFERARB WINAPI wglCreatePbufferARB (HDC, int, int, int, const int *);
-extern HDC WINAPI wglGetPbufferDCARB (HPBUFFERARB);
-extern int WINAPI wglReleasePbufferDCARB (HPBUFFERARB, HDC);
-extern BOOL WINAPI wglDestroyPbufferARB (HPBUFFERARB);
-extern BOOL WINAPI wglQueryPbufferARB (HPBUFFERARB, int, int *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef HPBUFFERARB (WINAPI * PFNWGLCREATEPBUFFERARBPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
-typedef HDC (WINAPI * PFNWGLGETPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer);
-typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCARBPROC) (HPBUFFERARB hPbuffer, HDC hDC);
-typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFERARBPROC) (HPBUFFERARB hPbuffer);
-typedef BOOL (WINAPI * PFNWGLQUERYPBUFFERARBPROC) (HPBUFFERARB hPbuffer, int iAttribute, int *piValue);
-#endif
-
-#ifndef WGL_ARB_render_texture
-#define WGL_ARB_render_texture 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglBindTexImageARB (HPBUFFERARB, int);
-extern BOOL WINAPI wglReleaseTexImageARB (HPBUFFERARB, int);
-extern BOOL WINAPI wglSetPbufferAttribARB (HPBUFFERARB, const int *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLBINDTEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
-typedef BOOL (WINAPI * PFNWGLRELEASETEXIMAGEARBPROC) (HPBUFFERARB hPbuffer, int iBuffer);
-typedef BOOL (WINAPI * PFNWGLSETPBUFFERATTRIBARBPROC) (HPBUFFERARB hPbuffer, const int *piAttribList);
-#endif
-
-#ifndef WGL_ARB_pixel_format_float
-#define WGL_ARB_pixel_format_float 1
-#endif
-
-#ifndef WGL_EXT_display_color_table
-#define WGL_EXT_display_color_table 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern GLboolean WINAPI wglCreateDisplayColorTableEXT (GLushort);
-extern GLboolean WINAPI wglLoadDisplayColorTableEXT (const GLushort *, GLuint);
-extern GLboolean WINAPI wglBindDisplayColorTableEXT (GLushort);
-extern VOID WINAPI wglDestroyDisplayColorTableEXT (GLushort);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef GLboolean (WINAPI * PFNWGLCREATEDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-typedef GLboolean (WINAPI * PFNWGLLOADDISPLAYCOLORTABLEEXTPROC) (const GLushort *table, GLuint length);
-typedef GLboolean (WINAPI * PFNWGLBINDDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-typedef VOID (WINAPI * PFNWGLDESTROYDISPLAYCOLORTABLEEXTPROC) (GLushort id);
-#endif
-
-#ifndef WGL_EXT_extensions_string
-#define WGL_EXT_extensions_string 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern const char * WINAPI wglGetExtensionsStringEXT (void);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef const char * (WINAPI * PFNWGLGETEXTENSIONSSTRINGEXTPROC) (void);
-#endif
-
-#ifndef WGL_EXT_make_current_read
-#define WGL_EXT_make_current_read 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglMakeContextCurrentEXT (HDC, HDC, HGLRC);
-extern HDC WINAPI wglGetCurrentReadDCEXT (void);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLMAKECONTEXTCURRENTEXTPROC) (HDC hDrawDC, HDC hReadDC, HGLRC hglrc);
-typedef HDC (WINAPI * PFNWGLGETCURRENTREADDCEXTPROC) (void);
-#endif
-
-#ifndef WGL_EXT_pbuffer
-#define WGL_EXT_pbuffer 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern HPBUFFEREXT WINAPI wglCreatePbufferEXT (HDC, int, int, int, const int *);
-extern HDC WINAPI wglGetPbufferDCEXT (HPBUFFEREXT);
-extern int WINAPI wglReleasePbufferDCEXT (HPBUFFEREXT, HDC);
-extern BOOL WINAPI wglDestroyPbufferEXT (HPBUFFEREXT);
-extern BOOL WINAPI wglQueryPbufferEXT (HPBUFFEREXT, int, int *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef HPBUFFEREXT (WINAPI * PFNWGLCREATEPBUFFEREXTPROC) (HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList);
-typedef HDC (WINAPI * PFNWGLGETPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer);
-typedef int (WINAPI * PFNWGLRELEASEPBUFFERDCEXTPROC) (HPBUFFEREXT hPbuffer, HDC hDC);
-typedef BOOL (WINAPI * PFNWGLDESTROYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer);
-typedef BOOL (WINAPI * PFNWGLQUERYPBUFFEREXTPROC) (HPBUFFEREXT hPbuffer, int iAttribute, int *piValue);
-#endif
-
-#ifndef WGL_EXT_pixel_format
-#define WGL_EXT_pixel_format 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetPixelFormatAttribivEXT (HDC, int, int, UINT, int *, int *);
-extern BOOL WINAPI wglGetPixelFormatAttribfvEXT (HDC, int, int, UINT, int *, FLOAT *);
-extern BOOL WINAPI wglChoosePixelFormatEXT (HDC, const int *, const FLOAT *, UINT, int *, UINT *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBIVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, int *piValues);
-typedef BOOL (WINAPI * PFNWGLGETPIXELFORMATATTRIBFVEXTPROC) (HDC hdc, int iPixelFormat, int iLayerPlane, UINT nAttributes, int *piAttributes, FLOAT *pfValues);
-typedef BOOL (WINAPI * PFNWGLCHOOSEPIXELFORMATEXTPROC) (HDC hdc, const int *piAttribIList, const FLOAT *pfAttribFList, UINT nMaxFormats, int *piFormats, UINT *nNumFormats);
-#endif
-
-#ifndef WGL_EXT_swap_control
-#define WGL_EXT_swap_control 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglSwapIntervalEXT (int);
-extern int WINAPI wglGetSwapIntervalEXT (void);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLSWAPINTERVALEXTPROC) (int interval);
-typedef int (WINAPI * PFNWGLGETSWAPINTERVALEXTPROC) (void);
-#endif
-
-#ifndef WGL_EXT_depth_float
-#define WGL_EXT_depth_float 1
-#endif
-
-#ifndef WGL_NV_vertex_array_range
-#define WGL_NV_vertex_array_range 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern void* WINAPI wglAllocateMemoryNV (GLsizei, GLfloat, GLfloat, GLfloat);
-extern void WINAPI wglFreeMemoryNV (void *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef void* (WINAPI * PFNWGLALLOCATEMEMORYNVPROC) (GLsizei size, GLfloat readfreq, GLfloat writefreq, GLfloat priority);
-typedef void (WINAPI * PFNWGLFREEMEMORYNVPROC) (void *pointer);
-#endif
-
-#ifndef WGL_3DFX_multisample
-#define WGL_3DFX_multisample 1
-#endif
-
-#ifndef WGL_EXT_multisample
-#define WGL_EXT_multisample 1
-#endif
-
-#ifndef WGL_OML_sync_control
-#define WGL_OML_sync_control 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetSyncValuesOML (HDC, INT64 *, INT64 *, INT64 *);
-extern BOOL WINAPI wglGetMscRateOML (HDC, INT32 *, INT32 *);
-extern INT64 WINAPI wglSwapBuffersMscOML (HDC, INT64, INT64, INT64);
-extern INT64 WINAPI wglSwapLayerBuffersMscOML (HDC, int, INT64, INT64, INT64);
-extern BOOL WINAPI wglWaitForMscOML (HDC, INT64, INT64, INT64, INT64 *, INT64 *, INT64 *);
-extern BOOL WINAPI wglWaitForSbcOML (HDC, INT64, INT64 *, INT64 *, INT64 *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETSYNCVALUESOMLPROC) (HDC hdc, INT64 *ust, INT64 *msc, INT64 *sbc);
-typedef BOOL (WINAPI * PFNWGLGETMSCRATEOMLPROC) (HDC hdc, INT32 *numerator, INT32 *denominator);
-typedef INT64 (WINAPI * PFNWGLSWAPBUFFERSMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder);
-typedef INT64 (WINAPI * PFNWGLSWAPLAYERBUFFERSMSCOMLPROC) (HDC hdc, int fuPlanes, INT64 target_msc, INT64 divisor, INT64 remainder);
-typedef BOOL (WINAPI * PFNWGLWAITFORMSCOMLPROC) (HDC hdc, INT64 target_msc, INT64 divisor, INT64 remainder, INT64 *ust, INT64 *msc, INT64 *sbc);
-typedef BOOL (WINAPI * PFNWGLWAITFORSBCOMLPROC) (HDC hdc, INT64 target_sbc, INT64 *ust, INT64 *msc, INT64 *sbc);
-#endif
-
-#ifndef WGL_I3D_digital_video_control
-#define WGL_I3D_digital_video_control 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetDigitalVideoParametersI3D (HDC, int, int *);
-extern BOOL WINAPI wglSetDigitalVideoParametersI3D (HDC, int, const int *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
-typedef BOOL (WINAPI * PFNWGLSETDIGITALVIDEOPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
-#endif
-
-#ifndef WGL_I3D_gamma
-#define WGL_I3D_gamma 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetGammaTableParametersI3D (HDC, int, int *);
-extern BOOL WINAPI wglSetGammaTableParametersI3D (HDC, int, const int *);
-extern BOOL WINAPI wglGetGammaTableI3D (HDC, int, USHORT *, USHORT *, USHORT *);
-extern BOOL WINAPI wglSetGammaTableI3D (HDC, int, const USHORT *, const USHORT *, const USHORT *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, int *piValue);
-typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEPARAMETERSI3DPROC) (HDC hDC, int iAttribute, const int *piValue);
-typedef BOOL (WINAPI * PFNWGLGETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, USHORT *puRed, USHORT *puGreen, USHORT *puBlue);
-typedef BOOL (WINAPI * PFNWGLSETGAMMATABLEI3DPROC) (HDC hDC, int iEntries, const USHORT *puRed, const USHORT *puGreen, const USHORT *puBlue);
-#endif
-
-#ifndef WGL_I3D_genlock
-#define WGL_I3D_genlock 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglEnableGenlockI3D (HDC);
-extern BOOL WINAPI wglDisableGenlockI3D (HDC);
-extern BOOL WINAPI wglIsEnabledGenlockI3D (HDC, BOOL *);
-extern BOOL WINAPI wglGenlockSourceI3D (HDC, UINT);
-extern BOOL WINAPI wglGetGenlockSourceI3D (HDC, UINT *);
-extern BOOL WINAPI wglGenlockSourceEdgeI3D (HDC, UINT);
-extern BOOL WINAPI wglGetGenlockSourceEdgeI3D (HDC, UINT *);
-extern BOOL WINAPI wglGenlockSampleRateI3D (HDC, UINT);
-extern BOOL WINAPI wglGetGenlockSampleRateI3D (HDC, UINT *);
-extern BOOL WINAPI wglGenlockSourceDelayI3D (HDC, UINT);
-extern BOOL WINAPI wglGetGenlockSourceDelayI3D (HDC, UINT *);
-extern BOOL WINAPI wglQueryGenlockMaxSourceDelayI3D (HDC, UINT *, UINT *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLENABLEGENLOCKI3DPROC) (HDC hDC);
-typedef BOOL (WINAPI * PFNWGLDISABLEGENLOCKI3DPROC) (HDC hDC);
-typedef BOOL (WINAPI * PFNWGLISENABLEDGENLOCKI3DPROC) (HDC hDC, BOOL *pFlag);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEI3DPROC) (HDC hDC, UINT uSource);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEI3DPROC) (HDC hDC, UINT *uSource);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT uEdge);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEEDGEI3DPROC) (HDC hDC, UINT *uEdge);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT uRate);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSAMPLERATEI3DPROC) (HDC hDC, UINT *uRate);
-typedef BOOL (WINAPI * PFNWGLGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT uDelay);
-typedef BOOL (WINAPI * PFNWGLGETGENLOCKSOURCEDELAYI3DPROC) (HDC hDC, UINT *uDelay);
-typedef BOOL (WINAPI * PFNWGLQUERYGENLOCKMAXSOURCEDELAYI3DPROC) (HDC hDC, UINT *uMaxLineDelay, UINT *uMaxPixelDelay);
-#endif
-
-#ifndef WGL_I3D_image_buffer
-#define WGL_I3D_image_buffer 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern LPVOID WINAPI wglCreateImageBufferI3D (HDC, DWORD, UINT);
-extern BOOL WINAPI wglDestroyImageBufferI3D (HDC, LPVOID);
-extern BOOL WINAPI wglAssociateImageBufferEventsI3D (HDC, const HANDLE *, const LPVOID *, const DWORD *, UINT);
-extern BOOL WINAPI wglReleaseImageBufferEventsI3D (HDC, const LPVOID *, UINT);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef LPVOID (WINAPI * PFNWGLCREATEIMAGEBUFFERI3DPROC) (HDC hDC, DWORD dwSize, UINT uFlags);
-typedef BOOL (WINAPI * PFNWGLDESTROYIMAGEBUFFERI3DPROC) (HDC hDC, LPVOID pAddress);
-typedef BOOL (WINAPI * PFNWGLASSOCIATEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const HANDLE *pEvent, const LPVOID *pAddress, const DWORD *pSize, UINT count);
-typedef BOOL (WINAPI * PFNWGLRELEASEIMAGEBUFFEREVENTSI3DPROC) (HDC hDC, const LPVOID *pAddress, UINT count);
-#endif
-
-#ifndef WGL_I3D_swap_frame_lock
-#define WGL_I3D_swap_frame_lock 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglEnableFrameLockI3D (void);
-extern BOOL WINAPI wglDisableFrameLockI3D (void);
-extern BOOL WINAPI wglIsEnabledFrameLockI3D (BOOL *);
-extern BOOL WINAPI wglQueryFrameLockMasterI3D (BOOL *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLENABLEFRAMELOCKI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLDISABLEFRAMELOCKI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLISENABLEDFRAMELOCKI3DPROC) (BOOL *pFlag);
-typedef BOOL (WINAPI * PFNWGLQUERYFRAMELOCKMASTERI3DPROC) (BOOL *pFlag);
-#endif
-
-#ifndef WGL_I3D_swap_frame_usage
-#define WGL_I3D_swap_frame_usage 1
-#ifdef WGL_WGLEXT_PROTOTYPES
-extern BOOL WINAPI wglGetFrameUsageI3D (float *);
-extern BOOL WINAPI wglBeginFrameTrackingI3D (void);
-extern BOOL WINAPI wglEndFrameTrackingI3D (void);
-extern BOOL WINAPI wglQueryFrameTrackingI3D (DWORD *, DWORD *, float *);
-#endif /* WGL_WGLEXT_PROTOTYPES */
-typedef BOOL (WINAPI * PFNWGLGETFRAMEUSAGEI3DPROC) (float *pUsage);
-typedef BOOL (WINAPI * PFNWGLBEGINFRAMETRACKINGI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLENDFRAMETRACKINGI3DPROC) (void);
-typedef BOOL (WINAPI * PFNWGLQUERYFRAMETRACKINGI3DPROC) (DWORD *pFrameCount, DWORD *pMissedFrames, float *pLastMissedUsage);
-#endif
-
-#ifndef WGL_ATI_pixel_format_float
-#define WGL_ATI_pixel_format_float 1
-#endif
-
-#ifndef WGL_NV_float_buffer
-#define WGL_NV_float_buffer 1
-#endif
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/src/projectM-iTunes/iprojectM.cpp b/src/projectM-iTunes/iprojectM.cpp
deleted file mode 100755
index 150cfc0..0000000
--- a/src/projectM-iTunes/iprojectM.cpp
+++ /dev/null
@@ -1,893 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2007 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-/**
- * $Id: iprojectM.c,v 1.10 2004/11/07 17:29:04 cvs Exp $
- *
- * iTunes Plugin Wrapper for projectM
- */
-
-#include <string.h>
-#ifdef WIN32
-#include <windows.h>
-#endif
-
-#include <projectM-engine/carbontoprojectM.hpp>
-#include <projectM-engine/Common.hpp>
-#include <projectM-engine/BeatDetect.hpp>
-#include <projectM-engine/PCM.hpp>
-#include <projectM-engine/projectM.hpp>
-//#include <projectM-engine/menu.h>
-
-#ifdef WIN32
-
-#include "win32/iTunesVisualAPI.h"
-#else
-#ifdef MACOS
-#include "macos/iTunesVisualAPI.h"
-#include <agl.h>
-
-#endif /** MACOS */
-#endif /** WIN32 */
-
-#ifdef WIN32
-// window information
-HWND windowHandle;
-HDC windowDC;
-HGLRC windowRC;
-#endif /** WIN32 */
-
-#ifdef MACOS
-CGrafPtr port = NULL;
-AGLContext context = NULL;
-int frameCount = 0;
-CFDictionaryRef desktopMode = NULL;
-CFDictionaryRef fullscreenMode = NULL;
-int inFullScreenMode = 0;
-int displayCaptured = 0;
-boolean_t exactMatch;
-int fullscreenWidth, fullscreenHeight;
-#endif /** MACOS */
-
-#ifdef MACOS
-#define kTVisualPluginName                      "\pprojectM"
-#define kTVisualPluginCreator           'hook'
-#define kTVisualPluginMajorVersion      1
-#define kTVisualPluginMinorVersion      0
-#define kTVisualPluginReleaseStage      finalStage
-#define kTVisualPluginNonFinalRelease   0
-#endif /** MACOS */
-
-/** Port dimensions */
-int windowWidth;
-int windowHeight;
-
-/** projectM info */
-projectM *globalPM = NULL;
-#ifdef DEBUG
-FILE *debugFile = NULL;
-#endif
-
-// iTunes information
-RenderVisualData renderData;
-int playing;
-void *appCookie;
-ITAppProcPtr appProc;
-#ifdef WIN32
-ITTrackInfoV1       trackInfo;
-ITStreamInfoV1      streamInfo;
-#else
-#ifdef MACOS
-ITTrackInfo trackInfo;
-ITStreamInfo streamInfo;
-FSSpec pluginSpec;
-#endif /** MACOS */
-#endif /** WIN32 */
-
-#ifdef MACOS
-void CleanupGL();
-#endif
-
-#ifdef MACOS
-/** fss2path takes the FSSpec of the plugin and returns the filename */
-void fss2path( FSSpec *fss, char *path ) {
-
-    int l;
-
-    for ( l = 0 ; l < (fss->name[0]) ; l++ ) {
-        path[l] = fss->name[l + 1];
-      }
-    path[l] = '\0';
-
-    DWRITE( "fss2path: '%s'\n", path );
-
-    if ( fss->parID != fsRtParID) {
-        int i, len;
-        CInfoPBRec pb;
-
-        pb.dirInfo.ioNamePtr = fss->name;
-        pb.dirInfo.ioVRefNum = fss->vRefNum;
-        pb.dirInfo.ioDrParID = fss->parID;
-
-        do {
-            pb.dirInfo.ioFDirIndex = -1;
-            pb.dirInfo.ioDrDirID = pb.dirInfo.ioDrParID;
-
-            if ( PBGetCatInfoSync( &pb ) != noErr ) {
-                break;
-              }
-
-            len = fss->name[0] + 1;
-            for ( i = l ; i >= 0 ; i-- ) path[i + len] = path[i];
-            for ( i = 1 ; i < len ; i++ ) path[i - 1] = fss->name[i];
-
-            path[i - 1] = '/';
-            l += len;
-          } while ( pb.dirInfo.ioDrDirID != fsRtDirID );
-
-        len = 9;
-        for ( i = l ; i >= 0 ; i-- ) path[i + len] = path[i];
-        path[0] = '/';
-        path[1] = 'V';
-        path[2] = 'o';
-        path[3] = 'l';
-        path[4] = 'u';
-        path[5] = 'm';
-        path[6] = 'e';
-        path[7] = 's';
-        path[8] = '/';
-      }
-  }
-#endif
-
-// create OpenGL rendering context for the specified window
-#ifdef WIN32
-void InitializeGL(HWND hwnd)
-{
-    int pixelFormat;
-    PIXELFORMATDESCRIPTOR pfd = {
-        sizeof (PIXELFORMATDESCRIPTOR), /* struct size      */
-        1,                              /* Version number   */
-        PFD_DRAW_TO_WINDOW      /* Flags, draw to a window, */
-          | PFD_DOUBLEBUFFER    /* Requires Doublebuffer hw */
-          | PFD_SUPPORT_OPENGL, /* use OpenGL               */
-        PFD_TYPE_RGBA,          /* RGBA pixel values        */
-        32,                     /* 24-bit color             */
-        0, 0, 0,                /* RGB bits & shift sizes.  */
-        0, 0, 0,                /* Don't care about them    */
-        0, 0,                   /* No alpha buffer info     */
-        0, 0, 0, 0, 0,          /* No accumulation buffer   */
-        16,                     /* depth buffer             */
-        1,                      /* stencil buffer           */
-        0,                      /* No auxiliary buffers     */
-        PFD_MAIN_PLANE,         /* Layer type               */
-        0,                      /* Reserved (must be 0)     */
-        0,                      /* No layer mask            */
-        0,                      /* No visible mask          */
-        0                       /* No damage mask           */
-      };
-
-    windowHandle = hwnd;
-    windowDC = GetDC(windowHandle);
-
-//    memset(&pfd, 0, sizeof(PIXELFORMATDESCRIPTOR));
-
-    pixelFormat = ChoosePixelFormat(windowDC, &pfd);
-    if (pixelFormat == 0)
-        return;
-
-    if (SetPixelFormat(windowDC, pixelFormat, &pfd) == 0)
-        return;
-
-    windowRC = wglCreateContext(windowDC);
-    if (windowRC == NULL)
-        return;
-
-    if (!wglMakeCurrent(windowDC, windowRC))
-        return;
-
-#ifdef PANTS
-    // enable v-sync if WGL_EXT_swap_control is supported
-    PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
-    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT");
-    if (wglSwapIntervalEXT != NULL)
-        wglSwapIntervalEXT(1);
-#endif
-
-    /** Initialise projectM */
-#ifdef DEBUG
-    debugFile = fopen( "c:\\iprojectM.txt", "wb" );
-#endif
-    globalPM = (projectM_t *)malloc( sizeof( projectM_t ) );
-    projectM_reset( globalPM );
-
-    globalPM->fullscreen = 0;
-    globalPM->usePbuffers = 1;
-    globalPM->renderTarget->texsize = 1024;
-    globalPM->showfps = 1;
-
-    /** Initialise font and preset paths */
-    globalPM->fontURL = (char *)malloc( sizeof( char ) * 1024 );
-    strcpy( globalPM->fontURL, "c:\\Program Files\\iTunes\\Plug-ins\\projectM\\fonts" );
-
-    globalPM->presetURL = (char *)malloc( sizeof( char ) * 1024 );
-    strcpy( globalPM->presetURL, "c:\\Program Files\\iTunes\\Plug-ins\\projectM\\presets" );
-
-    projectM_init( globalPM );
-}
-#else
-#ifdef MACOS
-void InitializeGL( CGrafPtr destPort, int isFullScreen ) {
-
-    AGLPixelFormat pixelFormat;
-    GLint attrib[64];
-
-    DWRITE( "InitializeGL(): in: %d\n", isFullScreen );
-
-    /** Stash the target port */
-    port = destPort;
-
-#ifdef PANTS
-    if ( isFullScreen ) {
-        CGCaptureAllDisplays();
-        displayCaptured = 1;
-        if ( fullscreenMode != NULL ) {
-            if ( CGDisplaySwitchToMode( kCGDirectMainDisplay, fullscreenMode ) != CGDisplayNoErr ) {
-                DWRITE( "%s\n", "failed to switch display to fullscreen" );
-              } else {
-                DWRITE( "%s\n", "display switch to fullscreen ok\n" );
-              }
-          }
-      } else {
-        /** Switch back to the previous desktop mode */
-        if ( desktopMode != NULL ) {
-            if ( CGDisplaySwitchToMode( kCGDirectMainDisplay, desktopMode ) != CGDisplayNoErr ) {
-                DWRITE( "%s\n", "failed to switch display" );
-              } else {
-                DWRITE( "%s\n", "display switch OK" );
-              }
-          }
-      }
-#endif
-
-    /** Chuck out the old context if one exists */
-    if ( context != NULL ) {
-        aglDestroyContext( context );
-        context = NULL;
-      }
-
-    /** Choose the OpenGL pixel format */
-#ifdef PANTS
-    if ( isFullScreen ) {
-        attrib[0] = AGL_RGBA;
-        attrib[1] = AGL_DOUBLEBUFFER;
-        attrib[2] = AGL_PIXEL_SIZE;
-        attrib[3] = 32;
-        attrib[4] = AGL_FULLSCREEN;
-        attrib[5] = AGL_NO_RECOVERY;
-        attrib[6] = AGL_SINGLE_RENDERER;
-        attrib[6] = AGL_NONE;
-      } else {
-#endif
-        attrib[0] = AGL_RGBA;
-        attrib[1] = AGL_DOUBLEBUFFER;
-        attrib[2] = AGL_ACCELERATED;
-        attrib[3] = AGL_PIXEL_SIZE;
-        attrib[4] = 32;
-        attrib[5] = AGL_NO_RECOVERY;
-        attrib[6] = AGL_SINGLE_RENDERER;
-        attrib[5] = AGL_NONE;
-//      }
-
-    GDHandle mainDevice = GetMainDevice();
-    pixelFormat = aglChoosePixelFormat( &mainDevice, 1, attrib );
-    if ( pixelFormat == 0 ) {
-        DWRITE( "failed to select pixel format\n" );
-        exit( 1 );
-        CleanupGL();
-        isFullScreen = 0;
-        return;
-      } else {
-        DWRITE( "selected pixel format OK\n" );
-      }
-
-    context = aglCreateContext( pixelFormat, NULL );
-    if ( context == NULL ) {
-        DWRITE( "failed to create context\n" );
-      } else {
-        DWRITE( "created context OK\n" );
-      }
-
-//    if ( !isFullScreen ) {
-        if ( !aglSetDrawable( context, destPort ) ) {
-            DWRITE( "failed to set drawable\n" );
-          } else {
-            DWRITE( "set drawable OK\n" );
-          }
-//      } else {
-//        aglSetDrawable( context, NULL );
-//      }
-
-    if ( !aglSetCurrentContext( context ) ) {
-        DWRITE( "failed to make context current\n" );
-      } else {
-        DWRITE( "set current context OK\n" );
-      }
-
-//    if ( !isFullScreen ) {
-        if ( !aglUpdateContext( context ) ) {
-            DWRITE( "failed to update context\n" );
-          } else {
-            DWRITE( "updated context OK\n" );
-          }
-
-        if ( globalPM != NULL ) {
-            globalPM->fullscreen = 0;
-          }
-#ifdef PANTS
-      } else {
-        aglSetFullScreen( context, 800, 600, 0, 0 );
-        if ( globalPM != NULL ) {
-            globalPM->fullscreen = 1;
-          }
-        GLint displayCaps[3];
-        aglGetInteger( context, AGL_FULLSCREEN, displayCaps );
-        DWRITE( "dcaps: %d\t%d\t%d\n", 
-                displayCaps[0], displayCaps[1], displayCaps[2] );
-        fullscreenWidth = displayCaps[0];
-        fullscreenHeight = displayCaps[1];
-      }
-#endif
-
-#ifdef WIN32
-    // enable v-sync if WGL_EXT_swap_control is supported
-    PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL;
-    wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC)wglGetProcAddress("wglSwapIntervalEXT");
-    if (wglSwapIntervalEXT != NULL)
-        wglSwapIntervalEXT(1);
-#endif
-#ifdef MACOS
-    /** Setup VSYNC */
-    GLint sync = 1;
-    aglSetInteger ( context, AGL_SWAP_INTERVAL, &sync );
-#endif
-
-    /** Initialise projectM */
-    globalPM->projectM_init();
-  }
-
-#endif /** MACOS */
-#endif /** WIN32 */
-
-// render visualization data
-void RenderGL()
-{
-#ifdef WIN32
-    if (windowDC == NULL || globalPM == NULL ) return;
-#else
-#ifdef MACOS
-    if ( port == NULL || context == NULL ) {
-        return;
-      }
-#endif /** MACOS */
-#endif /** WIN32 */
-
-    /** Stuff the PCM data into projectM */
-    globalPM->beatDetect->pcm->addPCM8( renderData.waveformData );
-
-    /** Render a frame via projectM */
-    globalPM->renderFrame();
-
-#if defined(DEBUG2) && defined(MACOS)
-    fprintf( debugFile, "port: %X\tcontext: %X\n", port, context );
-    fflush( debugFile );
-#endif
-
-#ifdef WIN32
-    /** Buffer swap to display the results */
-    SwapBuffers( windowDC );
-#else
-#ifdef MACOS
-    aglSwapBuffers( context );
-#endif /** MACOS */
-#endif /** WIN32 */
-  }
-
-// resize rendering viewport
-void ResizeGL( CGrafPtr destPort, Rect windowRect, int isFullScreen ) {
-
-#ifdef MACOS
-    GLint bufferRect[4];
-#endif
-
-    DWRITE( "ResizeGL(): in: %d\n", isFullScreen );
-
-#ifdef PANTS
-    if ( isFullScreen ) {
-#ifdef MACOS
-        aglDisable( context, AGL_BUFFER_RECT );
-#endif /** MACOS */
-
-        /** Reset projectM */
-        if ( globalPM != NULL ) {
-            globalPM->projectM_resetGL( fullscreenWidth, fullscreenHeight );
-          }
-      } else {
-#endif
-        windowWidth = windowRect.right - windowRect.left;
-        windowHeight = windowRect.bottom - windowRect.top;
-
-        if (windowHeight == 0) windowHeight = 1;
-
-        /** Re-initialise OpenGL */
-        if ( globalPM != NULL ) {
-#ifdef MACOS
-            /** 
-             * Grab the dimensions of the main window itself. This is required
-             * to accurately locate the port since OpenGL is "upside-down" from
-             * Carbon window coordinates...
-             */
-            WindowRef itWindowRef;
-            Rect mwindowRect;
-            itWindowRef = GetWindowFromPort(port);
-            GetWindowPortBounds(itWindowRef, &mwindowRect);
-
-            DWRITE( "rect: (%d, %d) -> (%d, %d)\n",
-                     windowRect.left, windowRect.top,
-                     windowRect.right, windowRect.bottom );
-            DWRITE( "window-rect: (%d, %d) -> (%d, %d)\n",
-                     mwindowRect.left, mwindowRect.top,
-                     mwindowRect.right, mwindowRect.bottom );
-
-            /** Update the buffer rect */
-            bufferRect[0] = windowRect.left;
-            bufferRect[1] = mwindowRect.bottom - windowRect.bottom;
-            bufferRect[2] = windowWidth;
-            bufferRect[3] = windowHeight;
-
-            aglSetInteger( context, AGL_BUFFER_RECT, bufferRect );
-            aglEnable( context, AGL_BUFFER_RECT );
-
-            if ( !aglUpdateContext( context ) ) {
-                DWRITE( "failed to update context\n" );
-              } else {
-                DWRITE( "updated context OK\n" );
-              }
-#endif
-            globalPM->projectM_resetGL( windowWidth, windowHeight );
-          }
-//      }
-  }
-
-// cleanup OpenGL rendering context
-void CleanupGL()
-{
-#ifdef WIN32
-    wglMakeCurrent(NULL, NULL);
-
-    if (windowRC != NULL)
-    {
-        wglDeleteContext(windowRC);
-        windowRC = NULL;
-    }
-
-    if (windowDC)
-    {
-        ReleaseDC(windowHandle, windowDC);
-        windowDC = NULL;
-    }
-#else
-#ifdef MACOS
-    /** Release the held main display */
-#ifdef PANTS
-    if ( displayCaptured ) {
-        DWRITE( "%s\n", "switching to non-fullscreen" );
-        CGDisplaySwitchToMode( kCGDirectMainDisplay, desktopMode );
-
-        DWRITE( "%s\n", "releasing displays" );
-        CGReleaseAllDisplays();
-      }
-#endif
-    DWRITE( "pre-context destroy\n" );
-    if ( context != NULL ) {
-        aglSetCurrentContext( NULL );
-        aglDestroyContext( context );
-        context = NULL;
-      }
-#endif /** MACOS */
-#endif /** WIN32 */
-  }
-
-// handle messages sent by iTunes
-OSStatus pluginMessageHandler( OSType message, 
-                               VisualPluginMessageInfo *messageInfo,
-                               void *refCon) {
-
-    OSStatus status = noErr;
-
-    switch (message) {
-        // sent when the plugin is loaded/unloaded
-        case kVisualPluginInitMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginInitMessage" );
-            break;
-          }
-        case kVisualPluginCleanupMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginCleanupMessage" );
-//            CleanupGL();
-            break;
-          }
-        // sent when plugin is enabled/disabled, plugin should handle these messages and do nothing
-        case kVisualPluginEnableMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginEnableMessage" );
-            break;
-          }
-        case kVisualPluginDisableMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginDisableMessage" );
-            break;
-          }
-
-        // redraw the screne while idle
-        case kVisualPluginIdleMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginIdleMessage" );
-            if (playing == false) {
-                RenderGL();
-              }
-
-            break;
-          }
-
-        // sent when the visualizer is shown
-        case kVisualPluginShowWindowMessage: {
-            DWRITE( "*** kVisualPluginShowWindowMessage( %d )\n",
-                     messageInfo->u.showWindowMessage.options );
-#ifdef WIN32
-            InitializeGL(messageInfo->u.showWindowMessage.window,
-                         messageInfo->u.showWindowMessage.options );
-#else
-#ifdef MACOS
-            InitializeGL( messageInfo->u.showWindowMessage.port,
-                          /* messageInfo->u.showWindowMessage.options */ 0 );
-#endif /** MACOS */
-#endif /** WIN32 */
-            ResizeGL( messageInfo->u.showWindowMessage.port,
-                      messageInfo->u.setWindowMessage.drawRect,
-                      /* messageInfo->u.setWindowMessage.options */ 0 );
-            RenderGL();
-        
-            break;
-          }
-
-        // sent when the visualizer is hidden
-        case kVisualPluginHideWindowMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginHideWindowMessage" );
-            CleanupGL();
-            break;
-          }
-
-#ifdef PANTS
-        // sent when visualizer viewport size is changed
-        case kVisualPluginSetWindowMessage: {
-            DWRITE( "*** kVisualPluginSetWindowMessage( %d )\n",
-                    messageInfo->u.setWindowMessage.options );
-            ResizeGL(messageInfo->u.setWindowMessage.port,
-                     messageInfo->u.setWindowMessage.drawRect,
-                     messageInfo->u.setWindowMessage.options);
-            RenderGL();
-
-            break;
-          }
-#endif
-
-        // sent when visualizer should render a frame
-        case kVisualPluginRenderMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginRenderMessage" );
-            renderData = *messageInfo->u.renderMessage.renderData;
-            RenderGL();
-
-            break;
-          }
-
-        // sent when visualizer should update itself
-        case kVisualPluginUpdateMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginUpdateMessage" );
-            RenderGL();
-            break;
-          }
-
-        // sent when player is stopped or paused
-        case kVisualPluginStopMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginStopMessage" );
-            break;
-          }
-        case kVisualPluginPauseMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginPauseMessage" );
-            playing = false;
-            break;
-          }
-
-        // sent when player is started or unpaused
-        case kVisualPluginPlayMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginPlayMessage" );
-            break;
-          }
-        case kVisualPluginUnpauseMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginPauseMessage" );
-            /** Grab the track or stream title from iTunes */
-            if (messageInfo->u.changeTrackMessage.trackInfo != nil) {
-                trackInfo = *messageInfo->u.changeTrackMessage.trackInfo;
-              } else {
-                memset( &trackInfo, sizeof( trackInfo ) * sizeof( char ), 0 );
-              }
-
-            if (messageInfo->u.changeTrackMessage.streamInfo != nil) {
-                streamInfo = *messageInfo->u.changeTrackMessage.streamInfo;
-              } else {
-                memset( &streamInfo, sizeof( streamInfo ) * sizeof( char ), 0 );
-              }
-
-            /** Pass this info into projectM */
-            if ( globalPM != NULL ) {
-                globalPM->drawtitle = 1;
-                if ( strlen( (const char *)trackInfo.name ) > 0 ) {
-                    globalPM->projectM_setTitle( (char *)trackInfo.name );
-                  } else {
-                    if ( strlen( (const char *)streamInfo.streamTitle ) > 0 ) {
-                        globalPM->projectM_setTitle( (char *)streamInfo.streamTitle );
-                      }
-                  }
-              }
-
-            playing = true;
-
-            break;
-          }
-
-        /** Sent when the track changes */
-        case kVisualPluginChangeTrackMessage: {
-            DWRITE( "*** %s\n", "kVisualPluginChangeTrackMessage" );
-            /** Grab the track or stream title from iTunes */
-            if (messageInfo->u.changeTrackMessage.trackInfo != nil) {
-                trackInfo = *messageInfo->u.changeTrackMessage.trackInfo;
-              } else {
-                memset( &trackInfo, sizeof( trackInfo ) * sizeof( char ), 0 );
-              }
-
-            if (messageInfo->u.changeTrackMessage.streamInfo != nil) {
-                streamInfo = *messageInfo->u.changeTrackMessage.streamInfo;
-              } else {
-                memset( &streamInfo, sizeof( streamInfo ) * sizeof( char ), 0 );
-              }
-
-            /** Pass this info into projectM */
-            globalPM->drawtitle = 1;
-            if ( strlen( (const char *)trackInfo.name ) > 0 ) {
-                globalPM->projectM_setTitle( (char *)trackInfo.name );
-              } else {
-                if ( strlen( (const char *)streamInfo.streamTitle ) > 0 ) {
-                    globalPM->projectM_setTitle( (char *)streamInfo.streamTitle );
-                  }
-              }
-            RenderGL();
-            break;
-          }
-        case kVisualPluginEventMessage: {
-            projectMEvent event;
-            projectMKeycode keycode;
-            projectMModifier mod;
-            DWRITE( "*** %s\n", "kVisualPluginEventMessage" );
-#ifdef MACOS
-            event = carbon2pmEvent( messageInfo->u.eventMessage.event );
-            keycode = carbon2pmKeycode( messageInfo->u.eventMessage.event );
-#else
-#ifdef WIN32
-#endif /** WIN32 */
-#endif /** MACOS */
-            DWRITE( "keycode: %d\n", keycode );
-            if ( keycode == ' ' ) {
-                status = unimpErr;
-              }
-            globalPM->key_handler( event, keycode, mod );
-            break;
-          }
-        default: {
-            status = unimpErr;
-            break;
-          }
-    }
-
-    return status;  
-}
-
-// register plugin with iTunes
-OSStatus registerPlugin(PluginMessageInfo *messageInfo) {
-
-    OSStatus status;
-
-    // plugin constants
-#ifdef WIN32
-    const char *pluginTitle = "projectM";
-    const UInt32 pluginCreator = '\?\?\?\?';
-#else
-#ifdef MACOS
-    const char *pluginTitle = "projectM";
-    const UInt32 pluginCreator = 'hook';
-#endif /** MACOS */
-#endif /** WIN32 */
-    const UInt8 pluginMajorVersion = 10;
-    const UInt8 pluginMinorVersion = 9;
-
-    PlayerMessageInfo playerMessageInfo;
-    memset( &playerMessageInfo.u.registerVisualPluginMessage, 
-            0, sizeof(playerMessageInfo.u.registerVisualPluginMessage));
-
-    // copy in name length byte first
-    playerMessageInfo.u.registerVisualPluginMessage.name[0] =
-        (UInt8)strlen( pluginTitle );
-
-    // now copy in actual name
-    memcpy( &playerMessageInfo.u.registerVisualPluginMessage.name[1],
-            pluginTitle, strlen( pluginTitle ));
-
-    SetNumVersion( &playerMessageInfo.u.registerVisualPluginMessage.pluginVersion,
-                   pluginMajorVersion, pluginMinorVersion, 0x80, 0);
-
-    playerMessageInfo.u.registerVisualPluginMessage.options =
-        kVisualWantsIdleMessages;
-#ifdef WIN32
-    playerMessageInfo.u.registerVisualPluginMessage.handler =
-        pluginMessageHandler;
-#else
-    playerMessageInfo.u.registerVisualPluginMessage.handler =
-        (VisualPluginProcPtr)pluginMessageHandler;
-#endif
-    playerMessageInfo.u.registerVisualPluginMessage.registerRefCon = 0;
-    playerMessageInfo.u.registerVisualPluginMessage.creator = pluginCreator;
-
-    playerMessageInfo.u.registerVisualPluginMessage.timeBetweenDataInMS = 0xFFFFFFFF; // 16 milliseconds = 1 Tick, 0xFFFFFFFF = Often as possible.
-    playerMessageInfo.u.registerVisualPluginMessage.numWaveformChannels = 2;
-    playerMessageInfo.u.registerVisualPluginMessage.numSpectrumChannels = 2;
-
-    playerMessageInfo.u.registerVisualPluginMessage.minWidth = 64;
-    playerMessageInfo.u.registerVisualPluginMessage.minHeight = 64;
-    playerMessageInfo.u.registerVisualPluginMessage.maxWidth = 32767;
-    playerMessageInfo.u.registerVisualPluginMessage.maxHeight = 32767;
-    playerMessageInfo.u.registerVisualPluginMessage.minFullScreenBitDepth = 0;
-    playerMessageInfo.u.registerVisualPluginMessage.maxFullScreenBitDepth = 0;
-    playerMessageInfo.u.registerVisualPluginMessage.windowAlignmentInBytes = 0;
-
-    status = PlayerRegisterVisualPlugin(messageInfo->u.initMessage.appCookie,
-                                        messageInfo->u.initMessage.appProc,
-                                        &playerMessageInfo);
-
-    appCookie = messageInfo->u.initMessage.appCookie;
-    appProc = messageInfo->u.initMessage.appProc;
-
-    return status;
-}
-
-#ifdef WIN32
-#define IMPEXP __declspec(dllexport)
-#define MAIN iTunesPluginMain
-#else
-#ifdef MACOS
-#define IMPEXP 
-#define MAIN iTunesPluginMainMachO
-#endif /** MACOS */
-#endif /** WIN32 */
-
-#ifdef MACOS
-extern "C"
-#endif
-IMPEXP OSStatus MAIN (OSType message, PluginMessageInfo *messageInfo, void *refCon)
-{
-    OSStatus status = noErr;
-    char fname[1024];
-    char fontURL[1024];
-    char presetURL[1024];
-
-    switch (message) {
-        case kPluginInitMessage: {
-#ifdef DEBUG
-#ifdef MACOS
-            debugFile = fopen( "/Users/descarte/iprojectM.txt", "wb" );
-            fprintf( debugFile, "registerPlugin: %d\n", status );
-            fflush( debugFile );
-#endif /** MACOS */
-#endif /** DEBUG */
-
-            DWRITE( "%s: %d\t%d\n", 
-                    "kPluginInitMessage",
-                    messageInfo->u.initMessage.majorVersion, 
-                    messageInfo->u.initMessage.minorVersion );
-            status = registerPlugin(messageInfo);
-            if ( status == noErr ) {
-#ifdef MACOS
-                desktopMode = CGDisplayCurrentMode( kCGDirectMainDisplay );
-                fullscreenMode = 
-                    CGDisplayBestModeForParameters( kCGDirectMainDisplay,
-                                                    32, 800, 600, NULL );
-#ifdef DEBUG
-                if ( debugFile != NULL ) {
-                    long dwidth = 0, dheight = 0;
-                    /** Get the desktop mode */
-                    /* Get the height, width, bpp, and refresh rate of this display mode. Print them out. */
-                    CFNumberRef number ;
-                    number = (CFNumberRef)CFDictionaryGetValue( desktopMode, kCGDisplayWidth ) ;
-                    CFNumberGetValue( number, kCFNumberLongType, &dwidth ) ;
-                    number = (CFNumberRef)CFDictionaryGetValue( desktopMode, kCGDisplayHeight ) ;
-                    CFNumberGetValue( number, kCFNumberLongType, &dheight ) ;
-    
-                    DWRITE( "stashing desktop mode: %d x %d -> %d\n",
-                            dwidth, dheight, exactMatch );
-                  }
-#endif
-#endif
-
-                /** Initialise projectM */
-		if (globalPM != 0)
-			delete(globalPM);
-                globalPM = new projectM();
-                globalPM->projectM_reset();
-    
-                /** Set basic rendering options */
-                globalPM->renderTarget->usePbuffers = 1;
-                globalPM->fullscreen = 0;
-                globalPM->renderTarget->texsize = 1024;
-                globalPM->showfps = 1;
-            
-                /** Get the font and preset locations */
-                PlayerGetPluginFileSpec( appCookie, appProc, &pluginSpec );
-                fss2path( &pluginSpec, fname );
-                DWRITE( "fsspace name: %s\n", fname );
-                sprintf( fontURL, "%s/Contents/Resources/fonts", fname );
-                globalPM->fontURL = (char *)malloc( sizeof( char ) * 1024 );
-                strncpy( globalPM->fontURL, fontURL, strlen( fontURL ) + 1 );
-            
-                DWRITE( "fontURL: %s\n", globalPM->fontURL );
-            
-                sprintf( presetURL, "%s/Contents/Resources/presets", fname );
-                globalPM->presetURL = (char *)malloc( sizeof( char ) * 1024 );
-                strncpy( globalPM->presetURL, presetURL, strlen( presetURL ) + 1 );
-        
-                DWRITE( "presetURL: %s\n", globalPM->presetURL );
-              }
-
-            break;
-          }
-        case kPluginCleanupMessage: {
-            DWRITE( "%s\n", "kPluginCleanupMessage" );
-#ifdef DEBUG
-            if ( debugFile != NULL ) {
-                fclose( debugFile );
-              }
-#endif
-            status = noErr;
-            break;
-          }
-        default: {
-            status = unimpErr;
-            break;
-          }
-    }
-
-    DWRITE( "status: %d\n", status );
-
-    return status;
-}
diff --git a/src/projectM-iTunes/iprojectM.dsp b/src/projectM-iTunes/iprojectM.dsp
deleted file mode 100755
index d8ec624..0000000
--- a/src/projectM-iTunes/iprojectM.dsp
+++ /dev/null
@@ -1,125 +0,0 @@
-# Microsoft Developer Studio Project File - Name="iprojectM" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=iprojectM - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "iprojectM.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "iprojectM.mak" CFG="iprojectM - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "iprojectM - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "iprojectM - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "iprojectM - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib /nologo /dll /machine:I386 /libpath:"..\projectM\Release"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Release\iprojectM.dll c:\Progra~1\iTunes\Plug-ins
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "iprojectM - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "IPROJECTM_EXPORTS" /D "DEBUG" /YX /FD /GZ /c
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib opengl32.lib glu32.lib projectM.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\projectM\Debug"
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Debug\iprojectM.dll C:\Progra~1\iTunes\Plug-ins
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "iprojectM - Win32 Release"
-# Name "iprojectM - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\iprojectM.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\win32\iTunesAPI.c
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\win32\iTunesAPI.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\win32\iTunesVisualAPI.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/src/projectM-iTunes/macos/iTunesAPI.c b/src/projectM-iTunes/macos/iTunesAPI.c
deleted file mode 100755
index cb9e443..0000000
--- a/src/projectM-iTunes/macos/iTunesAPI.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
-     File:       iTunesAPI.c
- 
-     Contains:   iTunes Plug-ins interfaces
- 
-     Version:    Technology: iTunes
-                 Release:    1.1
- 
-     Copyright:  © 2001 by Apple Computer, Inc., all rights reserved.
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://developer.apple.com/bugreporter/
- 
-*/
-#include "iTunesAPI.h"
-#include "iTunesVisualAPI.h"
-
-// MemClear
-//
-static void MemClear (LogicalAddress dest, SInt32 length)
-{
-	register unsigned char	*ptr;
-
-	ptr = (unsigned char *) dest;
-	
-	if( length > 16 )
-	{
-		register unsigned long	*longPtr;
-		
-		while( ((unsigned long) ptr & 3) != 0 )
-		{
-			*ptr++ = 0;
-			--length;
-		}
-		
-		longPtr = (unsigned long *) ptr;
-		
-		while( length >= 4 )
-		{
-			*longPtr++ 	= 0;
-			length		-= 4;
-		}
-		
-		ptr = (unsigned char *) longPtr;
-	}
-	
-	while( --length >= 0 )
-	{
-		*ptr++ = 0;
-	}
-}
-
-
-// SetNumVersion
-//
-void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev)
-{
-	numVersion->majorRev		= majorRev;
-	numVersion->minorAndBugRev	= minorAndBugRev;
-	numVersion->stage			= stage;
-	numVersion->nonRelRev		= nonRelRev;
-}
-
-
-// ITCallApplication
-//
-OSStatus ITCallApplication (void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo)
-{
-	PlayerMessageInfo	localMessageInfo;
-	
-	if (messageInfo == nil)
-	{
-		MemClear(&localMessageInfo, sizeof(localMessageInfo));
-		
-		messageInfo = &localMessageInfo;
-	}
-	
-	messageInfo->messageMajorVersion = kITCurrentPluginMajorMessageVersion;
-	messageInfo->messageMinorVersion = kITCurrentPluginMinorMessageVersion;
-	messageInfo->messageInfoSize	 = sizeof(PlayerMessageInfo);
-	
-	return handler(appCookie, message, messageInfo);
-}
-
-
-// PlayerSetFullScreen
-//
-OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenMessage.fullScreen = fullScreen;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo);
-}
-
-
-// PlayerSetFullScreenOptions
-//
-OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenOptionsMessage.minBitDepth		= minBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.maxBitDepth		= maxBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.preferredBitDepth = preferredBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredWidth		= desiredWidth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredHeight		= desiredHeight;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenOptionsMessage, &messageInfo);
-}
-
-
-// PlayerGetPluginData
-//
-OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginDataMessage.dataSize;
-	
-	return status;
-}
-
-
-// PlayerSetPluginData
-//
-OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginDataMessage.dataPtr	= dataPtr;
-	messageInfo.u.setPluginDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo);
-}
-
-
-// PlayerGetPluginNamedData
-//
-OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginNamedDataMessage.dataName		= dataName;
-	messageInfo.u.getPluginNamedDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginNamedDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize;
-	
-	return status;
-}
-
-
-// PlayerSetPluginNamedData
-//
-OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginNamedDataMessage.dataName	= dataName;
-	messageInfo.u.setPluginNamedDataMessage.dataPtr		= dataPtr;
-	messageInfo.u.setPluginNamedDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo);
-}
-
-
-// PlayerIdle
-//
-OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil);
-}
-
-
-// PlayerShowAbout
-//
-void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc)
-{
-	ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil);
-}
-
-
-// PlayerOpenURL
-//
-void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.openURLMessage.url	= string;
-	messageInfo.u.openURLMessage.length	= length;
-
-	ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo);
-}
-
-// PlayerUnregisterPlugin
-//
-OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo);
-}
-
-
-// PlayerRegisterVisualPlugin
-//
-OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{			
-	return ITCallApplication(appCookie, appProc, kPlayerRegisterVisualPluginMessage, messageInfo);
-}
-
-// PlayerRegisterDevicePlugin
-//
-OSStatus PlayerRegisterDevicePlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{			
-	return ITCallApplication(appCookie, appProc, kPlayerRegisterDevicePluginMessage, messageInfo);
-}
-
-
-// PlayerSetDeviceSerialNumber
-//
-OSStatus PlayerSetDeviceSerialNumber (void *appCookie, ITAppProcPtr appProc, ConstStringPtr serialNumber)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setDeviceSerialNumberMessage.serialNumber = serialNumber;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetDeviceSerialNumberMessage, &messageInfo);
-}
-
-
-
-
-// PlayerHandleMacOSEvent
-//
-OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled)
-{
-	PlayerMessageInfo	messageInfo;
-	OSStatus			status;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.handleMacOSEventMessage.theEvent = theEvent;
-		
-	status = ITCallApplication(appCookie, appProc, kPlayerHandleMacOSEventMessage, &messageInfo);
-	
-	if( eventHandled != nil )
-		*eventHandled = messageInfo.u.handleMacOSEventMessage.handled;
-	
-	return status;
-}
-
-
-// PlayerGetPluginFileSpec
-//
-OSStatus PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginFileSpecMessage.fileSpec = pluginFileSpec;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerGetPluginFileSpecMessage, &messageInfo);
-}
\ No newline at end of file
diff --git a/src/projectM-iTunes/macos/iTunesAPI.h b/src/projectM-iTunes/macos/iTunesAPI.h
deleted file mode 100755
index e616d4c..0000000
--- a/src/projectM-iTunes/macos/iTunesAPI.h
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
-     File:       iTunesAPI.h
- 
-     Contains:   iTunes Plug-ins interfaces
- 
-     Version:    Technology: iTunes
-                 Release:    1.1
- 
-     Copyright:  © 2001 by Apple Computer, Inc., all rights reserved.
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://developer.apple.com/bugreporter/
- 
-*/
-#ifndef __ITUNESAPI__
-#define __ITUNESAPI__
-
-#include <Files.h>
-#include <MacTypes.h>
-#include <MacWindows.h>
-#include <OSUtils.h>
-#include <Quickdraw.h>
-#include <Sound.h>
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 2)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(2)
-#endif
-
-enum {
-	kITCurrentPluginMajorMessageVersion = 10,
-	kITCurrentPluginMinorMessageVersion = 1
-};
-
-enum {
-	kTrackSupportsID3Tags		= (1L << 0),
-	kTrackHasVariableBitRate	= (1L << 1),
-	kTrackIsFolder				= (1L << 2),			/* Device tracks only. Information returned is for a folder */
-	kTrackIsLocked				= (1L << 3),			/* Device tracks only. Track cannot be deleted or renamed */
-	kTrackCanBeDownloaded		= (1L << 4),			/* Device tracks only. Track can be copied from device to desktop. */
-	kTrackIsHidden				= (1L << 5)				/* Device tracks only. Track should not be displayed in the device window. */
-};
-typedef OptionBits	ITTrackAttributes;
-
-enum {
-	/*
-		These mask values are specified in ITTrackInfo.validFields
-		to indicate which fields contain valid data
-	*/
-	
-	kITTINameFieldMask			= (1L << 0),
-	kITTIFileNameFieldMask		= (1L << 1),
-	kITTIArtistFieldMask		= (1L << 2),
-	kITTIAlbumFieldMask			= (1L << 3),
-	kITTIGenreFieldMask			= (1L << 4),
-	kITTIKindFieldMask			= (1L << 5),
-	kITTITrackNumberFieldsMask	= (1L << 6),
-	kITTIYearFieldMask			= (1L << 7),
-	kITTISoundVolumeFieldMask	= (1L << 8),
-	kITTICommentsFieldMask		= (1L << 10),
-	kITTITotalTimeFieldMask		= (1L << 11),			
-	kITTIStartTimeFieldMask		= (1L << 12),
-	kITTIStopTimeFieldMask		= (1L << 13),
-	kITTISizeFieldMask			= (1L << 14),
-	kITTIBitRateFieldMask		= (1L << 15),
-	kITTISampleRateFieldMask	= (1L << 16),
-	kITTIAttributesFieldMask	= (1L << 17),
-	kITTIFileTypeFieldMask		= (1L << 18),
-	kITTIDateFieldMask			= (1L << 19)
-};
-typedef OptionBits	ITTIFieldMask;
-
-struct ITTrackInfo {
-	ITTIFieldMask		validFields;
-	UInt32				reserved;						/* Must be zero */
-	
-	Str255				name;	
-	Str255				fileName;
-	Str255				artist;
-	Str255				album;
-		
-	Str255				genre;
-	Str255				kind;
-	
-	UInt32				trackNumber;
-	UInt32				numTracks;
-		
-	UInt16				year;
-	SInt16				soundVolumeAdjustment;			/* Valid range is -255 to +255 */
-	
-	Str255				unusedReserved1;				/* Must be empty string */			
-	Str255				comments;
-	
-	UInt32				totalTimeInMS;
-	UInt32				startTimeInMS;
-	UInt32				stopTimeInMS;
-
-	UInt32				sizeInBytes;
-
-	UInt32				bitRate;
-	UInt32				sampleRateFixed;
-
-	OSType				fileType;
-	
-	UInt32				date;
-	UInt32				unusedReserved2;				/* Must be zero */
-	
-	ITTrackAttributes	attributes;
-	ITTrackAttributes	validAttributes;				/* Mask indicating which attributes are applicable */
-};
-typedef struct ITTrackInfo ITTrackInfo;
-
-enum {
-	kCurrentITStreamInfoVersion = 1
-};
-
-typedef FSSpec	ITFileSpec;
-
-struct ITFileLocation {
-	ITFileSpec			spec;
-	FInfo				fInfo;
-};
-typedef struct ITFileLocation ITFileLocation;
-
-
-struct ITStreamInfo {
-	SInt32				version;
-	Str255				streamTitle;
-	Str255				streamURL;
-	Str255				streamMessage;
-};
-typedef struct ITStreamInfo ITStreamInfo;
-
-enum {
-	/* messages sent to plugin main */
-	
-	kPluginInitMessage					= 'init',
-	kPluginCleanupMessage				= 'clr ',
-	
-	kPluginIdleMessage					= 'idle'
-};
-
-
-enum {
-	/* PluginInitMessage.options */
-	
-	kPluginWantsIdleMessages	= (1L << 1),	/* Send idle messages to plugin main */
-	kPluginWantsToBeLeftOpen	= (1L << 2)		/* Don't close this plugin just because */
-												/* it didn't register anyone */
-};
-
-
-enum {
-	/* iTunes API messages */
-
-	kPlayerRegisterVisualPluginMessage	= 'rvis',	/* Register a visual plugin */
-	kPlayerRegisterDevicePluginMessage	= 'rdev',	/* Register a device plugin */
-	
-	/* Available for all plugins */
-
-	kPlayerIdleMessage					= 'idle',	/* Give iTunes some time */
-	
-	kPlayerShowAboutMessage				= 'abou',	/* Show the about box. */
-	kPlayerOpenURLMessage				= 'url ',	/* Open a URL */
-
-	kPlayerSetPluginDataMessage			= 'sprf',	/* Set plugin preferences */
-	kPlayerGetPluginDataMessage			= 'gprf',	/* Get plugin preferences */
-	
-	kPlayerSetPluginNamedDataMessage	= 'snpr',	/* Set plugin named preferenes */
-	kPlayerGetPluginNamedDataMessage	= 'gnpr',	/* Get plugin named preferenes */
-	
-	kPlayerHandleMacOSEventMessage		= 'evnt',	/* Tell player to handle unhandled event */
-		
-	kPlayerGetPluginFileSpecMessage		= 'pspc',	/* Get the location of the plugin executable */
-
-	/* Available for visual plugins */
-
-	kPlayerSetFullScreenMessage			= 'sful',	/* Set full screen mode */
-	kPlayerSetFullScreenOptionsMessage	= 'sfop',	/* Set full screen options */
-	
-	/* Available for device plugins */
-
-	kPlayerSetDeviceSerialNumberMessage = 'dvsn',	/* Set a serial number string for a device. Needed for per-device prefs */
-	kPlayerUnregisterPluginMessage		= 'unrg'	/* Unregister the plugin this comes from */
-};
-
-typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo);
-
-
-/*
-	Plugin main Messages
-*/
-
-struct PluginInitMessage {
-	UInt32							majorVersion;			/* Input */
-	UInt32							minorVersion;			/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-	
-	OptionBits						options;				/* Output, see above for values */
-	void *							refCon;					/* Output */
-};
-typedef struct PluginInitMessage PluginInitMessage;
-
-struct PluginMessageInfo {
-	union {
-		PluginInitMessage			initMessage;
-	} u;
-};
-typedef struct PluginMessageInfo PluginMessageInfo;
-
-
-
-/* Plugin main entry point message handler */
-typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon);
-
-/* Visual plugin message handler */
-typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon);
-
-/* Device plugin message handler */
-typedef OSStatus (*DevicePluginProcPtr)(OSType message, struct DevicePluginMessageInfo *messageInfo, void *refCon);
-
-
-
-/*
-	Callbacks to iTunes
-*/
-
-enum {
-	/* PlayerRegisterVisualPluginMessage.options */
-	
-	kVisualWantsIdleMessages			= (1L << 3),
-	kVisualWantsConfigure				= (1L << 5)
-};
-
-struct PlayerRegisterVisualPluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Displayed in the Visual menu */
-	OptionBits						options;					/* See above */
-	
-	OSType							creator;					/* Identifies the plugin */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	VisualPluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-
-	UInt32							timeBetweenDataInMS;		/* How often to call the plugin (0xFFFFFFFF = as often as possible) */
-	UInt32							numWaveformChannels;		/* 0-2 waveforms requested */
-	UInt32							numSpectrumChannels;		/* 0-2 spectrums requested */
-	
-	SInt16							minWidth;					/* Minimum resizeable width */
-	SInt16							minHeight;					/* Minimum resizeable height */
-	
-	SInt16							maxWidth;					/* Maximum resizeable width */
-	SInt16							maxHeight;					/* Maximum resizeable height */
-		
-	UInt16							minFullScreenBitDepth;		/* 0 = Any */
-	UInt16							maxFullScreenBitDepth;		/* 0 = Any */
-	
-	UInt16							windowAlignmentInBytes;		/* Reserved (should be zero) */
-};
-typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage;
-
-enum {
-	/* PlayerRegisterDevicePluginMessage.options */
-	
-	kDeviceWantsIdleMessages			= (1L << 0)
-};
-
-struct PlayerRegisterDevicePluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Used internally. Not currently displayed */
-	OptionBits						options;					/* See above */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	DevicePluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-	
-	UInt32							reserved[2];				/* Must be zero */
-};
-typedef struct PlayerRegisterDevicePluginMessage PlayerRegisterDevicePluginMessage;
-
-struct PlayerSetFullScreenMessage {
-	Boolean							fullScreen;
-};
-typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage;
-
-struct PlayerSetFullScreenOptionsMessage {
-	SInt16							minBitDepth;				/* 0 = Any */
-	SInt16							maxBitDepth;				/* 0 = Any */
-	SInt16							preferredBitDepth;			/* 0 = Current */
-	
-	SInt16							desiredWidth;				/* Must be within minWidth & maxWidth */
-	SInt16							desiredHeight;				/* Must be within minHeight & maxHeight */
-};
-typedef struct PlayerSetFullScreenOptionsMessage PlayerSetFullScreenOptionsMessage;
-
-struct PlayerOpenURLMessage {
-	SInt8 *							url;
-	UInt32							length;
-};
-typedef struct PlayerOpenURLMessage PlayerOpenURLMessage;
-
-struct PlayerSetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage;
-
-struct PlayerGetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage;
-
-struct PlayerSetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage;
-
-struct PlayerGetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage;
-
-struct PlayerHandleMacOSEventMessage {
-	const EventRecord *				theEvent;		/* Input */
-	
-	Boolean							handled;		/* Output */
-};
-typedef struct PlayerHandleMacOSEventMessage PlayerHandleMacOSEventMessage;
-
-struct PlayerGetPluginFileSpecMessage {
-	FSSpec *						fileSpec;		/* Output */
-};
-typedef struct PlayerGetPluginFileSpecMessage PlayerGetPluginFileSpecMessage;
-
-struct PlayerSetDeviceSerialNumberMessage {
-	ConstStringPtr					serialNumber;	/* Input */
-};
-typedef struct PlayerSetDeviceSerialNumberMessage PlayerSetDeviceSerialNumberMessage;
-
-struct PlayerMessageInfo {
-	UInt32									messageMajorVersion;		/* Should be kITCurrentPluginMajorMessageVersion */
-	UInt32									messageMinorVersion;		/* Should be kITCurrentPluginMinorMessageVersion */
-	UInt32									messageInfoSize;			/* Should be sizeof(PlayerMessageInfo) */
-	
-	union {
-		PlayerRegisterVisualPluginMessage	registerVisualPluginMessage;
-		PlayerRegisterDevicePluginMessage	registerDevicePluginMessage;
-
-		PlayerOpenURLMessage				openURLMessage;
-		
-		PlayerSetPluginDataMessage			setPluginDataMessage;
-		PlayerGetPluginDataMessage			getPluginDataMessage;
-		
-		PlayerSetPluginNamedDataMessage		setPluginNamedDataMessage;
-		PlayerGetPluginNamedDataMessage		getPluginNamedDataMessage;
-		
-		PlayerHandleMacOSEventMessage		handleMacOSEventMessage;
-		
-		PlayerGetPluginFileSpecMessage		getPluginFileSpecMessage;
-
-		PlayerSetFullScreenMessage			setFullScreenMessage;
-		PlayerSetFullScreenOptionsMessage	setFullScreenOptionsMessage;
-
-		PlayerSetDeviceSerialNumberMessage	setDeviceSerialNumberMessage;
-	} u;
-};
-typedef struct PlayerMessageInfo PlayerMessageInfo;
-
-extern OSStatus ITCallApplication (void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo);
-extern void		SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev);
-
-
-/* for use from plugin main */
-
-extern OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-extern OSStatus PlayerRegisterDevicePlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-
-/* For all plugins */
-
-extern OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc);
-
-extern void		PlayerShowAbout (void *appCookie, ITAppProcPtr appProc);
-extern void		PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length);
-
-extern OSStatus	PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus	PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled);
-
-extern OSStatus	PlayerGetPluginFileSpec (void *appCookie, ITAppProcPtr appProc, FSSpec *pluginFileSpec);
-
-/* For visual plugins */
-
-extern OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen);
-extern OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight);
-
-/* For device plugins */
-
-extern OSStatus	PlayerSetDeviceSerialNumber (void *appCookie, ITAppProcPtr appProc, ConstStringPtr serialNumber);
-extern OSStatus	PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ITUNESAPI__ */
\ No newline at end of file
diff --git a/src/projectM-iTunes/macos/iTunesVisualAPI.h b/src/projectM-iTunes/macos/iTunesVisualAPI.h
deleted file mode 100755
index 6783180..0000000
--- a/src/projectM-iTunes/macos/iTunesVisualAPI.h
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
-     File:       iTunesVisualAPI.h
- 
-     Contains:   iTunes Visual Plug-ins interfaces
- 
-     Version:    Technology: iTunes
-                 Release:    1.1
- 
-     Copyright:  © 2001 by Apple Computer, Inc., all rights reserved.
- 
-     Bugs?:      For bug reports, consult the following page on
-                 the World Wide Web:
- 
-                     http://developer.apple.com/bugreporter/
- 
-*/
-#ifndef __ITUNESVISUALAPI__
-#define __ITUNESVISUALAPI__
-
-#include "iTunesAPI.h"
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 2)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(2)
-#endif
-
-enum {
-	/* VisualPlugin messages */
-	
-	kVisualPluginIdleMessage			= 'null',
-
-	kVisualPluginInitMessage			= 'init',
-	kVisualPluginCleanupMessage			= 'clr ',
-	
-	kVisualPluginConfigureMessage		= 'cnfg',	/* Configure the plugin (may not be enabled) */
-	
-	kVisualPluginEnableMessage			= 'von ',	/* Turn on the module (automatic)*/
-	kVisualPluginDisableMessage			= 'voff',	/* Turn off the module */
-	
-	kVisualPluginShowWindowMessage		= 'show',	/* Show the plugin window (allocate large memory here!) */
-	kVisualPluginHideWindowMessage		= 'hide',	/* Hide the plugin window (deallocate large memory here!) */
-		
-	kVisualPluginSetWindowMessage		= 'swin',	/* Change the window parameters */
-
-	kVisualPluginRenderMessage			= 'vrnd',	/* Render to window */
-	
-	kVisualPluginUpdateMessage			= 'vupd',	/* Update the window */
-	
-	kVisualPluginPlayMessage			= 'vply',	/* Playing a track */
-	kVisualPluginChangeTrackMessage		= 'ctrk',	/* Change track (for CD continuous play) */
-	kVisualPluginStopMessage			= 'vstp',	/* Stopping a track */
-	kVisualPluginSetPositionMessage		= 'setp',	/* Setting the position of a track */
-	
-	kVisualPluginPauseMessage			= 'vpau',	/* Pausing a track (unused - Pause is stop) */
-	kVisualPluginUnpauseMessage			= 'vunp',	/* Unpausing a track (unused - Pause is stop) */
-	
-	kVisualPluginEventMessage			= 'vevt'	/* Mac-event. */
-};
-
-/*
-	VisualPlugin messages
-*/
-
-enum {
-	kVisualMaxDataChannels		= 2,
-
-	kVisualNumWaveformEntries	= 512,
-	kVisualNumSpectrumEntries	= 512
-};
-
-enum {
-	/* ShowWindow options */
-	
-	kWindowIsFullScreen = (1L << 0)
-};
-
-struct RenderVisualData {
-	UInt8							numWaveformChannels;
-	UInt8							waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries];
-	
-	UInt8							numSpectrumChannels;
-	UInt8							spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries];
-};
-typedef struct RenderVisualData RenderVisualData;
-
-struct VisualPluginInitMessage {
-	UInt32							messageMajorVersion;	/* Input */
-	UInt32							messageMinorVersion;	/* Input */
-	NumVersion						appVersion;				/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-
-	OptionBits						options;				/* Output */
-	void *							refCon;					/* Output */
-};
-typedef struct VisualPluginInitMessage VisualPluginInitMessage;
-
-struct VisualPluginShowWindowMessage {
-	CGrafPtr						port;					/* Input */
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginShowWindowMessage VisualPluginShowWindowMessage;
-
-struct VisualPluginSetWindowMessage {
-	CGrafPtr						port;					/* Input */
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginSetWindowMessage VisualPluginSetWindowMessage;
-
-struct VisualPluginPlayMessage {
-	ITTrackInfo *					trackInfo;				/* Input */
-	ITStreamInfo *					streamInfo;				/* Input */
-	SInt32							volume;					/* Input */
-	
-	UInt32							bitRate;				/* Input */
-	
-	SoundComponentData				soundFormat;			/* Input */
-};
-typedef struct VisualPluginPlayMessage VisualPluginPlayMessage;
-
-struct VisualPluginChangeTrackMessage {
-	ITTrackInfo *					trackInfo;				/* Input */
-	ITStreamInfo *					streamInfo;				/* Input */
-};
-typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage;
-
-struct VisualPluginRenderMessage {
-	RenderVisualData *				renderData;				/* Input */
-	UInt32							timeStampID;			/* Input */
-};
-typedef struct VisualPluginRenderMessage VisualPluginRenderMessage;
-
-struct VisualPluginSetPositionMessage {
-	UInt32							positionTimeInMS;		/* Input */
-};
-typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage;
-
-struct VisualPluginEventMessage {
-	EventRecord *					event;					/* Input */
-};
-typedef struct VisualPluginEventMessage VisualPluginEventMessage;
-
-struct VisualPluginMessageInfo {
-	union {
-		VisualPluginInitMessage				initMessage;
-		VisualPluginShowWindowMessage		showWindowMessage;
-		VisualPluginSetWindowMessage		setWindowMessage;
-		VisualPluginPlayMessage				playMessage;
-		VisualPluginChangeTrackMessage		changeTrackMessage;
-		VisualPluginRenderMessage			renderMessage;
-		VisualPluginSetPositionMessage		setPositionMessage;
-		VisualPluginEventMessage			eventMessage;
-	} u;
-};
-typedef struct VisualPluginMessageInfo VisualPluginMessageInfo;
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __ITUNESVISUALAPI__ */
\ No newline at end of file
diff --git a/src/projectM-iTunes/win32/iTunesAPI.c b/src/projectM-iTunes/win32/iTunesAPI.c
deleted file mode 100755
index a522f0c..0000000
--- a/src/projectM-iTunes/win32/iTunesAPI.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
-	File:		iTunesAPI.c
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-#include "iTunesAPI.h"
-#include "iTunesVisualAPI.h"
-
-
-// MemClear
-//
-static void MemClear (LogicalAddress dest, SInt32 length)
-{
-	register unsigned char	*ptr;
-
-	ptr = (unsigned char *) dest;
-	
-	if( length > 16 )
-	{
-		register unsigned long	*longPtr;
-		
-		while( ((unsigned long) ptr & 3) != 0 )
-		{
-			*ptr++ = 0;
-			--length;
-		}
-		
-		longPtr = (unsigned long *) ptr;
-		
-		while( length >= 4 )
-		{
-			*longPtr++ 	= 0;
-			length		-= 4;
-		}
-		
-		ptr = (unsigned char *) longPtr;
-	}
-	
-	while( --length >= 0 )
-	{
-		*ptr++ = 0;
-	}
-}
-
-
-// SetNumVersion
-//
-void SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev)
-{
-	numVersion->majorRev		= majorRev;
-	numVersion->minorAndBugRev	= minorAndBugRev;
-	numVersion->stage			= stage;
-	numVersion->nonRelRev		= nonRelRev;
-}
-
-
-// ITCallApplication
-//
-static OSStatus ITCallApplicationInternal (void *appCookie, ITAppProcPtr handler, OSType message, UInt32 messageMajorVersion, UInt32 messageMinorVersion, PlayerMessageInfo *messageInfo)
-{
-	PlayerMessageInfo	localMessageInfo;
-	
-	if (messageInfo == nil)
-	{
-		MemClear(&localMessageInfo, sizeof(localMessageInfo));
-		
-		messageInfo = &localMessageInfo;
-	}
-	
-	messageInfo->messageMajorVersion = messageMajorVersion;
-	messageInfo->messageMinorVersion = messageMinorVersion;
-	messageInfo->messageInfoSize	 = sizeof(PlayerMessageInfo);
-	
-	return handler(appCookie, message, messageInfo);
-}
-
-// ITCallApplication
-//
-OSStatus ITCallApplication (void *appCookie, ITAppProcPtr handler, OSType message, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplicationInternal(appCookie, handler, message, kITPluginMajorMessageVersion, kITPluginMinorMessageVersion, messageInfo);
-}
-
-
-// PlayerSetFullScreen
-//
-OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenMessage.fullScreen = fullScreen;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenMessage, &messageInfo);
-}
-
-
-// PlayerSetFullScreenOptions
-//
-OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFullScreenOptionsMessage.minBitDepth		= minBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.maxBitDepth		= maxBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.preferredBitDepth = preferredBitDepth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredWidth		= desiredWidth;
-	messageInfo.u.setFullScreenOptionsMessage.desiredHeight		= desiredHeight;
-
-	return ITCallApplication(appCookie, appProc, kPlayerSetFullScreenOptionsMessage, &messageInfo);
-}
-
-// PlayerGetCurrentTrackCoverArt
-//
-OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getCurrentTrackCoverArtMessage.coverArt = nil;
-
-	status = ITCallApplication(appCookie, appProc, kPlayerGetCurrentTrackCoverArtMessage, &messageInfo);
-
-	*coverArt = messageInfo.u.getCurrentTrackCoverArtMessage.coverArt;
-	if (coverArtFormat)
-		*coverArtFormat = messageInfo.u.getCurrentTrackCoverArtMessage.coverArtFormat;
-	return status;
-}
-
-// PlayerGetPluginData
-//
-OSStatus PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginDataMessage.dataSize;
-	
-	return status;
-}
-
-
-// PlayerSetPluginData
-//
-OSStatus PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginDataMessage.dataPtr	= dataPtr;
-	messageInfo.u.setPluginDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginDataMessage, &messageInfo);
-}
-
-
-// PlayerGetPluginNamedData
-//
-OSStatus PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize)
-{
-	OSStatus			status;
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginNamedDataMessage.dataName		= dataName;
-	messageInfo.u.getPluginNamedDataMessage.dataPtr			= dataPtr;
-	messageInfo.u.getPluginNamedDataMessage.dataBufferSize	= dataBufferSize;
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetPluginNamedDataMessage, &messageInfo);
-	
-	if (dataSize != nil)
-		*dataSize = messageInfo.u.getPluginNamedDataMessage.dataSize;
-	
-	return status;
-}
-
-
-// PlayerSetPluginNamedData
-//
-OSStatus PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setPluginNamedDataMessage.dataName	= dataName;
-	messageInfo.u.setPluginNamedDataMessage.dataPtr		= dataPtr;
-	messageInfo.u.setPluginNamedDataMessage.dataSize	= dataSize;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetPluginNamedDataMessage, &messageInfo);
-}
-
-
-// PlayerIdle
-//
-OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerIdleMessage, nil);
-}
-
-
-// PlayerShowAbout
-//
-void PlayerShowAbout (void *appCookie, ITAppProcPtr appProc)
-{
-	ITCallApplication(appCookie, appProc, kPlayerShowAboutMessage, nil);
-}
-
-
-// PlayerOpenURL
-//
-void PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.openURLMessage.url	= string;
-	messageInfo.u.openURLMessage.length	= length;
-
-	ITCallApplication(appCookie, appProc, kPlayerOpenURLMessage, &messageInfo);
-}
-
-// PlayerUnregisterPlugin
-//
-OSStatus PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplication(appCookie, appProc, kPlayerUnregisterPluginMessage, messageInfo);
-}
-
-
-// PlayerRegisterVisualPlugin
-//
-OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo)
-{
-	return ITCallApplicationInternal(appCookie, appProc, kPlayerRegisterVisualPluginMessage, kITVisualPluginMajorMessageVersion, kITVisualPluginMinorMessageVersion, messageInfo);
-}
-
-
-// PlayerGetPluginITFileSpec
-//
-OSStatus PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getPluginITFileSpecMessage.fileSpec = pluginFileSpec;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerGetPluginITFileSpecMessage, &messageInfo);
-}
-
-
-// PlayerGetFileTrackInfo
-//
-OSStatus PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.getFileTrackInfoMessage.fileSpec 	= fileSpec;
-	messageInfo.u.getFileTrackInfoMessage.trackInfo = trackInfo;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerGetFileTrackInfoMessage, &messageInfo);
-}
-
-// PlayerSetFileTrackInfo
-//
-OSStatus PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo)
-{
-	PlayerMessageInfo	messageInfo;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	messageInfo.u.setFileTrackInfoMessage.fileSpec 	= fileSpec;
-	messageInfo.u.setFileTrackInfoMessage.trackInfo = trackInfo;
-	
-	return ITCallApplication(appCookie, appProc, kPlayerSetFileTrackInfoMessage, &messageInfo);
-}
-
-// PlayerGetITTrackInfoSize
-//
-OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize)
-{
-	PlayerMessageInfo	messageInfo;
-	OSStatus			status;
-	
-	/*
-		Note: appPluginMajorVersion and appPluginMinorVersion are the versions given to the plugin by iTunes in the plugin's init message.
-			  These versions are *not* the version of the API used when the plugin was compiled.
-	*/
-	
-	*itTrackInfoSize = 0;
-	
-	MemClear(&messageInfo, sizeof(messageInfo));
-	
-	status = ITCallApplication(appCookie, appProc, kPlayerGetITTrackInfoSizeMessage, &messageInfo);
-	if( status == noErr )
-	{
-		*itTrackInfoSize = messageInfo.u.getITTrackInfoSizeMessage.itTrackInfoSize;
-	}
-	else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 2 )
-	{
-		// iTunes 2.0.x
-		
-		*itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->composer);
-		
-		status = noErr;
-	}
-	else if( appPluginMajorVersion == 10 && appPluginMinorVersion == 3 )
-	{
-		// iTunes 3.0.x
-		
-		*itTrackInfoSize = ((UInt32) &((ITTrackInfo *) 0)->beatsPerMinute);
-		
-		status = noErr;
-	}
-	else
-	{
-		// iTunes 4.0 and later implement the kPlayerGetITTrackInfoSizeMessage message. If you got here
-		// then the appPluginMajorVersion or appPluginMinorVersion are incorrect.
-		
-		status = paramErr;
-	}
-	
-	if( status == noErr && (*itTrackInfoSize) > sizeof(ITTrackInfo) )
-	{
-		// iTunes is using a larger ITTrackInfo than the one when this plugin was compiled. Pin *itTrackInfoSize to the plugin's known size
-		
-		*itTrackInfoSize = sizeof(ITTrackInfo);
-	}
-	
-	return status;
-}
\ No newline at end of file
diff --git a/src/projectM-iTunes/win32/iTunesAPI.h b/src/projectM-iTunes/win32/iTunesAPI.h
deleted file mode 100755
index 6735528..0000000
--- a/src/projectM-iTunes/win32/iTunesAPI.h
+++ /dev/null
@@ -1,664 +0,0 @@
-/*
-	File:		iTunesAPI.h
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-#ifndef ITUNESAPI_H_
-#define ITUNESAPI_H_
-
-#include <windows.h>
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-typedef unsigned long	UInt32;
-typedef signed long		SInt32;
-typedef unsigned short	UInt16;
-typedef signed short	SInt16;
-typedef	unsigned char	UInt8;
-typedef signed char		SInt8;
-
-typedef UInt8			Str255[256];
-typedef UInt8			Str63[64];
-typedef const UInt8 *	ConstStringPtr;
-typedef UInt32			OptionBits;
-typedef UInt32			OSType;
-
-typedef SInt32			OSStatus;
-
-typedef UInt16			EventKind;
-
-typedef UInt16          EventModifiers;
-
-typedef UInt16			UniChar;
-
-typedef unsigned __int64 UInt64;
-
-typedef void **			Handle;
-
-struct NumVersion {
-	UInt8			majorRev;
-	UInt8			minorAndBugRev;
-	UInt8			stage;
-	UInt8			nonRelRev;
-};
-typedef struct NumVersion NumVersion;
-
-struct Point {
-    short                           v;
-    short                           h;
-};
-typedef struct Point                    Point;
-
-struct EventRecord {
-    EventKind                       what;
-    UInt32                          message;
-    UInt32                          when;
-    Point                           where;
-    EventModifiers                  modifiers;
-};
-typedef struct EventRecord EventRecord;
-
-typedef UInt8			Boolean;
-
-typedef UInt32			UnsignedFixed;
-
-typedef void *			LogicalAddress;
-
-#define	false			0
-#define	true			1
-#define	nil				NULL
-
-enum {
-	noErr		= 0,
-	paramErr	= -50,
-	memFullErr	= -108,
-	unimpErr	= -4
-};
-
-struct Rect {
-	short			top;
-	short			left;
-	short			bottom;
-	short			right;
-};
-typedef struct Rect Rect;
-
-struct SoundComponentData {
-	long			flags;
-	OSType			format;
-	short			numChannels;
-	short			sampleSize;
-	UnsignedFixed	sampleRate;
-	long			sampleCount;
-	UInt8 *			buffer;
-	long			reserved;
-};
-typedef struct SoundComponentData SoundComponentData;
-
-#define	VOLUME_REFERENCE		SInt16
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 4)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(4)
-#endif
-
-
-enum {
-	kITPluginMajorMessageVersion = 10,
-	kITPluginMinorMessageVersion = 5
-};
-
-enum {
-	kTrackSupportsID3Tags		= (1L << 0),
-	kTrackHasVariableBitRate	= (1L << 1),
-	kTrackIsLocked				= (1L << 3),		/* Device tracks only. Track cannot be deleted or renamed */
-	kTrackCanBeDownloaded		= (1L << 4),		/* Device tracks only. Track can be copied from device to desktop. */
-	kTrackIsHidden				= (1L << 5)			/* Device tracks only. Track should not be displayed in the device window. */
-};
-typedef OptionBits	ITTrackAttributes;
-
-enum {
-	/*
-		These mask values are specified in ITTrackInfo.validFields
-		to indicate which fields contain valid data
-	*/
-	
-	kITTIFieldInvalid				= 0,
-	kITTINameFieldMask				= (1L << 0),
-	kITTIFileNameFieldMask			= (1L << 1),
-	kITTIArtistFieldMask			= (1L << 2),
-	kITTIAlbumFieldMask				= (1L << 3),
-	kITTIGenreFieldMask				= (1L << 4),
-	kITTIKindFieldMask				= (1L << 5),
-	kITTITrackNumberFieldsMask		= (1L << 6),
-	kITTIYearFieldMask				= (1L << 7),
-	kITTISoundVolumeFieldMask		= (1L << 8),
-	kITTIEQPresetFieldMask			= (1L << 9),
-	kITTICommentsFieldMask			= (1L << 10),
-	kITTITotalTimeFieldMask			= (1L << 11),			
-	kITTIStartTimeFieldMask			= (1L << 12),
-	kITTIStopTimeFieldMask			= (1L << 13),
-	kITTISizeFieldMask				= (1L << 14),
-	kITTIBitRateFieldMask			= (1L << 15),
-	kITTISampleRateFieldMask		= (1L << 16),
-	kITTIAttributesFieldMask		= (1L << 17),
-	kITTIFileTypeFieldMask			= (1L << 18),
-	kITTIDateFieldMask				= (1L << 19),
-	kITTIFileCreatorFieldMask		= (1L << 20),
-	kITTIComposerFieldMask			= (1L << 21),	/* Added in iTunes 3.0 */
-	kITTICompilationFieldMask		= (1L << 22),	/* Added in iTunes 3.0 */
-	kITTIDiscNumberFieldsMask		= (1L << 23),	/* Added in iTunes 3.0 */
-	kITTIUserRatingFieldMask		= (1L << 24),	/* Added in iTunes 3.0 */
-	kITTIPlayCountFieldMask 		= (1L << 25),	/* Added in iTunes 3.0 */
-	kITTILastPlayDateFieldMask		= (1L << 26),	/* Added in iTunes 3.0 */
-	kITTIBeatsPerMinuteFieldMask	= (1L << 27)	/* Added in iTunes 4.0 */
-};
-typedef OptionBits	ITTIFieldMask;
-
-enum
-{
-	kITTIUserModifiableFieldsMask = kITTINameFieldMask | kITTIArtistFieldMask | kITTIAlbumFieldMask | kITTIGenreFieldMask |
-										kITTITrackNumberFieldsMask | kITTIYearFieldMask | kITTISoundVolumeFieldMask | kITTIEQPresetFieldMask |
-										kITTICommentsFieldMask | kITTIStartTimeFieldMask | kITTIStopTimeFieldMask | kITTIComposerFieldMask |
-										kITTICompilationFieldMask | kITTIDiscNumberFieldsMask | kITTIUserRatingFieldMask | kITTIBeatsPerMinuteFieldMask
-};
-
-typedef UInt32	ITDeviceID;
-typedef UInt32	ITDeviceMediaID;
-typedef UInt32	ITDeviceTrackID;
-typedef UInt32	ITDevicePlaylistID;
-typedef UInt32	ITDevicePlaylistFolderID;
-typedef UInt32	ITDevicePlaylistItemID;
-
-typedef UniChar 		ITUniStr255[256];				/* Similar to Str255. First element is length of string in characters. */
-typedef UniChar *		ITUniStringPtr;
-typedef const UniChar *	ConstITUniStringPtr;
-
-#define	kITFileSpecMaxPathLength	(MAX_PATH - 1)
-
-typedef struct ITFileSpec
-{
-	UInt16	length;		// Length in characters
-	UniChar	fullPath[kITFileSpecMaxPathLength];
-} ITFileSpec;
-	
-struct ITTrackInfo {
-	ITTIFieldMask		validFields;
-	UInt32				recordLength;					/* Size of this structure in bytes */
-	
-	ITUniStr255			name;	
-	ITUniStr255			fileName;
-	ITUniStr255			artist;
-	ITUniStr255			album;
-	ITUniStr255			genre;
-	ITUniStr255			kind;
-	ITUniStr255			eqPresetName;
-	ITUniStr255			comments;
-	
-	UInt32				trackNumber;
-	UInt32				numTracks;
-		
-	UInt16				year;
-	SInt16				soundVolumeAdjustment;			/* Valid range is -255 to +255 */
-		
-	UInt32				totalTimeInMS;
-	UInt32				startTimeInMS;
-	UInt32				stopTimeInMS;
-
-	UInt32				date;
-	UInt32				sizeInBytes;
-
-	UInt32				bitRate;
-	UInt32				sampleRateFixed;
-
-	OSType				fileType;
-	OSType				fileCreator;
-	
-	ITTrackAttributes	attributes;
-	ITTrackAttributes	validAttributes;				/* Mask indicating which attributes are applicable */
-
-	ITUniStr255			composer;						/* Added in iTunes 3.0 */
-	
-	Boolean				isCompilationTrack;				/* Added in iTunes 3.0 */
-	Boolean				reservedBoolean;				/* Reserved. Must be zero. */
-	
-	UInt16				userRating;						/* Added in iTunes 3.0. 0 = unrated, valid values are 20, 40, 60, 80 and 100. */
-
-	UInt16				discNumber;						/* Added in iTunes 3.0 */
-	UInt16				numDiscs;						/* Added in iTunes 3.0 */
-	
-	UInt32				playCount;						/* Added in iTunes 3.0 */
-	UInt32				lastPlayDate;					/* Added in iTunes 3.0 */
-	
-	UInt16				beatsPerMinute;					/* Added in iTunes 4.0 */
-	UInt16				reserved;						/* Reserved. Must be zero. */		
-};
-typedef struct ITTrackInfo ITTrackInfo;
-
-struct ITStreamInfo {
-	SInt32				version;
-	ITUniStr255			streamTitle;
-	ITUniStr255			streamURL;
-	ITUniStr255			streamMessage;
-};
-typedef struct ITStreamInfo ITStreamInfo;
-
-enum {
-	/* messages sent to plugin main */
-	
-	kPluginInitMessage					= 'init',
-	kPluginCleanupMessage				= 'clr ',
-	kPluginPrepareToQuitMessage			= 'prqt',
-	
-	kPluginIdleMessage					= 'idle',
-	kPluginVolumeMountedMessage			= 'vmnt',
-	kPluginVolumeUnmountedMessage		= 'vunm',
-	kPluginVolumeRenamedMessage			= 'vnam'
-};
-
-
-enum {
-	/* PluginInitMessage.options */
-	
-	kPluginWantsIdleMessages	= (1L << 1),	/* Send idle messages to plugin main */
-	kPluginWantsToBeLeftOpen	= (1L << 2),	/* Don't close this plugin just because it didn't register anyone */
-	kPluginWantsVolumeMessages	= (1L << 3)		/* The plugin wants to be notified when volumes are mounted/unmounted/renamed */
-};
-
-
-enum {
-	/* iTunes API messages */
-
-	kPlayerRegisterVisualPluginMessage	= 'rvis',	/* Register a visual plugin */
-	kPlayerRegisterDevicePluginMessage	= 'rdev',	/* Register a device plugin */
-	
-	/* Available for all plugins */
-
-	kPlayerUnregisterPluginMessage		= 'unrg',	/* Unregister the plugin this comes from */
-	kPlayerIdleMessage					= 'idle',	/* Give iTunes some time */
-	
-	kPlayerShowAboutMessage				= 'abou',	/* Show the about box. */
-	kPlayerOpenURLMessage				= 'url ',	/* Open a URL */
-
-	kPlayerSetPluginDataMessage			= 'sprf',	/* Set plugin preferences */
-	kPlayerGetPluginDataMessage			= 'gprf',	/* Get plugin preferences */
-	
-	kPlayerSetPluginNamedDataMessage	= 'snpr',	/* Set plugin named preferenes */
-	kPlayerGetPluginNamedDataMessage	= 'gnpr',	/* Get plugin named preferenes */
-	
-	kPlayerGetFileTrackInfoMessage		= 'gfti',	/* Query iTunes for information about a file */ 
-	kPlayerSetFileTrackInfoMessage		= 'sfti',	/* Ask iTunes to set information about a file */ 
-	
-	kPlayerGetITTrackInfoSizeMessage	= 'itsz',	/* Query iTunes for the sizeof(ITTrackInfo). This allows newer plugins to correctly workd with older versions of iTunes. */
-
-	kPlayerHandleMacOSEventMessage		= 'evnt',	/* Tell player to handle unhandled event */
-	kPlayerGetPluginITFileSpecMessage	= 'itfs',	/* Get the location of the plugin executable (iTunes 4.1 or later) */
-	
-	/* Available for visual plugins */
-
-	kPlayerSetFullScreenMessage			= 'sful',	/* Set full screen mode */
-	kPlayerSetFullScreenOptionsMessage	= 'sfop',	/* Set full screen options */
-	kPlayerGetCurrentTrackCoverArtMessage = 'covr',	/* Get current player track cover artwork */
-	
-	/* Available for device plugins */
-
-	kPlayerSetDeviceSerialNumberMessage = 'dvsn',	/* Set a serial number string for a device. Needed for per-device prefs */
-	kPlayerRefreshDeviceMediaMessage	= 'refm',	/* Tell iTunes to refresh (enumerate) the contents of a single media module on a device */
-	kPlayerRefreshAllDeviceMediaMessage = 'refa'	/* Tell iTunes to refresh (enumerate) the contents of all media modules on a device */
-};
-
-struct PlayerMessageInfo;
-
-typedef OSStatus (*ITAppProcPtr)(void *appCookie, OSType message, struct PlayerMessageInfo *messageInfo);
-
-
-/*
-	Plugin main Messages
-*/
-
-struct PluginInitMessage {
-	UInt32							majorVersion;			/* Input */
-	UInt32							minorVersion;			/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-	
-	OptionBits						options;				/* Output, see above for values */
-	void *							refCon;					/* Output */
-};
-typedef struct PluginInitMessage PluginInitMessage;
-
-struct PluginVolumeMountedMessage {
-	VOLUME_REFERENCE				vRefNum;				/* Input */
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				volumeName;				/* Input */			
-};
-typedef struct PluginVolumeMountedMessage PluginVolumeMountedMessage;
-
-struct PluginVolumeUnmountedMessage {
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				volumeName;				/* Input */			
-};
-typedef struct PluginVolumeUnmountedMessage PluginVolumeUnmountedMessage;
-
-struct PluginVolumeRenamedMessage {
-	VOLUME_REFERENCE				vRefNum;				/* Input */
-	UInt32							volumeID;				/* Input */
-	ConstITUniStringPtr				newVolumeName;			/* Input */			
-};
-typedef struct PluginVolumeRenamedMessage PluginVolumeRenamedMessage;
-
-struct PluginMessageInfo {
-	union {
-		PluginInitMessage				initMessage;
-		PluginVolumeMountedMessage		volumeMountedMessage;
-		PluginVolumeUnmountedMessage	volumeUnmountedMessage;
-		PluginVolumeRenamedMessage		volumeRenamedMessage;
-	} u;
-};
-typedef struct PluginMessageInfo PluginMessageInfo;
-
-struct VisualPluginMessageInfo;
-struct DevicePluginMessageInfo;
-
-/* Plugin main entry point message handler */
-typedef OSStatus (*PluginProcPtr)(OSType message, PluginMessageInfo *messageInfo, void *refCon);
-
-/* Visual plugin message handler */
-typedef OSStatus (*VisualPluginProcPtr)(OSType message, struct VisualPluginMessageInfo *messageInfo, void *refCon);
-
-/* Device plugin message handler */
-typedef OSStatus (*DevicePluginProcPtr)(OSType message, struct DevicePluginMessageInfo *messageInfo, void *refCon);
-
-
-
-/*
-	Callbacks to iTunes
-*/
-
-enum {
-	/* PlayerRegisterVisualPluginMessage.options */
-	
-	kVisualWantsIdleMessages			= (1L << 3),
-	kVisualWantsConfigure				= (1L << 5)
-};
-
-struct PlayerRegisterVisualPluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Displayed in the Visual menu */
-	OptionBits						options;					/* See above */
-	
-	OSType							creator;					/* Identifies the plugin */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	VisualPluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-
-	UInt32							timeBetweenDataInMS;		/* How often to call the plugin (0xFFFFFFFF = as often as possible) */
-	UInt32							numWaveformChannels;		/* 0-2 waveforms requested */
-	UInt32							numSpectrumChannels;		/* 0-2 spectrums requested */
-	
-	SInt16							minWidth;					/* Minimum resizeable width */
-	SInt16							minHeight;					/* Minimum resizeable height */
-	
-	SInt16							maxWidth;					/* Maximum resizeable width */
-	SInt16							maxHeight;					/* Maximum resizeable height */
-		
-	UInt16							minFullScreenBitDepth;		/* 0 = Any */
-	UInt16							maxFullScreenBitDepth;		/* 0 = Any */
-	
-	UInt16							windowAlignmentInBytes;		/* Reserved (should be zero) */
-};
-typedef struct PlayerRegisterVisualPluginMessage PlayerRegisterVisualPluginMessage;
-
-enum {
-	/* PlayerRegisterDevicePluginMessage.options */
-	
-	kDeviceWantsIdleMessages = (1L << 0)
-};
-
-struct PlayerRegisterDevicePluginMessage {
-	/* Input from plugin */
-	
-	Str63							name;						/* Used internally. Not currently displayed */
-	OptionBits						options;					/* See above */
-	
-	NumVersion						pluginVersion;				/* Version number of the plugin */
-
-	DevicePluginProcPtr				handler;					/* Handler for the plugin's messages */
-	void *							registerRefCon;				/* RefCon for the plugin's handler */
-	
-	UInt32							reserved[2];				/* Must be zero */
-};
-typedef struct PlayerRegisterDevicePluginMessage PlayerRegisterDevicePluginMessage;
-
-struct PlayerSetFullScreenMessage {
-	Boolean							fullScreen;
-};
-typedef struct PlayerSetFullScreenMessage PlayerSetFullScreenMessage;
-
-struct PlayerSetFullScreenOptionsMessage {
-	SInt16							minBitDepth;				/* 0 = Any */
-	SInt16							maxBitDepth;				/* 0 = Any */
-	SInt16							preferredBitDepth;			/* 0 = Current */
-	
-	SInt16							desiredWidth;				/* Must be within minWidth & maxWidth */
-	SInt16							desiredHeight;				/* Must be within minHeight & maxHeight */
-};
-typedef struct PlayerSetFullScreenOptionsMessage PlayerSetFullScreenOptionsMessage;
-
-struct PlayerGetCurrentTrackCoverArtMessage {
-	Handle						coverArt;		/* output - client must dispose */
-	OSType						coverArtFormat;	/* output - format of cover art */
-};
-typedef struct PlayerGetCurrentTrackCoverArtMessage PlayerGetCurrentTrackCoverArtMessage;
-
-struct PlayerOpenURLMessage {
-	SInt8 *							url;
-	UInt32							length;
-};
-typedef struct PlayerOpenURLMessage PlayerOpenURLMessage;
-
-struct PlayerSetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginDataMessage PlayerSetPluginDataMessage;
-
-struct PlayerGetPluginDataMessage {
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginDataMessage PlayerGetPluginDataMessage;
-
-struct PlayerSetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataSize;		/* Input */
-};
-typedef struct PlayerSetPluginNamedDataMessage PlayerSetPluginNamedDataMessage;
-
-struct PlayerGetPluginNamedDataMessage {
-	ConstStringPtr					dataName;		/* Input */
-
-	void *							dataPtr;		/* Input */
-	UInt32							dataBufferSize;	/* Input */
-	
-	UInt32							dataSize;		/* Output */
-};
-typedef struct PlayerGetPluginNamedDataMessage PlayerGetPluginNamedDataMessage;
-
-struct PlayerHandleMacOSEventMessage {
-	const EventRecord *				theEvent;		/* Input */
-	
-	Boolean							handled;		/* Output */
-};
-typedef struct PlayerHandleMacOSEventMessage PlayerHandleMacOSEventMessage;
-
-struct PlayerGetPluginITFileSpecMessage {
-	ITFileSpec *					fileSpec;		/* Output */
-};
-typedef struct PlayerGetPluginITFileSpecMessage PlayerGetPluginITFileSpecMessage;
-
-struct PlayerSetDeviceSerialNumberMessage {
-	ConstStringPtr					serialNumber;	/* Input */
-};
-typedef struct PlayerSetDeviceSerialNumberMessage PlayerSetDeviceSerialNumberMessage;
-
-struct PlayerRefreshDeviceMediaMessage {
-	ITDeviceMediaID					mediaID;		/* Input */
-};
-typedef struct PlayerRefreshDeviceMediaMessage PlayerRefreshDeviceMediaMessage;
-
-struct PlayerGetFileTrackInfoMessage {
-	const ITFileSpec *				fileSpec;		/* Input */
-	ITTrackInfo *					trackInfo;		/* Output */
-};
-typedef struct PlayerGetFileTrackInfoMessage PlayerGetFileTrackInfoMessage;
-
-struct PlayerSetFileTrackInfoMessage {
-	const ITFileSpec *				fileSpec;		/* Input */
-	const ITTrackInfo *				trackInfo;		/* Input */
-};
-typedef struct PlayerSetFileTrackInfoMessage PlayerSetFileTrackInfoMessage;
-
-struct PlayerGetITTrackInfoSizeMessage {
-	UInt32							itTrackInfoSize;	/* Output */
-};
-typedef struct PlayerGetITTrackInfoSizeMessage PlayerGetITTrackInfoSizeMessage;
-
-struct PlayerMessageInfo {
-	UInt32									messageMajorVersion;		/* Should be kITCurrentPluginMajorMessageVersion */
-	UInt32									messageMinorVersion;		/* Should be kITCurrentPluginMinorMessageVersion */
-	UInt32									messageInfoSize;			/* Should be sizeof(PlayerMessageInfo) */
-	
-	union {
-		PlayerRegisterVisualPluginMessage	registerVisualPluginMessage;
-		PlayerRegisterDevicePluginMessage	registerDevicePluginMessage;
-
-		PlayerOpenURLMessage				openURLMessage;
-		
-		PlayerSetPluginDataMessage			setPluginDataMessage;
-		PlayerGetPluginDataMessage			getPluginDataMessage;
-		
-		PlayerSetPluginNamedDataMessage		setPluginNamedDataMessage;
-		PlayerGetPluginNamedDataMessage		getPluginNamedDataMessage;
-		
-		PlayerSetFullScreenMessage				setFullScreenMessage;
-		PlayerSetFullScreenOptionsMessage		setFullScreenOptionsMessage;
-		PlayerGetCurrentTrackCoverArtMessage	getCurrentTrackCoverArtMessage;
-		
-		PlayerSetDeviceSerialNumberMessage	setDeviceSerialNumberMessage;
-		PlayerRefreshDeviceMediaMessage		refreshDeviceMediaMessage;
-		
-		PlayerGetFileTrackInfoMessage		getFileTrackInfoMessage;
-		PlayerSetFileTrackInfoMessage		setFileTrackInfoMessage;
-		PlayerGetITTrackInfoSizeMessage		getITTrackInfoSizeMessage;
-
-		PlayerHandleMacOSEventMessage		handleMacOSEventMessage;
-		PlayerGetPluginITFileSpecMessage	getPluginITFileSpecMessage;
-	} u;
-};
-typedef struct PlayerMessageInfo PlayerMessageInfo;
-
-extern OSStatus ITCallApplication (void *appCookie, ITAppProcPtr appProc, OSType message, PlayerMessageInfo *messageInfo);
-extern void		SetNumVersion (NumVersion *numVersion, UInt8 majorRev, UInt8 minorAndBugRev, UInt8 stage, UInt8 nonRelRev);
-
-
-/* for use from plugin main */
-
-extern OSStatus PlayerRegisterVisualPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-
-/* For all plugins */
-
-extern OSStatus	PlayerUnregisterPlugin (void *appCookie, ITAppProcPtr appProc, PlayerMessageInfo *messageInfo);
-extern OSStatus PlayerIdle (void *appCookie, ITAppProcPtr appProc);
-
-extern void		PlayerShowAbout (void *appCookie, ITAppProcPtr appProc);
-extern void		PlayerOpenURL (void *appCookie, ITAppProcPtr appProc, SInt8 *string, UInt32 length);
-
-extern OSStatus	PlayerGetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginData (void *appCookie, ITAppProcPtr appProc, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus	PlayerGetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataBufferSize, UInt32 *dataSize);
-extern OSStatus	PlayerSetPluginNamedData (void *appCookie, ITAppProcPtr appProc, ConstStringPtr dataName, void *dataPtr, UInt32 dataSize);
-
-extern OSStatus	PlayerGetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, ITTrackInfo *trackInfo);
-extern OSStatus	PlayerSetFileTrackInfo (void *appCookie, ITAppProcPtr appProc, const ITFileSpec *fileSpec, const ITTrackInfo *trackInfo);
-
-extern OSStatus PlayerGetITTrackInfoSize (void *appCookie, ITAppProcPtr appProc, UInt32 appPluginMajorVersion, UInt32 appPluginMinorVersion, UInt32 *itTrackInfoSize);
-
-extern OSStatus PlayerHandleMacOSEvent (void *appCookie, ITAppProcPtr appProc, const EventRecord *theEvent, Boolean *eventHandled);
-
-extern OSStatus	PlayerGetPluginITFileSpec (void *appCookie, ITAppProcPtr appProc, ITFileSpec *pluginFileSpec);
-
-/* For visual plugins */
-
-extern OSStatus PlayerSetFullScreen (void *appCookie, ITAppProcPtr appProc, Boolean fullScreen);
-extern OSStatus PlayerSetFullScreenOptions (void *appCookie, ITAppProcPtr appProc, SInt16 minBitDepth, SInt16 maxBitDepth, SInt16 preferredBitDepth, SInt16 desiredWidth, SInt16 desiredHeight);
-extern OSStatus PlayerGetCurrentTrackCoverArt (void *appCookie, ITAppProcPtr appProc, Handle *coverArt, OSType *coverArtFormat);
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ITUNESAPI_H_ */
diff --git a/src/projectM-iTunes/win32/iTunesVisualAPI.h b/src/projectM-iTunes/win32/iTunesVisualAPI.h
deleted file mode 100755
index 29d7216..0000000
--- a/src/projectM-iTunes/win32/iTunesVisualAPI.h
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
-	File:		iTunesVisualAPI.h
-	
-	Copyright: 	© Copyright 2003 Apple Computer, Inc. All rights reserved.
-	
-	Disclaimer:	IMPORTANT:  This Apple software is supplied to you by Apple Computer, Inc.
-				("Apple") in consideration of your agreement to the following terms, and your
-				use, installation, modification or redistribution of this Apple software
-				constitutes acceptance of these terms.  If you do not agree with these terms,
-				please do not use, install, modify or redistribute this Apple software.
-
-				In consideration of your agreement to abide by the following terms, and subject
-				to these terms, Apple grants you a personal, non-exclusive license, under AppleÕs
-				copyrights in this original Apple software (the "Apple Software"), to use,
-				reproduce, modify and redistribute the Apple Software, with or without
-				modifications, in source and/or binary forms; provided that if you redistribute
-				the Apple Software in its entirety and without modifications, you must retain
-				this notice and the following text and disclaimers in all such redistributions of
-				the Apple Software.  Neither the name, trademarks, service marks or logos of
-				Apple Computer, Inc. may be used to endorse or promote products derived from the
-				Apple Software without specific prior written permission from Apple.  Except as
-				expressly stated in this notice, no other rights or licenses, express or implied,
-				are granted by Apple herein, including but not limited to any patent rights that
-				may be infringed by your derivative works or by other works in which the Apple
-				Software may be incorporated.
-
-				The Apple Software is provided by Apple on an "AS IS" basis.  APPLE MAKES NO
-				WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED
-				WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-				PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN
-				COMBINATION WITH YOUR PRODUCTS.
-
-				IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR
-				CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
-				GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-				ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION
-				OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT
-				(INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN
-				ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-				
-*/
-
-#ifndef ITUNESVISUALAPI_H_
-#define ITUNESVISUALAPI_H_
-
-#include "iTunesAPI.h"
-
-#if PRAGMA_ONCE
-#pragma once
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=power
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(push, 4)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack(4)
-#endif
-
-struct ITTrackInfoV1 {
-	ITTIFieldMask		validFields;
-	UInt32				reserved;						/* Must be zero */
-	
-	Str255				name;	
-	Str255				fileName;
-	Str255				artist;
-	Str255				album;
-		
-	Str255				genre;
-	Str255				kind;
-	
-	UInt32				trackNumber;
-	UInt32				numTracks;
-		
-	UInt16				year;
-	SInt16				soundVolumeAdjustment;			/* Valid range is -255 to +255 */
-	
-	Str255				eqPresetName;
-	Str255				comments;
-	
-	UInt32				totalTimeInMS;
-	UInt32				startTimeInMS;
-	UInt32				stopTimeInMS;
-
-	UInt32				sizeInBytes;
-
-	UInt32				bitRate;
-	UInt32				sampleRateFixed;
-
-	OSType				fileType;
-	
-	UInt32				date;
-	UInt32				unusedReserved2;				/* Must be zero */
-	
-	ITTrackAttributes	attributes;
-	ITTrackAttributes	validAttributes;				/* Mask indicating which attributes are applicable */
-
-	OSType				fileCreator;
-};
-typedef struct ITTrackInfoV1 ITTrackInfoV1;
-
-enum {
-	kCurrentITStreamInfoVersion = 1
-};
-
-struct ITStreamInfoV1 {
-	SInt32				version;
-	Str255				streamTitle;
-	Str255				streamURL;
-	Str255				streamMessage;
-};
-typedef struct ITStreamInfoV1 ITStreamInfoV1;
-
-
-enum {
-	kITVisualPluginMajorMessageVersion = 10,
-	kITVisualPluginMinorMessageVersion = 5
-};
-
-enum {
-	/* VisualPlugin messages */
-	
-	kVisualPluginIdleMessage			= 'null',
-
-	kVisualPluginInitMessage			= 'init',
-	kVisualPluginCleanupMessage			= 'clr ',
-	
-	kVisualPluginConfigureMessage		= 'cnfg',	/* Configure the plugin (may not be enabled) */
-	
-	kVisualPluginEnableMessage			= 'von ',	/* Turn on the module (automatic)*/
-	kVisualPluginDisableMessage			= 'voff',	/* Turn off the module */
-	
-	kVisualPluginShowWindowMessage		= 'show',	/* Show the plugin window (allocate large memory here!) */
-	kVisualPluginHideWindowMessage		= 'hide',	/* Hide the plugin window (deallocate large memory here!) */
-		
-	kVisualPluginSetWindowMessage		= 'swin',	/* Change the window parameters */
-
-	kVisualPluginRenderMessage			= 'vrnd',	/* Render to window */
-	
-	kVisualPluginUpdateMessage			= 'vupd',	/* Update the window */
-	
-	kVisualPluginPlayMessage			= 'vply',	/* Playing a track */
-	kVisualPluginChangeTrackMessage		= 'ctrk',	/* Change track (for CD continuous play) */
-	kVisualPluginStopMessage			= 'vstp',	/* Stopping a track */
-	kVisualPluginSetPositionMessage		= 'setp',	/* Setting the position of a track */
-	
-	kVisualPluginPauseMessage			= 'vpau',	/* Pausing a track (unused - Pause is stop) */
-	kVisualPluginUnpauseMessage			= 'vunp',	/* Unpausing a track (unused - Pause is stop) */
-	
-	kVisualPluginEventMessage			= 'vevt',	/* Mac-event. */
-	
-	kVisualPluginDisplayChangedMessage	= 'dchn'	/* Something about display state changed */
-};
-
-/*
-	VisualPlugin messages
-*/
-
-enum {
-	kVisualMaxDataChannels		= 2,
-
-	kVisualNumWaveformEntries	= 512,
-	kVisualNumSpectrumEntries	= 512
-};
-
-enum {
-	/* Set/ShowWindow options */
-	
-	kWindowIsFullScreen = (1L << 0),
-	kWindowIsStretched	= (1L << 1)
-};
-
-struct RenderVisualData {
-	UInt8							numWaveformChannels;
-	UInt8							waveformData[kVisualMaxDataChannels][kVisualNumWaveformEntries];
-	
-	UInt8							numSpectrumChannels;
-	UInt8							spectrumData[kVisualMaxDataChannels][kVisualNumSpectrumEntries];
-};
-typedef struct RenderVisualData RenderVisualData;
-
-struct VisualPluginInitMessage {
-	UInt32							messageMajorVersion;	/* Input */
-	UInt32							messageMinorVersion;	/* Input */
-	NumVersion						appVersion;				/* Input */
-
-	void *							appCookie;				/* Input */
-	ITAppProcPtr					appProc;				/* Input */
-
-	OptionBits						options;				/* Output */
-	void *							refCon;					/* Output */
-};
-typedef struct VisualPluginInitMessage VisualPluginInitMessage;
-
-struct VisualPluginShowWindowMessage {
-	HWND							window;					/* Input */
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginShowWindowMessage VisualPluginShowWindowMessage;
-
-struct VisualPluginSetWindowMessage {
-	HWND							window;					/* Input */
-	Rect							drawRect;				/* Input */
-	OptionBits						options;				/* Input */
-};
-typedef struct VisualPluginSetWindowMessage VisualPluginSetWindowMessage;
-
-struct VisualPluginPlayMessage {
-	ITTrackInfoV1 *					trackInfo;				/* Input */
-	ITStreamInfoV1 *				streamInfo;				/* Input */
-	SInt32							volume;					/* Input */
-	
-	UInt32							bitRate;				/* Input */
-	
-	SoundComponentData				soundFormat;			/* Input */
-	ITTrackInfo *					trackInfoUnicode;		/* Input */
-	ITStreamInfo *					streamInfoUnicode;		/* Input */
-};
-typedef struct VisualPluginPlayMessage VisualPluginPlayMessage;
-
-struct VisualPluginChangeTrackMessage {
-	ITTrackInfoV1 *					trackInfo;				/* Input */
-	ITStreamInfoV1 *				streamInfo;				/* Input */
-	ITTrackInfo *					trackInfoUnicode;		/* Input */
-	ITStreamInfo *					streamInfoUnicode;		/* Input */
-};
-typedef struct VisualPluginChangeTrackMessage VisualPluginChangeTrackMessage;
-
-struct VisualPluginRenderMessage {
-	RenderVisualData *				renderData;				/* Input */
-	UInt32							timeStampID;			/* Input */
-};
-typedef struct VisualPluginRenderMessage VisualPluginRenderMessage;
-
-struct VisualPluginSetPositionMessage {
-	UInt32							positionTimeInMS;		/* Input */
-};
-typedef struct VisualPluginSetPositionMessage VisualPluginSetPositionMessage;
-
-enum {
-	kVisualDisplayDepthChanged 	= 1 << 0,					/* the display's depth has changed */
-	kVisualDisplayRectChanged	= 1 << 1,					/* the display's location changed */
-	kVisualWindowMovedMoved 	= 1 << 2					/* the window has moved location */	
-};
-
-struct VisualPluginDisplayChangedMessage {
-	UInt32							flags;		/* Input */
-};
-typedef struct VisualPluginDisplayChangedMessage VisualPluginDisplayChangedMessage;
-
-struct VisualPluginMessageInfo {
-	union {
-		VisualPluginInitMessage				initMessage;
-		VisualPluginShowWindowMessage		showWindowMessage;
-		VisualPluginSetWindowMessage		setWindowMessage;
-		VisualPluginPlayMessage				playMessage;
-		VisualPluginChangeTrackMessage		changeTrackMessage;
-		VisualPluginRenderMessage			renderMessage;
-		VisualPluginSetPositionMessage		setPositionMessage;
-		VisualPluginDisplayChangedMessage	displayChangedMessage;
-	} u;
-};
-typedef struct VisualPluginMessageInfo VisualPluginMessageInfo;
-
-#if PRAGMA_STRUCT_ALIGN
-    #pragma options align=reset
-#elif PRAGMA_STRUCT_PACKPUSH
-    #pragma pack(pop)
-#elif PRAGMA_STRUCT_PACK
-    #pragma pack()
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* ITUNESVISUALAPI_H_ */
diff --git a/src/projectM-moviegen/Info.plist b/src/projectM-moviegen/Info.plist
deleted file mode 100755
index 0149b4a..0000000
--- a/src/projectM-moviegen/Info.plist
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
-	<key>CFBundleInfoDictionaryVersion</key>
-	<string>6.0</string>
-	<key>CFBundleIdentifier</key>
-	<string>org.projectM.projectMvis</string>
-	<key>CFBundleDevelopmentRegion</key>
-	<string>English</string>
-	<key>CFBundleExecutable</key>
-	<string>projectMvis</string>
-	<key>CFBundleIconFile</key>
-	<string>projectM.icns</string>
-	<key>CFBundleName</key>
-	<string>projectMvis</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
-	<key>CFBundleVersion</key>
-	<string>0.95</string>
-	<key>CFBundleShortVersionString</key>
-	<string>0.95</string>
-	<key>CFBundleGetInfoString</key>
-	<string>projectMvis 0.95, (c)2004 projectM Team</string>
-	<key>CFBundleLongVersionString</key>
-	<string>projectMvis 0.95, (c)2004 projectM Team</string>
-	<key>NSHumanReadableCopyright</key>
-	<string>Copyright (c)2004 projectM Team</string>
-	<key>LSRequiresCarbon</key>
-        <false/>
-	<key>CSResourcesFileMapped</key>
-	<true/>
-</dict>
-</plist>
diff --git a/src/projectM-moviegen/PkgInfo b/src/projectM-moviegen/PkgInfo
deleted file mode 100755
index 791cf4d..0000000
--- a/src/projectM-moviegen/PkgInfo
+++ /dev/null
@@ -1 +0,0 @@
-hvplhook
\ No newline at end of file
diff --git a/src/projectM-moviegen/mov123.c b/src/projectM-moviegen/mov123.c
deleted file mode 100755
index 51dac69..0000000
--- a/src/projectM-moviegen/mov123.c
+++ /dev/null
@@ -1,730 +0,0 @@
-//
-// SlimServer Copyright (C) 2003-2004 Sean Adams, Slim Devices Inc.
-// This program is free software; you can redistribute it and/or
-// modify it under the terms of the GNU General Public License,
-// version 2.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-//
-//  mov123 - A very basic Quicktime decoder command line application.
-//
-//  usage:  mov123 <srcfile>
-//
-//  opens and decodes the first audio track from a QuickTime compatible file.  This includes
-//  Movie files, m4a AAC files, AIFF, WAV and other formats supported natively by quicktime.
-//  Sends to standard out the raw uncompressed audio data in stereo 44.1kS/sec 16bit.
-//  Output goes to stdout
-//
-//  Todo:  - extract channel, sample rate, and sample size information from the movie for
-//           use in reencoding later
-//         - CLI options for:
-//             - specifying output file
-//             - output files for AIFF and WAV
-//             - changing sample rate, sample size, channel count, codec
-//			   - usage
-//	 	   - be graceful about failures
-//
-//  Portions based on Apple's ConvertMovieSndTrack sample code.
-//
-
-#include <stdio.h>
-#include <fcntl.h>
-
-//#include <io.h>
-
-
-#ifdef WIN32
-#include "stdafx.h"
-#include "Movies.h"
-#include "SoundComponents.h"
-#include "QTML.h"
-#else
-#include <QuickTime/QuickTime.h>
-#include <QuickTime/QTML.h>
-#endif
-
-#include <projectM.hpp>
-
-#define kVideoTimeScale 600
-
-extern projectM_t *globalPM;
-
-int path2fss( FSSpec *fss, char *path ) {
-    char buf[256];
-    char *p = &buf[1];
-    strcpy( p, path );
-    buf[0] = strlen( p );
-
-    return FSMakeFSSpec( 0, 0, (unsigned char *)buf, fss );
-  }
-
-#define BailErr(x) {err = x; if (err != noErr) { fprintf(stderr, "Failed at line: %d\n", __LINE__); goto bail; } }
-
-const UInt32 kMaxBufferSize =  64 * 1024;  // max size of input buffer
-
-// functions
-OSErr ConvertMovieSndTrack( const char* inFileToConvert, Movie *movie,
-                            Media *videoMedia, Media *audioMedia,
-                            Track *videoTrack, Track *audioTrack );
-
-typedef struct {
-	ExtendedSoundComponentData	compData;
-	Handle						hSource;			// source media buffer
-	Media						sourceMedia;		// sound media identifier
-	TimeValue					getMediaAtThisTime;
-	TimeValue					sourceDuration;
-
-	UInt32						maxBufferSize;
-	Boolean						isThereMoreSource;
-	Boolean						isSourceVBR;
-} SCFillBufferData, *SCFillBufferDataPtr;
-
-FILE* outFile;
-
-#ifdef WIN32
-int _tmain(int argc, _TCHAR* argv[])
-#else
-int main123(int argc, char *argv[])
-#endif
-{
-	
-	FSSpec		theDestFSSpec;
-	OSErr		result = 0;
-    OSErr   err = noErr;
-    short resRefNum = 0;
-    short resId = movieInDataForkResID;
-    Movie newMovie;
-    Media audioMedia, videoMedia;
-    Track audioTrack, videoTrack;
-//    StringPtr fileName = QTUtils_ConvertCToPascalString( argv[2] );
-	
-	outFile = stderr;
-
-#ifdef WIN32
-	setmode(fileno(outFile), O_BINARY);	
-	InitializeQTML(0);                        // Initialize QTML
-#endif
-	EnterMovies();
-
-	if (argc > 2) 
-        path2fss( &theDestFSSpec, argv[2] );
-
-    /** Create the new output movie */
-    err = 
-        CreateMovieFile( &theDestFSSpec, FOUR_CHAR_CODE('TV0D'),
-                         smSystemScript, 
-                         createMovieFileDeleteCurFile | createMovieFileDontCreateResFile | newMovieActive,
-                         &resRefNum, &newMovie );
-    if ( err != noErr ) {
-        printf( "failed to CreateMovieFile()\n" );
-      } else {
-        printf( "created movie ok\n" );
-      }
-
-    /** Create the video track */
-    videoTrack =
-        NewMovieTrack( newMovie, 512, 512, kNoVolume );
-
-    videoMedia = 
-        NewTrackMedia( videoTrack, VideoMediaType, kVideoTimeScale, nil,
-                       0 );
-
-    /** Establish a media edit session */
-    err = BeginMediaEdits( videoMedia );
-    if ( err != noErr ) {
-        printf( "failed to BeginMediaEdits( video )\n" );
-      } else {  
-        printf( "beginning video media edit ok\n" );
-      }
-
-    /** Create the audio track */
-    audioTrack = 
-        NewMovieTrack( newMovie, 0, 0, kFullVolume );
-    audioMedia =
-        NewTrackMedia( audioTrack, SoundMediaType, 44000, nil, 0 );
-
-    err = BeginMediaEdits( audioMedia );
-    if ( err != noErr ) {
-        printf( "failed to BeginMediaEdits( audio )\n" );
-      } else {
-        printf( "beginning audio media edits ok\n" );
-      }
-
-    /** Convert the input sound data into a movie file with video and audio */
-	result = ConvertMovieSndTrack( argv[1], &newMovie, &videoMedia, &audioMedia,
-	                               &videoTrack, &audioTrack );
-
-    /** End media edits */
-    err = EndMediaEdits( videoMedia );
-
-    err = EndMediaEdits( audioMedia );
-
-    /** Insert the audio track into the media */
-    err = InsertMediaIntoTrack( audioTrack, 0, 0,
-                                GetMediaDuration( audioMedia ), fixed1 );
-    if ( err != noErr ) {
-        printf( "failed to insert audio media into audio track\n" );
-      } else {
-        printf( "injected audio media into audio track ok\n" );
-      }
-
-    /** Add the movie resource to the file */
-    err = AddMovieResource( newMovie, resRefNum, &resId, argv[2] );
-    if ( err != noErr ) {
-        printf( "failed to AddMovieResource()\n" );
-      }
-    if ( resRefNum ) {
-        CloseMovieFile( resRefNum );
-      }
-
-//bail:
-	if (result != 0) { fprintf(stderr, "Conversion failed with error: %d\n", result); }
-	return result;
-}
-
-
-#ifndef AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER
-	// these didn't make it into the QT6 framework for 10.1.x so include
-	// them here if we're not on 10.2 or later - if you have a newer framework
-	// or are building a carbon CFM version you shouldn't need these
-	enum {
-	  scSoundVBRCompressionOK       = 'cvbr', /* pointer to Boolean*/
-	  scSoundInputSampleRateType    = 'ssir', /* pointer to UnsignedFixed*/
-	  scSoundSampleRateChangeOK     = 'rcok', /* pointer to Boolean*/
-	  scAvailableCompressionListType = 'avai' /* pointer to OSType Handle*/
-	};
-#endif
-
-
-// * ----------------------------
-// SoundConverterFillBufferDataProc
-//
-// the callback routine that provides the SOURCE DATA for conversion - it provides data by setting
-// outData to a pointer to a properly filled out ExtendedSoundComponentData structure
-static pascal Boolean SoundConverterFillBufferDataProc(SoundComponentDataPtr *outData, void *inRefCon)
-{
-	int i, j;
-
-	float nframes = 0;
-
-	SCFillBufferDataPtr pFillData = (SCFillBufferDataPtr)inRefCon;
-	
-	OSErr err;
-							
-	// if after getting the last chunk of data the total time is over the duration, we're done
-	if (pFillData->getMediaAtThisTime >= pFillData->sourceDuration) {
-		pFillData->isThereMoreSource = false;
-		pFillData->compData.desc.buffer = NULL;
-		pFillData->compData.desc.sampleCount = 0;
-		pFillData->compData.bufferSize = 0;		
-		pFillData->compData.commonFrameSize = 0;
-	}
-	
-	if (pFillData->isThereMoreSource) {
-	
-		long	  sourceBytesReturned;
-		long	  numberOfSamples;
-		TimeValue sourceReturnedTime, durationPerSample;
-		
-		// in calling GetMediaSample, we'll get a buffer that consists of equal sized frames - the
-		// degenerate case is only 1 frame -- for non-self-framed vbr formats (like AAC in QT 6)
-		// we need to provide some more framing information - either the frameCount, frameSizeArray pair or
-		// the commonFrameSize field must be valid -- because we always get equal sized frames, we can use
-		// commonFrameSize and set the kExtendedSoundCommonFrameSizeValid flag -- if there is
-		// only 1 frame then (common frame size == media sample size), if there are multiple frames,
-		// then (common frame size == media sample size / number of frames).
-		
-		err = GetMediaSample(pFillData->sourceMedia,		// specifies the media for this operation
-							 pFillData->hSource,			// function returns the sample data into this handle
-							 pFillData->maxBufferSize,		// maximum number of bytes of sample data to be returned
-							 &sourceBytesReturned,			// the number of bytes of sample data returned
-							 pFillData->getMediaAtThisTime,	// starting time of the sample to be retrieved (must be in Media's TimeScale)
-							 &sourceReturnedTime,			// indicates the actual time of the returned sample data
-							 &durationPerSample,			// duration of each sample in the media
-							 NULL,							// sample description corresponding to the returned sample data (NULL to ignore)
-							 NULL,							// index value to the sample description that corresponds to the returned sample data (NULL to ignore)
-							 0,								// maximum number of samples to be returned (0 to use a value that is appropriate for the media)
-							 &numberOfSamples,				// number of samples it actually returned
-							 NULL);							// flags that describe the sample (NULL to ignore)
-
-		if ((noErr != err) || (sourceBytesReturned == 0)) {
-			pFillData->isThereMoreSource = false;
-			pFillData->compData.desc.buffer = NULL;
-			pFillData->compData.desc.sampleCount = 0;
-			pFillData->compData.bufferSize = 0;		
-			pFillData->compData.commonFrameSize = 0;
-			
-			if ((err != noErr) && (sourceBytesReturned > 0))
-				printf("GetMediaSample - Failed in FillBufferDataProc");
-		}
-
-		pFillData->getMediaAtThisTime = sourceReturnedTime + (durationPerSample * numberOfSamples);
-		
-		// sampleCount is the number of PCM samples
-		pFillData->compData.desc.sampleCount = numberOfSamples * durationPerSample;
-		
-		// kExtendedSoundBufferSizeValid was specified - make sure this field is filled in correctly
-		pFillData->compData.bufferSize = sourceBytesReturned;
-		
-		// for VBR audio we specified the kExtendedSoundCommonFrameSizeValid flag - make sure this field is filled in correctly
-		if (pFillData->isSourceVBR) pFillData->compData.commonFrameSize = sourceBytesReturned / numberOfSamples;
-	}
-
-	// set outData to a properly filled out ExtendedSoundComponentData struct
-	*outData = (SoundComponentDataPtr)&pFillData->compData;
-	
-	return (pFillData->isThereMoreSource);
-}
-
-// * ----------------------------
-// GetMovieMedia
-//
-// returns a Media identifier - if the file is a System 7 Sound a non-in-place import is done and
-// a handle to the data is passed back to the caller who is responsible for disposing of it
-static OSErr GetMovieMedia(const char* inFile, Movie *outMovie, Media *outMedia)
-{
-	Movie theMovie = 0;
-	Track theTrack;
-	short theRefNum;
-	short theResID = 0;	// we want the first movie
-	OSErr err = noErr;
-
-	BailErr(err);
-		
-	Boolean wasChanged;
-	
-	// open the movie file
-	if (strncmp(inFile, "http:", strlen("http:")) &&
-		strncmp(inFile, "rtsp:", strlen("rtsp:")) &&
-		strncmp(inFile, "ftp:", strlen("ftp:") )) {
-		FSSpec		theFSSpec;
-#ifdef WIN32
-		OSErr result = NativePathNameToFSSpec((char*)inFile, &theFSSpec, 0 /* flags */);
-#else
-                FSRef ref; // intermediate struct
-                FSPathMakeRef( (const UInt8*)inFile, &ref, NULL );
-                OSErr result = FSGetCatalogInfo( &ref, kFSCatInfoNone , NULL, NULL, &theFSSpec, NULL);
-#endif
-		if (result) {printf("NativePathNameToFSSpec failed on source file %s with %d\n", inFile, result); goto bail; }
-		err = OpenMovieFile(&theFSSpec, &theRefNum, fsRdPerm);
-		// instantiate the movie
-		BailErr(err);
-		err = NewMovieFromFile(&theMovie, theRefNum, &theResID, NULL, newMovieActive, &wasChanged);
-		CloseMovieFile(theRefNum);
-	} else {
-
-		Handle urlDataRef; 
-		
-		urlDataRef = NewHandle(strlen(inFile) + 1); 
-		if ( ( err = MemError()) != noErr) goto bail; 
-		
-		BlockMoveData(inFile, *urlDataRef, strlen(inFile) + 1); 
-		
-		err = NewMovieFromDataRef(&theMovie, newMovieActive, nil, urlDataRef, URLDataHandlerSubType); 
-		if (err) {printf("NewMovieFrom Data Ref failed on source file %s with %d\n", inFile, err); goto bail; }
-
-		DisposeHandle(urlDataRef); 
-		
-	}
-
-	BailErr(err);
-	
-	// get the first sound track
-	theTrack = GetMovieIndTrackType(theMovie, 1, SoundMediaType, movieTrackMediaType);
-	if (NULL == theTrack ) BailErr(invalidTrack);
-
-	// get and return the sound track media
-	*outMedia = GetTrackMedia(theTrack);
-	if (NULL == *outMedia) err = invalidMedia;
-	
-	*outMovie = theMovie;
-	
-bail:
-	return err;
-}
-
-// * ----------------------------
-// GetSoundDescriptionInfo
-//
-// this function will extract the information needed to decompress the sound file, this includes 
-// retrieving the sample description and the decompression atom saved as a Sample Description Extention
-static OSErr GetSoundDescriptionInfo(Media inMedia, Ptr *outAudioAtom, SoundDescriptionPtr outSoundDesc)
-{
-	OSErr err = noErr;
-			
-	Size size;
-	Handle extension = NULL;
-	SoundDescriptionHandle hSoundDescription = (SoundDescriptionHandle)NewHandle(0);
-	
-	// get the description of the sample data
-	GetMediaSampleDescription(inMedia, 1, (SampleDescriptionHandle)hSoundDescription);
-	BailErr(GetMoviesError());
-
-	extension = NewHandle(0);
-	BailErr(MemError());
-	
-	// get the "magic" decompression atom
-	// This extension to the SoundDescription information stores data specific to a given audio decompressor.
-	// Some audio decompression algorithms require a set of out-of-stream values to configure the decompressor
-	// which are stored in a siDecompressionParams atom. The contents of the siDecompressionParams atom are dependent
-	// on the sound decompressor.
-	err = GetSoundDescriptionExtension(hSoundDescription, &extension, siDecompressionParams);
-	if (noErr == err) {
-		size = GetHandleSize(extension);
-		HLock(extension);
-		*outAudioAtom = NewPtr(size);
-		BailErr(MemError());
-		// copy the atom data to our Ptr...
-		BlockMoveData(*extension, *outAudioAtom, size);
-		HUnlock(extension);
-	} else {
-		// if it doesn't have an atom, that's ok
-		err = noErr;
-	}
-	
-	// set up our sound header
-	outSoundDesc->dataFormat = (*hSoundDescription)->dataFormat;
-	outSoundDesc->numChannels = (*hSoundDescription)->numChannels;
-	outSoundDesc->sampleSize = (*hSoundDescription)->sampleSize;
-	outSoundDesc->sampleRate = (*hSoundDescription)->sampleRate;
-	outSoundDesc->compressionID = (*hSoundDescription)->compressionID;
-	
-bail:
-	if (extension) DisposeHandle(extension);
-	if (hSoundDescription) DisposeHandle((Handle)hSoundDescription);
-	
-	return err;
-}
-
-// * ----------------------------
-// ConvertMovieSndTrack
-//
-// this function does the actual work
-OSErr ConvertMovieSndTrack(const char* inFileToConvert, Movie *movie,
-                           Media *videoMedia, Media *audioMedia,
-                           Track *videoTrack, Track *audioTrack ) {
-
-	SoundConverter			 mySoundConverter = NULL;
-	
-	Movie					 theSrcMovie = 0;
-	Media					 theSrcMedia = 0;
-							
-	Ptr						 theDecompressionParams = NULL;
-	Handle 					 theCompressionParams = NULL;
-
-	SoundDescription		 theSrcInputFormatInfo;
-	SoundDescriptionV1Handle hSoundDescription = NULL;
-	UnsignedFixed 			 theOutputSampleRate;
-	SoundComponentData		 theInputFormat,
-							 theOutputFormat;
-
-	SCFillBufferData 		 scFillBufferData = { NULL };
-	Ptr						 pDecomBuffer = NULL;
-										
-	Boolean					 isSoundDone = false;
-	
-	OSErr 					 err = noErr;
-	
-    int i, j;
-    int sindex = 0;
-    unsigned short pcmdata[2][512];
-    unsigned short *dptr;
-
-	// *********** SOURCE: Get sound data info from the first source movie sound track
-	
-	err = GetMovieMedia(inFileToConvert, &theSrcMovie, &theSrcMedia);
-	BailErr(err);
-	
-	err = GetSoundDescriptionInfo(theSrcMedia, (Ptr *)&theDecompressionParams, &theSrcInputFormatInfo);
-	if (noErr == err) {		
-		// setup input format for sound converter
-		theInputFormat.flags = 0;
-		theInputFormat.format = theSrcInputFormatInfo.dataFormat;
-		theInputFormat.numChannels = theSrcInputFormatInfo.numChannels;
-		theInputFormat.sampleSize = theSrcInputFormatInfo.sampleSize;
-		theInputFormat.sampleRate = theSrcInputFormatInfo. sampleRate;
-		theInputFormat.sampleCount = 0;
-		theInputFormat.buffer = NULL;
-		theInputFormat.reserved = 0;
-
-		theOutputFormat.flags = kNoRealtimeProcessing;
-		theOutputFormat.format = k16BitBigEndianFormat;
-		theOutputFormat.numChannels = 2; // theInputFormat.numChannels;
-		theOutputFormat.sampleSize = 16;
-		theOutputFormat.sampleRate = 44100 << 16; //theInputFormat.sampleRate;
-		theOutputFormat.sampleCount = 0;
-		theOutputFormat.buffer = NULL;
-		theOutputFormat.reserved = 0;
-
-	// *********** SOUND CONVERTER: Open converter and prepare for buffer conversion...captain!
-
-		err = SoundConverterOpen(&theInputFormat, &theOutputFormat, &mySoundConverter);
-		BailErr(err);
-		
-		// tell the sound converter we're cool with VBR formats
-//		SoundConverterSetInfo(mySoundConverter, siClientAcceptsVBR, Ptr(true));															
-
-		// set up the sound converters compression environment
-		// pass down siCompressionSampleRate, siCompressionChannels then siCompressionParams
-		SoundConverterSetInfo(mySoundConverter, siCompressionSampleRate, &theOutputFormat.sampleRate); // ignore errors
-		SoundConverterSetInfo(mySoundConverter, siCompressionChannels, &theOutputFormat.numChannels);
-
-		// set up the compression environment by passing in the 'magic' compression params aquired from
-		// standard sound compression eariler
-		if (theCompressionParams) {
-			HLock(theCompressionParams);
-			err = SoundConverterSetInfo(mySoundConverter, siCompressionParams, *theCompressionParams);
-			BailErr(err);
-			HUnlock(theCompressionParams);
-		}
-
-		// set up the decompresson environment by passing in the 'magic' decompression params
-		if (theDecompressionParams) {
-			// don't check for an error, if the decompressor didn't need the
-			// decompression atom for whatever reason we should still be ok
-			SoundConverterSetInfo(mySoundConverter, siDecompressionParams, theDecompressionParams);
-		}
-		
-		// we need to know if the output sample rate was changed so we can write it in the image description
-		// few codecs (but some) will implement this - MPEG4 for example may change the output sample rate if
-		// the user selects a low bit rate -  ignore errors
-	 	theOutputSampleRate = theOutputFormat.sampleRate;
-		SoundConverterGetInfo(mySoundConverter, siCompressionOutputSampleRate, &theOutputSampleRate);
-		
-		err = SoundConverterBeginConversion(mySoundConverter);
-		BailErr(err);
-		
-		// we need to get info about data/frame sizes 
-		// good practice to fill in the size of this structure
-		CompressionInfo compressionFactor = { sizeof(compressionFactor), 0 };
-		
-		hSoundDescription = (SoundDescriptionV1Handle)NewHandleClear(sizeof(SoundDescriptionV1));	
-		BailErr(MemError());
-		
-		err = SoundConverterGetInfo(mySoundConverter, siCompressionFactor, &compressionFactor);				
-		BailErr(err);
-
-		HLock((Handle)hSoundDescription);
-		
-		(*hSoundDescription)->desc.descSize		 = sizeof(SoundDescriptionV1);
-		(*hSoundDescription)->desc.dataFormat	 = (long)theOutputFormat.format;	   // compression format
-		(*hSoundDescription)->desc.resvd1		 = 0;								   // must be 0
-		(*hSoundDescription)->desc.resvd2		 = 0;							       // must be 0
-		(*hSoundDescription)->desc.dataRefIndex	 = 0;								   // 0 - we'll let AddMediaXXX determine the index
-		(*hSoundDescription)->desc.version		 = 1;								   // set to 1
-		(*hSoundDescription)->desc.revlevel		 = 0;								   // set to 0
-		(*hSoundDescription)->desc.vendor		 = 0;
-		(*hSoundDescription)->desc.numChannels	 = theOutputFormat.numChannels;		   // number of channels
-		(*hSoundDescription)->desc.sampleSize	 = theOutputFormat.sampleSize;		   // bits per sample - everything but 8 bit can be set to 16
-		(*hSoundDescription)->desc.compressionID = compressionFactor.compressionID;    // the compression ID (eg. variableCompression)
-		(*hSoundDescription)->desc.packetSize	 = 0;								   // set to 0
-		(*hSoundDescription)->desc.sampleRate	 = theOutputSampleRate;		   		   // the sample rate
-		// version 1 stuff
-		(*hSoundDescription)->samplesPerPacket 	 = compressionFactor.samplesPerPacket; // the samples per packet holds the PCM sample count per audio frame (packet)
-		(*hSoundDescription)->bytesPerPacket 	 = compressionFactor.bytesPerPacket;   // the bytes per packet
-		
-		// bytesPerFrame isn't necessarily calculated for us and returned as part of the CompressionFactor - not all codecs that
-		// implement siCompressionFactor fill out bytesPerFrame - so we do it here - note that VBR doesn't deserve this treatment
-		// but it's not harmful, the Sound Manager would do calculations itself as part of GetCompressionInfo()
-		// It should be noted that GetCompressionInfo() doesn't work for codecs that need configuration with 'magic' settings.
-		// This requires explicit opening of the codec and the siCompressionFactor selector for SoundComponentGetInfo()
-		(*hSoundDescription)->bytesPerFrame 	 = compressionFactor.bytesPerPacket * theOutputFormat.numChannels;
-		(*hSoundDescription)->bytesPerSample 	 = compressionFactor.bytesPerSample;							
-       
-        // the theCompressionParams are not necessarily present
-		if (theCompressionParams) {
-			// a Sound Description can't be locked when calling AddSoundDescriptionExtension so make sure it's unlocked
-			HUnlock((Handle)hSoundDescription);
-			err = AddSoundDescriptionExtension((SoundDescriptionHandle)hSoundDescription, theCompressionParams, siDecompressionParams);	
-			BailErr(err);
-			HLock((Handle)hSoundDescription);
-		}
-        
-        // VBR implies a different media layout, this will affect how AddMediaSample() is called below
-        Boolean outputFormatIsVBR = ((*hSoundDescription)->desc.compressionID == variableCompression);
-        
-	// *********** SOUND CONVERTER: Create buffers and Convert Data
-
-		// figure out sizes for the input and output buffers
-		// the input buffer has to be large enough so GetMediaSample isn't going to fail
-		// start with some rough numbers which should work well
-		UInt32 inputBytes = ((1000 + (theInputFormat.sampleRate >> 16)) * theInputFormat.numChannels) * 4,
-			   outputBytes = 0,
-			   maxPacketSize = 0;
-		
-		// ask about maximum packet size (or worst case packet size) so we don't allocate a destination (output)
-		// buffer that's too small - an output buffer smaller than MaxPacketSize would be really bad - init maxPacketSize
-		// to 0 so if the request isn't understood we can create a number (some multiple of maxPacketSize) and go from there
-		// this is likely only implemented by VBR codecs so don't get anxious about it not being implemented
-		SoundConverterGetInfo(mySoundConverter, siCompressionMaxPacketSize, &maxPacketSize);
-		
-		// start with this - you don't really need to use GetBufferSizes just as long as the output buffer is larger than
-		// the MaxPacketSize if implemented - we use kMaxBufferSize which is 64k as a minimum
-		SoundConverterGetBufferSizes(mySoundConverter, kMaxBufferSize, NULL, NULL, &outputBytes);
-		
-		if (0 == maxPacketSize)
-			maxPacketSize = kMaxBufferSize;   // kMaxBufferSize is 64k
-											 								  
-		if (inputBytes < kMaxBufferSize)	  // kMaxBufferSize is 64k
-			inputBytes = kMaxBufferSize;	  // note this is still too small for DV (NTSC=120000, PAL=144000)
-			
-		if (outputBytes < maxPacketSize)	  
-			outputBytes = maxPacketSize;
-
-		// allocate conversion buffer
-		pDecomBuffer = NewPtr(outputBytes);
-		BailErr(MemError());
-		
-		// fill in struct that gets passed to SoundConverterFillBufferDataProc via the refcon
-		// this includes the ExtendedSoundComponentData information		
-		scFillBufferData.sourceMedia = theSrcMedia;
-		scFillBufferData.getMediaAtThisTime = 0;		
-		scFillBufferData.sourceDuration = GetMediaDuration(theSrcMedia);
-		scFillBufferData.isThereMoreSource = true;
-		scFillBufferData.maxBufferSize = inputBytes;
-		
-		// if the source is VBR it means we're going to set the kExtendedSoundCommonFrameSizeValid
-		// flag and use the commonFrameSize field in the FillBuffer callback
-		scFillBufferData.isSourceVBR = (theSrcInputFormatInfo.compressionID == variableCompression);
-		
-		scFillBufferData.hSource = NewHandle((long)scFillBufferData.maxBufferSize);	// allocate source media buffer
-		BailErr(MemError());
-		HLockHi((Handle)scFillBufferData.hSource);
-		
-		scFillBufferData.compData.desc = theInputFormat;
-		scFillBufferData.compData.desc.buffer = (BytePtr)*scFillBufferData.hSource;
-		scFillBufferData.compData.desc.flags = kExtendedSoundData;
-		scFillBufferData.compData.recordSize = sizeof(ExtendedSoundComponentData);
-		scFillBufferData.compData.extendedFlags = kExtendedSoundBufferSizeValid;
-		if (scFillBufferData.isSourceVBR) scFillBufferData.compData.extendedFlags |= kExtendedSoundCommonFrameSizeValid;
-		scFillBufferData.compData.bufferSize = 0;	// filled in during FillBuffer callback
-
-		if (err == noErr) {	
-			
-			UInt32 outputFrames,
-				   actualOutputBytes,
-				   outputFlags,
-				   durationPerMediaSample,
-				   numberOfMediaSamples;
-				   			
-			SoundConverterFillBufferDataUPP theFillBufferDataUPP = NewSoundConverterFillBufferDataUPP(SoundConverterFillBufferDataProc);	
-
-			while (!isSoundDone) {
-				printf( ".");
-				err = SoundConverterFillBuffer(mySoundConverter,		// a sound converter
-											   theFillBufferDataUPP,	// the callback UPP
-											   &scFillBufferData,		// refCon passed to FillDataProc
-											   pDecomBuffer,			// the destination data  buffer
-											   outputBytes,				// size of the destination buffer
-											   &actualOutputBytes,		// number of output bytes
-											   &outputFrames,			// number of output frames
-											   &outputFlags);			// FillBuffer retured advisor flags
-				if (err) break;
-				if((outputFlags & kSoundConverterHasLeftOverData) == false) {
-					isSoundDone = true;
-				}
-				
-				// see if output buffer is filled so we can write some data	
-				if (actualOutputBytes > 0) {					
-					// so, what are we going to pass to AddMediaSample?
-					// 
-					// for variableCompression, a media sample == an audio packet (compressed), this is also true for uncompressed audio
-					// for fixedCompression, a media sample is a portion of an audio packet - it is 1 / compInfo.samplesPerPacket worth
-					// of data, there's no way to access just a portion of the samples
-					// therefore, we need to know if our compression format is VBR or Fixed and make the correct calculations for
-					// either VBR or not - Fixed and uncompressed are treated the same
-					if (outputFormatIsVBR) {
-						numberOfMediaSamples = outputFrames;
-						durationPerMediaSample = compressionFactor.samplesPerPacket;
-					} else {		
-						numberOfMediaSamples = outputFrames * compressionFactor.samplesPerPacket;
-						durationPerMediaSample = 1;
-					}
-
-                    i = 0;
-                    sindex = 0;
-                    dptr = (unsigned short *)pDecomBuffer;
-                    while ( i < numberOfMediaSamples ) {
-                        for ( j = 0 ; j < 512 ; j++ ) {
-                            pcmdata[0][j] = *dptr;
-                            *dptr++;
-                            pcmdata[1][j] = *dptr;
-                            *dptr++;
-                            i++;
-                          }
-
-                        /** Render the frame */
-                        renderLoop( globalPM, pcmdata );
-
-                        /** Stuff frame into movie */
-
-                        /** Stuff audio into movie */
-                        err = 
-                            AddMediaSample( *audioMedia, pDecomBuffer,
-                                            0, actualOutputBytes,
-                                            durationPerMediaSample,
-                                            nil, numberOfMediaSamples,
-                                            0, nil );
-
-                      }
-
-//                    printf( "samples: %d (%d bytes)\n", numberOfMediaSamples, actualOutputBytes );
-
-//					if (!fwrite(pDecomBuffer, actualOutputBytes, 1, outFile)) goto bail;
-				}
-
-			} // while
-			
-			SoundConverterEndConversion(mySoundConverter, pDecomBuffer, &outputFrames, &actualOutputBytes);
-
-			// if there's any left over data write it out
-			if (noErr == err && actualOutputBytes > 0) {
-				// see above comments regarding these calculations
-				if (outputFormatIsVBR) {
-					numberOfMediaSamples = outputFrames;
-					durationPerMediaSample = compressionFactor.samplesPerPacket;
-				} else {		
-					numberOfMediaSamples = outputFrames * compressionFactor.samplesPerPacket;
-					durationPerMediaSample = 1;
-				}
-
-//				if (!fwrite(pDecomBuffer, actualOutputBytes, 1, outFile)) goto bail;
-
-				BailErr(err);
-			}
-			
-			if (theFillBufferDataUPP) {
-				DisposeSoundConverterFillBufferDataUPP(theFillBufferDataUPP);
-			}
-		}
-						
-	}
-						
-bail:
-	if (mySoundConverter)
-		SoundConverterClose(mySoundConverter);
-
-	if (scFillBufferData.hSource)
-		DisposeHandle(scFillBufferData.hSource);
-		
-	if (pDecomBuffer)
-		DisposePtr(pDecomBuffer);
-		
-	if (theCompressionParams)
-		DisposeHandle(theCompressionParams);
-		
-	if (theDecompressionParams)
-		DisposePtr((Ptr)theDecompressionParams);
-		
-	if (hSoundDescription)
-		DisposeHandle((Handle)hSoundDescription);
-		
-	if (theSrcMovie)
-		DisposeMovie(theSrcMovie);
-
-	return err;
-}
diff --git a/src/projectM-moviegen/pm.c b/src/projectM-moviegen/pm.c
deleted file mode 100755
index 84582fe..0000000
--- a/src/projectM-moviegen/pm.c
+++ /dev/null
@@ -1,300 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2004 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-/**
- * $Id: projectMmovie.c,v 1.1 2004/10/19 20:28:46 cvs Exp $
- *
- * Converts a list of audio files supplied as arguments into MOV files
- * with embedded audio and video tracks
- *
- */
-
-#include <stdio.h>
-#include <QuickTime.h>
-
-//path2fss makes an FSSpec from a path with or without a filename
-int path2fss( FSSpec *fss, char *path ) {
-    char buf[1024];
-    char *p = &buf[1];
-    strcpy( p, path );
-    buf[0] = strlen( p );
-    return ( FSMakeFSSpec( 0, 0, (unsigned char *)buf, fss ) );
-  }
-
-#ifdef PANTS
-int main( int argc, char **argv ) {
-
-    Movie movie;
-    Track track;
-    Media media;
-    short refNum;
-    short resID = 0;
-    Boolean wasChanged;
-    OSErr err = noErr;
-    FSSpec fsspec;
-    AudioFormatAtomPtr outAudioAtom;
-    CmpSoundHeader outSoundInfo;
-    SoundComponentData theInputFormat,
-                       theOutputFormat;
-    SoundConverter mySoundConverter = NULL;
-//    SCFillBufferData scFillBufferData = { NULL };
-    Ptr pDecomBuffer0 = NULL,
-        pDecomBuffer1 = NULL;
-    long kMaxOutputBuffer = 64 * 1024;
-    long noFrames = 0,
-                  niFrames = 0,
-                  noBytes = 0,
-                  noSamples = 0;
-#define MAX_BUFFER_SIZE 256 * 1024 * 1024
-
-
-    /** Initialise MovieToolbox */
-    EnterMovies();
-
-    /** Open the movie file from the first argument */
-    printf( "opening audio file: '%s'\n", argv[1] );
-    path2fss( &fsspec, argv[1] );
-    err = OpenMovieFile( &fsspec, &refNum, fsRdPerm );
-    if ( err != noErr ) {
-        printf( "failed to open audio: %d\n", GetMoviesError() );
-        exit( -1 );
-      }
-
-    /** Instantiate the movie */
-    err = NewMovieFromFile( &movie, refNum, &resID, NULL,
-                            newMovieActive, &wasChanged );
-    if ( err ) {
-        printf( "failed to instantiate movie\n" );
-        exit( -1 );
-      }
-
-    CloseMovieFile( refNum );
-    refNum = 0;
-
-    /** Get the first sound track */
-    track = GetMovieIndTrackType( movie, 1, SoundMediaType,
-                                  movieTrackMediaType );
-    if ( track == NULL ) {
-        printf( "failed to get sound track\n" );
-        exit( -1 );
-      }
-
-    /** Get the sound track media */
-    media = GetTrackMedia( track );
-    if ( media == NULL ) {
-        printf( "failed to get media from audio track\n" );
-        exit( -1 );
-      }
-
-    Size size;
-    Handle extension;
-    SoundDescriptionHandle sourceSoundDescription;
-
-    sourceSoundDescription = (SoundDescriptionHandle)NewHandle(0);
-
-    /** Get the description of the sample data */
-    GetMediaSampleDescription( media, 1,
-                               (SampleDescriptionHandle)sourceSoundDescription );
-    err = GetMoviesError();
-    if ( err ) {
-        printf( "failed to get description of sample data\n" );
-        exit( -1 );
-      }
-
-    extension = NewHandle( 0 );
-
-    // get the "magic" decompression atom
-    // This extension to the SoundDescription information stores
-    // data specific to a given audio decompressor. Some audio
-    // decompression algorithms require a set of out-of-stream
-    // values to configure the decompressor.
-    err = 
-        GetSoundDescriptionExtension( (SoundDescriptionHandle)sourceSoundDescription,
-                                      &extension, siDecompressionParams );
-    if ( noErr == err ) {
-        size = GetHandleSize( extension );
-        printf( "transferring data to audio buffer: %d bytes\n", size );
-        HLock( extension );
-        outAudioAtom = (AudioFormatAtom*)NewPtr( size );
-        err = MemError();
-        // copy the atom data to our buffer...
-        BlockMoveData( *extension, outAudioAtom, size );
-        HUnlock( extension );
-      } else {
-        // if it doesn't have an atom, that's ok
-        outAudioAtom = NULL;
-        err = noErr;
-      }
-
-    /** Setup our sound header */
-    outSoundInfo.format = (*sourceSoundDescription)->dataFormat;
-    outSoundInfo.numChannels = (*sourceSoundDescription)->numChannels;
-    outSoundInfo.sampleSize = (*sourceSoundDescription)->sampleSize;
-    outSoundInfo.sampleRate = (*sourceSoundDescription)->sampleRate;
-    outSoundInfo.compressionID = (*sourceSoundDescription)->compressionID;
-
-    float db = ((float)outSoundInfo.sampleRate)/(1<<16);
-
-    printf( "sample: %d\tchannels: %d\tsample size: %d\tsample rate: %f\tcompressionID: %d\n",
-            outSoundInfo.format, outSoundInfo.numChannels, outSoundInfo.sampleSize,
-            db, outSoundInfo.compressionID );
-
-    DisposeHandle( extension );
-    DisposeHandle( (Handle)sourceSoundDescription );
-
-    /** 
-     * Now that we've figured out what the audio file is, allocate buffers
-     * and so on for conversion and playback
-     */
-
-    printf( "initialising input/output conversion buffers\n" );
-
-    /** setup input/output format for sound converter */
-    theInputFormat.flags = 0;
-    theInputFormat.format = outSoundInfo.format;
-    theInputFormat.numChannels = outSoundInfo.numChannels;
-    theInputFormat.sampleSize = outSoundInfo.sampleSize;
-    theInputFormat.sampleRate = outSoundInfo. sampleRate;
-    theInputFormat.sampleCount = 0;
-    theInputFormat.buffer = NULL;
-    theInputFormat.reserved = 0;
-
-    theOutputFormat.flags = 0;
-    theOutputFormat.format = kSoundNotCompressed;
-    theOutputFormat.numChannels = theInputFormat.numChannels;
-    theOutputFormat.sampleSize = theInputFormat.sampleSize;
-    theOutputFormat.sampleRate = theInputFormat.sampleRate;
-    theOutputFormat.sampleCount = 0;
-    theOutputFormat.buffer = NULL;
-    theOutputFormat.reserved = 0;
-
-    // variableCompression means we're going to use the commonFrameSize field and the kExtendedSoundCommonFrameSizeValid flag
-//    scFillBufferData.isSourceVBR = (outSoundInfo.compressionID == variableCompression );
-
-    err = SoundConverterOpen( &theInputFormat, &theOutputFormat, 
-                              &mySoundConverter );
-    if ( err != noErr ) {
-        printf( "failed to open sound converter\n" );
-        exit( -1 );
-      } else {
-        printf( "opened sound converter ok\n" );
-      }
-
-    // this isn't crucial or even required for decompression only, but it does tell
-    // the sound converter that we're cool with VBR audio
-    Ptr tptr = NewPtr( 1 );
-    tptr[0] = 1;
-    SoundConverterSetInfo( mySoundConverter, siClientAcceptsVBR, tptr );
-    free( tptr );
-
-    /**
-     * Set up the sound converters decompresson 'environment' by passing
-     * in the 'magic' decompression atom
-     */
-    err = 
-        SoundConverterSetInfo( mySoundConverter, siDecompressionParams,
-                               outAudioAtom );
-    if ( err != noErr ) {
-        printf( "failed to set sound converter info\n" );
-        exit( -1 );
-      } else {
-        printf( "set sound converter info ok\n" );
-      }
-
-    if ( outAudioAtom ) {
-        DisposePtr( (Ptr)outAudioAtom );
-      }
-
-    if ( siUnknownInfoType == err ) {
-        // clear this error, the decompressor didn't
-        // need the decompression atom and that's OK
-        err = noErr;
-      } else {
-//        BailErr(err);
-      }
-
-    /** 
-     * The input buffer has to be large enough so GetMediaSample isn't
-     * going to fail, your mileage may vary
-     */
-    Handle inputBuffer = NewHandle( MAX_BUFFER_SIZE );
-//    HLock( inputBuffer );
-
-    /** Start the sound conversion */
-    err = SoundConverterBeginConversion(mySoundConverter);
-//    BailErr(err);
-
-    /** Extract compressed audio from media track */
-    TimeValue tperSample = 0;
-    err = 
-        GetMediaSample( media, inputBuffer, 0, 
-                        &noBytes, 0, NULL, &tperSample, NULL, NULL, 0, &noSamples, NULL );
-    if ( err != noErr ) {
-        printf( "failed to fetch media sample data: %d\n", GetMoviesError() );
-        exit( -1 );
-      } else {
-        printf( "media sample: %d (%d) bytes / %ld samples / %d per sample\n", 
-                noBytes, GetHandleSize( inputBuffer ), noSamples, tperSample );
-      }
-
-    unsigned long niBytes = 0;
-    SoundConverterGetBufferSizes( mySoundConverter, noBytes * noSamples,
-                                  &niFrames, &niBytes, &noBytes );
-
-    printf( "buffer sizes: frames: %d\tibytes: %d\tobytes: %d\n",
-            niFrames, niBytes, noBytes );
-
-    /** Convert into uncompressed audio */
-    Ptr outputBuffer = NewPtr( noBytes * 1.2 );
-    SoundConverterConvertBuffer( mySoundConverter, inputBuffer, noSamples /* niFrames */, 
-                                 outputBuffer, &noFrames, &noBytes );
-
-    printf( "converted: %d frames / %d bytes\n", noFrames, noBytes );
-
-    /** Shutdown the sound converter */
-    err = SoundConverterEndConversion( mySoundConverter, outputBuffer, &noFrames, &noBytes );
-
-    printf( "converted final: %d frames / %d bytes\n", noFrames, noBytes );
-
-//    HUnlock( inputBuffer );
-
-    /** We now should have decompressed audio for the input file */
-    /** 
-     * So, generate visuals using a sliding sample grid at the
-     * given framerate
-     */
-
-    /** Create a new movie clip with audio and video tracks */
-
-    /** PROJECTM CRAP HERE -- stuff frames into QuickTime */
-
-    /** Close movie file */
-
-    /** Shutdown MovieToolbox */
-    ExitMovies();
-
-    return 0;
-  }
-#else
-extern int main123( int argc, char **argv );
-int main( int argc, char **argv ) {
-    main123( argc, argv );
-  }
-#endif
diff --git a/src/projectM-moviegen/projectM.icns b/src/projectM-moviegen/projectM.icns
deleted file mode 100755
index 841b713..0000000
Binary files a/src/projectM-moviegen/projectM.icns and /dev/null differ
diff --git a/src/projectM-moviegen/projectMmovie.c b/src/projectM-moviegen/projectMmovie.c
deleted file mode 100755
index 6198e82..0000000
--- a/src/projectM-moviegen/projectMmovie.c
+++ /dev/null
@@ -1,260 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2004 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-
-#include <math.h>
-#include "projectM/projectM.hpp"
-#include "event/sdltoprojectM.hpp"
-
-#ifdef DEBUG
-FILE *debugFile = NULL;
-#endif
-
-projectM_t *globalPM = NULL;
-
-int dumpFrame = 0;
-int frameNumber = 0;
-GLubyte *fbuffer = NULL;
-
-void renderLoop( projectM_t *pm, short pcm_data[2][512] ) {
-
-    int i;
-    int x, y;
-    int index;
-
-    /** Handle any keys... */
-    projectMEvent evt;
-    projectMKeycode key;
-    projectMModifier mod;
-
-    /** Process SDL events */
-    SDL_Event event;
-    while ( SDL_PollEvent( &event ) ) {
-        /** Translate into projectM codes and process */
-        evt = sdl2pmEvent( event );
-        key = sdl2pmKeycode( event.key.keysym.sym );
-        mod = sdl2pmModifier( event.key.keysym.mod );
-        if ( evt == PROJECTM_KEYDOWN ) {
-            key_handler( evt, key, mod );
-          }
-      }
-
-    /** Add the waveform data */
-    addPCM16( pcm_data );
-
-    /** Render the new frame */
-    renderFrame( pm );
-
-    if ( dumpFrame ) {
-        char fname[1024];
-        FILE *f;
-        sprintf( fname, "projectM_%08d.ppm", frameNumber++ );
-        f = fopen( fname, "wb" );
-        fprintf( f, "P3\n#\n%d %d\n255\n", pm->wvw, pm->wvh );
-        glReadPixels( 0, 0, pm->wvw, pm->wvh, GL_RGB, GL_UNSIGNED_BYTE, fbuffer );
-        index = 0;
-        for ( y = 0 ; y < pm->wvh ; y++ ) {
-            for ( x = 0 ; x < pm->wvw ; x++ ) {
-                fprintf( f, "%d %d %d ", fbuffer[index++], fbuffer[index++], fbuffer[index++] );
-              }
-            fprintf( f, "\n" );
-          }
-        fclose( f );
-      }
-
-    SDL_GL_SwapBuffers();
-	
-  }
-           
-
-int main( int argc, char **argv ) {
-
-    /** Variables */
-    int fullscreen = 0;
-    int width = 512,
-        height = 512;
-    SDL_Surface *screen;
-
-#ifdef DEBUG
-	int value;
-	int rgb_size[3];
-#endif
-
-  const SDL_VideoInfo* info = NULL;
-  int bpp = 0;
-  /* Flags we will pass into SDL_SetVideoMode. */
-  int flags = 0;
-
-#ifdef DEBUG
-#ifdef WIN32
-    /** Init debug */
-    debugFile = fopen( "c:\\projectMvis.txt", "wb" );
-#else
-    debugFile = fopen( "/tmp/projectMvis.txt", "wb" );
-#endif /** WIN32 */
-#endif /** DEBUG */
-
-    /** Allocate the SDL windows */
-  /* Information about the current video settings. */
-  /* First, initialize SDL's video subsystem. */
-  if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) {
-    /* Failed, exit. */
-#ifdef DEBUG
-    fprintf( debugFile, "Video initialization failed: %s\n",
-             SDL_GetError( ) );
-#endif
-    //projectM_vtable.disable_plugin (&projectM_vtable);
-    return PROJECTM_ERROR;
-    
-  }
-
-  /* Let's get some video information. */
-  info = SDL_GetVideoInfo( );
-  if( !info ) {
-    /* This should probably never happen. */
-#ifdef DEBUG
-    fprintf( debugFile, "Video query failed: %s\n",
-             SDL_GetError( ) );
-#endif
-    //    projectM_vtable.disable_plugin (&projectM_vtable);
-    return PROJECTM_ERROR;
-  }
-
-  bpp = info->vfmt->BitsPerPixel;
-
-//  SDL_GL_SetAttribute( SDL_GL_RED_SIZE, 5 );
-//  SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, 5 );
-//  SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, 5 );
-
-   SDL_GL_SetAttribute( SDL_GL_ACCUM_RED_SIZE, 8 );
-    SDL_GL_SetAttribute( SDL_GL_ACCUM_GREEN_SIZE, 8 );
-    SDL_GL_SetAttribute( SDL_GL_ACCUM_BLUE_SIZE, 8 );
-   SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 8 );
-  SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16 );
-  SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );
-
-  if (fullscreen==0)
-     flags = SDL_OPENGL | SDL_HWSURFACE;
-  else flags = SDL_OPENGL | SDL_HWSURFACE |SDL_FULLSCREEN;
-
-//  w = 512; h = 512; bpp = 16;
-#ifdef DEBUG
-fprintf( debugFile, "pre SDL_SetVideoMode()\n" );
-#endif
-  screen = SDL_SetVideoMode( width, height, bpp, flags ) ;
-#ifdef DEBUG
-fprintf( debugFile, "post SDL_SetVideoMode()\n" );
-#endif
-
-
-  if(screen == NULL ) {
-    /* 
-     * This could happen for a variety of reasons,
-     * including DISPLAY not being set, the specified
-     * resolution not being available, etc.
-     */
-#ifdef DEBUG
-   fprintf( debugFile, "Video mode set failed: %s\n",
-	     SDL_GetError( ) );
-#endif    
-
-   // projectM_vtable.disable_plugin (&projectM_vtable);
-    return PROJECTM_ERROR;
-  }
-
-#ifdef DEBUG
-	fprintf(debugFile, "Screen BPP: %d\n", SDL_GetVideoSurface()->format->BitsPerPixel);
-	fprintf(debugFile, "\n");
-	fprintf( debugFile, "Vendor     : %s\n", glGetString( GL_VENDOR ) );
-	fprintf( debugFile, "Renderer   : %s\n", glGetString( GL_RENDERER ) );
-	fprintf( debugFile, "Version    : %s\n", glGetString( GL_VERSION ) );
-	fprintf( debugFile, "Extensions : %s\n", glGetString( GL_EXTENSIONS ) );
-	fprintf(debugFile, "\n");
-
-	rgb_size[0] = 8;
-	rgb_size[1] = 8;
-	rgb_size[2] = 8;
-	SDL_GL_GetAttribute( SDL_GL_RED_SIZE, &value );
-	fprintf( debugFile, "SDL_GL_RED_SIZE: requested %d, got %d\n", rgb_size[0],value);
-	SDL_GL_GetAttribute( SDL_GL_GREEN_SIZE, &value );
-	fprintf( debugFile, "SDL_GL_GREEN_SIZE: requested %d, got %d\n", rgb_size[1],value);
-	SDL_GL_GetAttribute( SDL_GL_BLUE_SIZE, &value );
-	fprintf( debugFile, "SDL_GL_BLUE_SIZE: requested %d, got %d\n", rgb_size[2],value);
-	SDL_GL_GetAttribute( SDL_GL_DEPTH_SIZE, &value );
-	fprintf( debugFile, "SDL_GL_DEPTH_SIZE: requested %d, got %d\n", bpp, value );
-	SDL_GL_GetAttribute( SDL_GL_DOUBLEBUFFER, &value );
-	fprintf( debugFile, "SDL_GL_DOUBLEBUFFER: requested 1, got %d\n", value );
-#ifdef PANTS
-	if ( fsaa ) {
-		SDL_GL_GetAttribute( SDL_GL_MULTISAMPLEBUFFERS, &value );
-		printf( "SDL_GL_MULTISAMPLEBUFFERS: requested 1, got %d\n", value );
-		SDL_GL_GetAttribute( SDL_GL_MULTISAMPLESAMPLES, &value );
-		printf( "SDL_GL_MULTISAMPLESAMPLES: requested %d, got %d\n", fsaa, value );
-	}
-#endif
-#endif
-
-    /** Setup some window stuff */
-    SDL_WM_SetCaption( PROJECTM_TITLE, NULL );
- 
-    /** Initialise projectM */
-    globalPM = (projectM_t *)malloc( sizeof( projectM_t ) );
-    projectM_reset( globalPM );
-
-    globalPM->fullscreen = 0;
-    globalPM->renderTarget->texsize = 1024;
-//	globalPM->renderTarget->origCcontext = (void *)aglGetCurrentContext();
-#ifdef DEBUG
-    if ( debugFile != NULL ) {
-        fprintf( debugFile, "current context: %X\n",
-                 globalPM->renderTarget->origContext );
-        fflush( debugFile );
-      }
-#endif
-    
-#ifdef MACOS
-    globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 );
-    strcpy( globalPM->fontURL, "../../fonts" );
-
-    globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 );
-    strcpy( globalPM->presetURL, "../../presets" );
-#else
-    globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 );
-    strcpy( globalPM->fontURL, "c:\\tmp\\projectM\\fonts" );
-    
-    globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 );
-    strcpy( globalPM->presetURL, "c:\\tmp\\projectM\\presets_test" );
-#endif /** MACOS */
-
-    projectM_init( globalPM );
-
-    projectM_resetGL( globalPM, width, height );
-
-    /** Allocate the buffer for frame dumping, if applicable */
-    if ( dumpFrame ) {
-        fbuffer = (GLubyte *)malloc( sizeof( GLubyte ) * globalPM->wvw * globalPM->wvh * 3 );
-      }
-
-    /** Initialise the thread */
-//    renderLoop( globalPM );
-    main123( argc, argv );
-
-    return PROJECTM_SUCCESS;
-  }
diff --git a/src/projectM-moviegen/projectMmovie.dsp b/src/projectM-moviegen/projectMmovie.dsp
deleted file mode 100755
index 72de721..0000000
--- a/src/projectM-moviegen/projectMmovie.dsp
+++ /dev/null
@@ -1,96 +0,0 @@
-# Microsoft Developer Studio Project File - Name="projectMmovie" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=projectMmovie - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "projectMmovie.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "projectMmovie.mak" CFG="projectMmovie - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "projectMmovie - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "projectMmovie - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "projectMmovie - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
-
-!ELSEIF  "$(CFG)" == "projectMmovie - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ  /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib  kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
-
-!ENDIF 
-
-# Begin Target
-
-# Name "projectMmovie - Win32 Release"
-# Name "projectMmovie - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
-# End Group
-# End Target
-# End Project
diff --git a/src/projectM-screensaver/Scricon3.ico b/src/projectM-screensaver/Scricon3.ico
deleted file mode 100755
index 1de8cd5..0000000
Binary files a/src/projectM-screensaver/Scricon3.ico and /dev/null differ
diff --git a/src/projectM-screensaver/projectMsaver.iss b/src/projectM-screensaver/projectMsaver.iss
deleted file mode 100755
index f1b081c..0000000
--- a/src/projectM-screensaver/projectMsaver.iss
+++ /dev/null
@@ -1,26 +0,0 @@
-; Script generated by the Inno Setup Script Wizard.
-; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-
-[Setup]
-AppName=projectM Screensaver
-AppVerName=projectMsaver 0.95
-AppPublisher=projectM
-AppPublisherURL=http://xmms-projectm.sourceforge.net
-AppSupportURL=http://xmms-projectm.sourceforge.net
-AppUpdatesURL=http://xmms-projectm.sourceforge.net
-DefaultDirName={pf}\projectM
-DefaultGroupName=projectM
-DisableProgramGroupPage=yes
-LicenseFile=C:\tmp\projectM\LICENSE.txt
-Compression=lzma
-SolidCompression=yes
-
-[Files]
-Source: "C:\tmp\projectM\src\wprojectMsaver\Release\wprojectMsaver.scr"; DestDir: "{sys}"; Flags:
-Source: "C:\tmp\projectM\presets_projectM\*.milk"; DestDir: "{app}/presets"; Flags: ignoreversion
-Source: "C:\tmp\projectM\fonts\*.glf"; DestDir: "{app}/fonts"; Flags: ignoreversion recursesubdirs
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-
-[Icons]
-;Name: "{group}\projectM Screensaver"; Filename: "{app}\wprojectMsaver.scr"
-
diff --git a/src/projectM-screensaver/resource.h b/src/projectM-screensaver/resource.h
deleted file mode 100755
index 66b7556..0000000
--- a/src/projectM-screensaver/resource.h
+++ /dev/null
@@ -1,19 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by dbssaver.rc
-//
-#define IDS_APPNAME                     2
-#define DLG_CONFIG                      104
-#define IDB_BITMAP1                     108
-#define IDC_FLASH                       1000
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        114
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1005
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
diff --git a/src/projectM-screensaver/tsaver.h b/src/projectM-screensaver/tsaver.h
deleted file mode 100755
index 8282a33..0000000
--- a/src/projectM-screensaver/tsaver.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2004 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-
-#ifndef tsaver_h
-#define tsaver_h
-
-#define REGSTR_PATH_PLUSSCR (REGSTR_PATH_SETUP "\\Screen Savers")
-#define REGSTR_PATH_CONFIG  ("Software\\projectM\\wprojectMsaver")
-
-enum TScrMode { smNone, smConfig, smPassword, smPreview, smSaver};
-TScrMode ScrMode=smNone;
-
-class TSaverSettings
-{
-public:
-	HWND hwnd;
-	DWORD PasswordDelay;   // in seconds
-	DWORD MouseThreshold;  // in pixels
-	BOOL  MuteSound;
-	POINT InitCursorPos;
-	DWORD InitTime;        // in ms
-	UINT  idTimer;         // a timer id, because this particular saver uses a timer
-	BOOL  IsDialogActive;
-	BOOL  ReallyClose;     // for NT, so we know if a WM_CLOSE came from us or it.
-	BOOL  Rotate;     // this is a user-configuration option, particular to this example saver
-	TSaverSettings();
-	void ReadGeneralRegistry();
-	void ReadConfigRegistry();
-	void WriteConfigRegistry();
-	void CloseSaverWindow();
-	void StartDialog();
-	void EndDialog();
-};
-
-TSaverSettings::TSaverSettings()
-{
-	hwnd=NULL;
-	ReallyClose = false;
-	idTimer=0;
-}
-
-void TSaverSettings::ReadGeneralRegistry()
-{
-	PasswordDelay = 15;
-	MouseThreshold = 50;
-	IsDialogActive = false; // default values in case they're not in registry
-	LONG res;
-	HKEY skey;
-	DWORD valtype, valsize, val;
-	res = RegOpenKeyEx(HKEY_CURRENT_USER,REGSTR_PATH_PLUSSCR,0,KEY_ALL_ACCESS,&skey);
-	if( res!=ERROR_SUCCESS )
-		return;
-	
-	valsize = sizeof(val);
-	res = RegQueryValueEx(skey,"Password Delay",0,&valtype,(LPBYTE)&val,&valsize);
-	if( res==ERROR_SUCCESS )
-		PasswordDelay=val;
-	
-	valsize = sizeof(val);
-	res = RegQueryValueEx(skey,"Mouse Threshold",0,&valtype,(LPBYTE)&val,&valsize);
-	if( res==ERROR_SUCCESS )
-		MouseThreshold=val;
-	
-	valsize = sizeof(val);
-	res = RegQueryValueEx(skey,"Mute Sound",0,&valtype,(LPBYTE)&val,&valsize);
-	if( res==ERROR_SUCCESS )
-		MuteSound=val;
-	
-	RegCloseKey(skey);
-}
-
-void TSaverSettings::ReadConfigRegistry()
-{
-	Rotate=true;
-	LONG res;
-	HKEY skey;
-	DWORD valtype, valsize, val;
-	res = RegOpenKeyEx(HKEY_CURRENT_USER,REGSTR_PATH_CONFIG,0,KEY_ALL_ACCESS,&skey);
-	if( res!=ERROR_SUCCESS )
-		return;
-	
-	valsize = sizeof(val);
-	res = RegQueryValueEx(skey,"Rotate",0,&valtype,(LPBYTE)&val,&valsize);
-	
-	if( res==ERROR_SUCCESS )
-		Rotate=val;
-	
-	RegCloseKey(skey);
-}  
-
-void TSaverSettings::WriteConfigRegistry()
-{
-	LONG res;
-	HKEY skey;
-	DWORD val, disp;
-	res = RegCreateKeyEx(HKEY_CURRENT_USER,REGSTR_PATH_CONFIG,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&skey,&disp);
-	if( res!=ERROR_SUCCESS )
-		return;
-
-	val = Rotate;
-	RegSetValueEx(skey,"Rotate",0,REG_DWORD,(CONST BYTE*)&val,sizeof(val));
-	RegCloseKey(skey);
-}
-
-void TSaverSettings::CloseSaverWindow()
-{
-	ReallyClose = true;
-	PostMessage(hwnd,WM_CLOSE,0,0);
-}
-
-void TSaverSettings::StartDialog()
-{
-	IsDialogActive = true;
-	SendMessage(hwnd,WM_SETCURSOR,0,0);
-}
-
-void TSaverSettings::EndDialog()
-{
-	IsDialogActive = false;
-	SendMessage(hwnd,WM_SETCURSOR,0,0);
-	GetCursorPos(&InitCursorPos);
-}
-
-#endif
diff --git a/src/projectM-screensaver/util.cpp b/src/projectM-screensaver/util.cpp
deleted file mode 100755
index 1dd1e57..0000000
--- a/src/projectM-screensaver/util.cpp
+++ /dev/null
@@ -1,298 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2004 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-
-// MessageName: this function returns the text name of the message.
-char* MessageName(UINT msg)
-{
-	switch (msg)
-	{
-	case WM_NULL: return "WM_NULL";
-    case WM_CREATE: return "WM_CREATE";
-    case WM_DESTROY: return "WM_DESTROY";
-    case WM_MOVE: return "WM_MOVE";
-    case WM_SIZE: return "WM_SIZE";
-    case WM_ACTIVATE: return "WM_ACTIVATE";
-    case WM_SETFOCUS: return "WM_SETFOCUS";
-    case WM_KILLFOCUS: return "WM_KILLFOCUS";
-    case WM_ENABLE: return "WM_ENABLE";
-    case WM_SETREDRAW: return "WM_SETREDRAW";
-    case WM_SETTEXT: return "WM_SETTEXT";
-    case WM_GETTEXT: return "WM_GETTEXT";
-    case WM_GETTEXTLENGTH: return "WM_GETTEXTLENGTH";
-    case WM_PAINT: return "WM_PAINT";
-    case WM_CLOSE: return "WM_CLOSE";
-    case WM_QUERYENDSESSION: return "WM_QUERYENDSESSION";
-    case WM_QUIT: return "WM_QUIT";
-    case WM_QUERYOPEN: return "WM_QUERYOPEN";
-    case WM_ERASEBKGND: return "WM_ERASEBKGND";
-    case WM_SYSCOLORCHANGE: return "WM_SYSCOLORCHANGE";
-    case WM_ENDSESSION: return "WM_ENDSESSION";
-    case WM_SHOWWINDOW: return "WM_SHOWWINDOW";
-    case WM_SETTINGCHANGE: return "WM_SETTINGCHANGE";
-    case WM_DEVMODECHANGE: return "WM_DEVMODECHANGE";
-    case WM_ACTIVATEAPP: return "WM_ACTIVATEAPP";
-    case WM_FONTCHANGE: return "WM_FONTCHANGE";
-    case WM_TIMECHANGE: return "WM_TIMECHANGE";
-    case WM_CANCELMODE: return "WM_CANCELMODE";
-    case WM_SETCURSOR: return "WM_SETCURSOR";
-    case WM_MOUSEACTIVATE: return "WM_MOUSEACTIVATE";
-    case WM_CHILDACTIVATE: return "WM_CHILDACTIVATE";
-    case WM_QUEUESYNC: return "WM_QUEUESYNC";
-    case WM_GETMINMAXINFO: return "WM_GETMINMAXINFO";
-    case WM_PAINTICON: return "WM_PAINTICON";
-    case WM_ICONERASEBKGND: return "WM_ICONERASEBKGND";
-    case WM_NEXTDLGCTL: return "WM_NEXTDLGCTL";
-    case WM_SPOOLERSTATUS: return "WM_SPOOLERSTATUS";
-    case WM_DRAWITEM: return "WM_DRAWITEM";
-    case WM_MEASUREITEM: return "WM_MEASUREITEM";
-    case WM_DELETEITEM: return "WM_DELETEITEM";
-    case WM_VKEYTOITEM: return "WM_VKEYTOITEM";
-    case WM_CHARTOITEM: return "WM_CHARTOITEM";
-    case WM_SETFONT: return "WM_SETFONT";
-    case WM_GETFONT: return "WM_GETFONT";
-    case WM_SETHOTKEY: return "WM_SETHOTKEY";
-    case WM_GETHOTKEY: return "WM_GETHOTKEY";
-    case WM_QUERYDRAGICON: return "WM_QUERYDRAGICON";
-    case WM_COMPAREITEM: return "WM_COMPAREITEM";
-    case WM_COMPACTING: return "WM_COMPACTING";
-    case WM_COMMNOTIFY: return "WM_COMMNOTIFY";
-    case WM_WINDOWPOSCHANGING: return "WM_WINDOWPOSCHANGING";
-    case WM_WINDOWPOSCHANGED: return "WM_WINDOWPOSCHANGED";
-    case WM_POWER: return "WM_POWER";
-    case WM_COPYDATA: return "WM_COPYDATA";
-    case WM_CANCELJOURNAL: return "WM_CANCELJOURNAL";
-    case WM_NOTIFY: return "WM_NOTIFY";
-    case WM_INPUTLANGCHANGEREQUEST: return "WM_INPUTLANGCHANGEREQUEST";
-    case WM_INPUTLANGCHANGE: return "WM_INPUTLANGCHANGE";
-    case WM_TCARD: return "WM_TCARD";
-    case WM_HELP: return "WM_HELP";
-    case WM_USERCHANGED: return "WM_USERCHANGED";
-    case WM_NOTIFYFORMAT: return "WM_NOTIFYFORMAT";
-    case WM_CONTEXTMENU: return "WM_CONTEXTMENU";
-    case WM_STYLECHANGING: return "WM_STYLECHANGING";
-    case WM_STYLECHANGED: return "WM_STYLECHANGED";
-    case WM_DISPLAYCHANGE: return "WM_DISPLAYCHANGE";
-    case WM_GETICON: return "WM_GETICON";
-    case WM_SETICON: return "WM_SETICON";
-    case WM_NCCREATE: return "WM_NCCREATE";
-    case WM_NCDESTROY: return "WM_NCDESTROY";
-    case WM_NCCALCSIZE: return "WM_NCCALCSIZE";
-    case WM_NCHITTEST: return "WM_NCHITTEST";
-    case WM_NCPAINT: return "WM_NCPAINT";
-    case WM_NCACTIVATE: return "WM_NCACTIVATE";
-    case WM_GETDLGCODE: return "WM_GETDLGCODE";
-    case WM_NCMOUSEMOVE: return "WM_NCMOUSEMOVE";
-    case WM_NCLBUTTONDOWN: return "WM_NCLBUTTONDOWN";
-    case WM_NCLBUTTONUP: return "WM_NCLBUTTONUP";
-    case WM_NCLBUTTONDBLCLK: return "WM_NCLBUTTONDBLCLK";
-    case WM_NCRBUTTONDOWN: return "WM_NCRBUTTONDOWN";
-    case WM_NCRBUTTONUP: return "WM_NCRBUTTONUP";
-    case WM_NCRBUTTONDBLCLK: return "WM_NCRBUTTONDBLCLK";
-    case WM_NCMBUTTONDOWN: return "WM_NCMBUTTONDOWN";
-    case WM_NCMBUTTONUP: return "WM_NCMBUTTONUP";
-    case WM_NCMBUTTONDBLCLK: return "WM_NCMBUTTONDBLCLK";
-    case WM_KEYDOWN: return "WM_KEYDOWN";
-    case WM_KEYUP: return "WM_KEYUP";
-    case WM_CHAR: return "WM_CHAR";
-    case WM_DEADCHAR: return "WM_DEADCHAR";
-    case WM_SYSKEYDOWN: return "WM_SYSKEYDOWN";
-    case WM_SYSKEYUP: return "WM_SYSKEYUP";
-    case WM_SYSCHAR: return "WM_SYSCHAR";
-    case WM_SYSDEADCHAR: return "WM_SYSDEADCHAR";
-    case WM_IME_STARTCOMPOSITION: return "WM_IME_STARTCOMPOSITION";
-    case WM_IME_ENDCOMPOSITION: return "WM_IME_ENDCOMPOSITION";
-    case WM_IME_COMPOSITION: return "WM_IME_COMPOSITION";
-    case WM_INITDIALOG: return "WM_INITDIALOG";
-    case WM_COMMAND: return "WM_COMMAND";
-    case WM_SYSCOMMAND: return "WM_SYSCOMMAND";
-    case WM_TIMER: return "WM_TIMER";
-    case WM_HSCROLL: return "WM_HSCROLL";
-    case WM_VSCROLL: return "WM_VSCROLL";
-    case WM_INITMENU: return "WM_INITMENU";
-    case WM_INITMENUPOPUP: return "WM_INITMENUPOPUP";
-    case WM_MENUSELECT: return "WM_MENUSELECT";
-    case WM_MENUCHAR: return "WM_MENUCHAR";
-    case WM_ENTERIDLE: return "WM_ENTERIDLE";
-    case WM_CTLCOLORMSGBOX: return "WM_CTLCOLORMSGBOX";
-    case WM_CTLCOLOREDIT: return "WM_CTLCOLOREDIT";
-    case WM_CTLCOLORLISTBOX: return "WM_CTLCOLORLISTBOX";
-    case WM_CTLCOLORBTN: return "WM_CTLCOLORBTN";
-    case WM_CTLCOLORDLG: return "WM_CTLCOLORDLG";
-    case WM_CTLCOLORSCROLLBAR: return "WM_CTLCOLORSCROLLBAR";
-    case WM_CTLCOLORSTATIC: return "WM_CTLCOLORSTATIC";
-    case WM_MOUSEMOVE: return "WM_MOUSEMOVE";
-    case WM_LBUTTONDOWN: return "WM_LBUTTONDOWN";
-    case WM_LBUTTONUP: return "WM_LBUTTONUP";
-    case WM_LBUTTONDBLCLK: return "WM_LBUTTONDBLCLK";
-    case WM_RBUTTONDOWN: return "WM_RBUTTONDOWN";
-    case WM_RBUTTONUP: return "WM_RBUTTONUP";
-    case WM_RBUTTONDBLCLK: return "WM_RBUTTONDBLCLK";
-    case WM_MBUTTONDOWN: return "WM_MBUTTONDOWN";
-    case WM_MBUTTONUP: return "WM_MBUTTONUP";
-    case WM_MBUTTONDBLCLK: return "WM_MBUTTONDBLCLK";
-		//case WM_MOUSEWHEEL: return "WM_MOUSEWHEEL";
-    case WM_PARENTNOTIFY: return "WM_PARENTNOTIFY";
-    case WM_ENTERMENULOOP: return "WM_ENTERMENULOOP";
-    case WM_EXITMENULOOP: return "WM_EXITMENULOOP";
-    case WM_NEXTMENU: return "WM_NEXTMENU";
-    case WM_SIZING: return "WM_SIZING";
-    case WM_CAPTURECHANGED: return "WM_CAPTURECHANGED";
-    case WM_MOVING: return "WM_MOVING";
-    case WM_POWERBROADCAST: return "WM_POWERBROADCAST";
-    case WM_DEVICECHANGE: return "WM_DEVICECHANGE";
-    case WM_IME_SETCONTEXT: return "WM_IME_SETCONTEXT";
-    case WM_IME_NOTIFY: return "WM_IME_NOTIFY";
-    case WM_IME_CONTROL: return "WM_IME_CONTROL";
-    case WM_IME_COMPOSITIONFULL: return "WM_IME_COMPOSITIONFULL";
-    case WM_IME_SELECT: return "WM_IME_SELECT";
-    case WM_IME_CHAR: return "WM_IME_CHAR";
-    case WM_IME_KEYDOWN: return "WM_IME_KEYDOWN";
-    case WM_IME_KEYUP: return "WM_IME_KEYUP";
-    case WM_MDICREATE: return "WM_MDICREATE";
-    case WM_MDIDESTROY: return "WM_MDIDESTROY";
-    case WM_MDIACTIVATE: return "WM_MDIACTIVATE";
-    case WM_MDIRESTORE: return "WM_MDIRESTORE";
-    case WM_MDINEXT: return "WM_MDINEXT";
-    case WM_MDIMAXIMIZE: return "WM_MDIMAXIMIZE";
-    case WM_MDITILE: return "WM_MDITILE";
-    case WM_MDICASCADE: return "WM_MDICASCADE";
-    case WM_MDIICONARRANGE: return "WM_MDIICONARRANGE";
-    case WM_MDIGETACTIVE: return "WM_MDIGETACTIVE";
-    case WM_MDISETMENU: return "WM_MDISETMENU";
-    case WM_ENTERSIZEMOVE: return "WM_ENTERSIZEMOVE";
-    case WM_EXITSIZEMOVE: return "WM_EXITSIZEMOVE";
-    case WM_DROPFILES: return "WM_DROPFILES";
-    case WM_MDIREFRESHMENU: return "WM_MDIREFRESHMENU";
-		//case WM_MOUSEHOVER: return "WM_MOUSEHOVER";
-		//case WM_MOUSELEAVE: return "WM_MOUSELEAVE";
-    case WM_CUT: return "WM_CUT";
-    case WM_COPY: return "WM_COPY";
-    case WM_PASTE: return "WM_PASTE";
-    case WM_CLEAR: return "WM_CLEAR";
-    case WM_UNDO: return "WM_UNDO";
-    case WM_RENDERFORMAT: return "WM_RENDERFORMAT";
-    case WM_RENDERALLFORMATS: return "WM_RENDERALLFORMATS";
-    case WM_DESTROYCLIPBOARD: return "WM_DESTROYCLIPBOARD";
-    case WM_DRAWCLIPBOARD: return "WM_DRAWCLIPBOARD";
-    case WM_PAINTCLIPBOARD: return "WM_PAINTCLIPBOARD";
-    case WM_VSCROLLCLIPBOARD: return "WM_VSCROLLCLIPBOARD";
-    case WM_SIZECLIPBOARD: return "WM_SIZECLIPBOARD";
-    case WM_ASKCBFORMATNAME: return "WM_ASKCBFORMATNAME";
-    case WM_CHANGECBCHAIN: return "WM_CHANGECBCHAIN";
-    case WM_HSCROLLCLIPBOARD: return "WM_HSCROLLCLIPBOARD";
-    case WM_QUERYNEWPALETTE: return "WM_QUERYNEWPALETTE";
-    case WM_PALETTEISCHANGING: return "WM_PALETTEISCHANGING";
-    case WM_PALETTECHANGED: return "WM_PALETTECHANGED";
-    case WM_HOTKEY: return "WM_HOTKEY";
-    case WM_PRINT: return "WM_PRINT";
-    case WM_PRINTCLIENT: return "WM_PRINTCLIENT";
-    case WM_HANDHELDFIRST: return "WM_HANDHELDFIRST";
-    case WM_HANDHELDLAST: return "WM_HANDHELDLAST";
-    case WM_AFXFIRST: return "WM_AFXFIRST";
-    case WM_AFXLAST: return "WM_AFXLAST";
-    case WM_PENWINFIRST: return "WM_PENWINFIRST";
-    case WM_PENWINLAST: return "WM_PENWINLAST";
-#ifdef __VCL
-    case CM_ACTIVATE: return "CM_ACTIVATE";
-    case CM_DEACTIVATE: return "CM_DEACTIVATE";
-    case CM_GOTFOCUS: return "CM_GOTFOCUS";
-    case CM_LOSTFOCUS: return "CM_LOSTFOCUS";
-    case CM_CANCELMODE: return "CM_CANCELMODE";
-    case CM_DIALOGKEY: return "CM_DIALOGKEY";
-    case CM_DIALOGCHAR: return "CM_DIALOGCHAR";
-    case CM_FOCUSCHANGED: return "CM_FOCUSCHANGED";
-    case CM_PARENTFONTCHANGED: return "CM_PARENTFONTCHANGED";
-    case CM_PARENTCOLORCHANGED: return "CM_PARENTCOLORCHANGED";
-    case CM_HITTEST: return "CM_HITTEST";
-    case CM_VISIBLECHANGED: return "CM_VISIBLECHANGED";
-    case CM_ENABLEDCHANGED: return "CM_ENABLEDCHANGED";
-    case CM_COLORCHANGED: return "CM_COLORCHANGED";
-    case CM_FONTCHANGED: return "CM_FONTCHANGED";
-    case CM_CURSORCHANGED: return "CM_CURSORCHANGED";
-    case CM_CTL3DCHANGED: return "CM_CTL3DCHANGED";
-    case CM_PARENTCTL3DCHANGED: return "CM_PARENTCTL3DCHANGED";
-    case CM_TEXTCHANGED: return "CM_TEXTCHANGED";
-    case CM_MOUSEENTER: return "CM_MOUSEENTER";
-    case CM_MOUSELEAVE: return "CM_MOUSELEAVE";
-    case CM_MENUCHANGED: return "CM_MENUCHANGED";
-    case CM_APPKEYDOWN: return "CM_APPKEYDOWN";
-    case CM_APPSYSCOMMAND: return "CM_APPSYSCOMMAND";
-    case CM_BUTTONPRESSED: return "CM_BUTTONPRESSED";
-    case CM_SHOWINGCHANGED: return "CM_SHOWINGCHANGED";
-    case CM_ENTER: return "CM_ENTER";
-    case CM_EXIT: return "CM_EXIT";
-    case CM_DESIGNHITTEST: return "CM_DESIGNHITTEST";
-    case CM_ICONCHANGED: return "CM_ICONCHANGED";
-    case CM_WANTSPECIALKEY: return "CM_WANTSPECIALKEY";
-    case CM_INVOKEHELP: return "CM_INVOKEHELP";
-    case CM_WINDOWHOOK: return "CM_WINDOWHOOK";
-    case CM_RELEASE: return "CM_RELEASE";
-    case CM_SHOWHINTCHANGED: return "CM_SHOWHINTCHANGED";
-    case CM_PARENTSHOWHINTCHANGED: return "CM_PARENTSHOWHINTCHANGED";
-    case CM_SYSCOLORCHANGE: return "CM_SYSCOLORCHANGE";
-    case CM_WININICHANGE: return "CM_WININICHANGE";
-    case CM_FONTCHANGE: return "CM_FONTCHANGE";
-    case CM_TIMECHANGE: return "CM_TIMECHANGE";
-    case CM_TABSTOPCHANGED: return "CM_TABSTOPCHANGED";
-    case CM_UIACTIVATE: return "CM_UIACTIVATE";
-    case CM_UIDEACTIVATE: return "CM_UIDEACTIVATE";
-    case CM_DOCWINDOWACTIVATE: return "CM_DOCWINDOWACTIVATE";
-    case CM_CONTROLLISTCHANGE: return "CM_CONTROLLISTCHANGE";
-    case CM_GETDATALINK: return "CM_GETDATALINK";
-    case CM_CHILDKEY: return "CM_CHILDKEY";
-    case CM_DRAG: return "CM_DRAG";
-    case CM_HINTSHOW: return "CM_HINTSHOW";
-    case CM_DIALOGHANDLE: return "CM_DIALOGHANDLE";
-    case CM_ISTOOLCONTROL: return "CM_ISTOOLCONTROL";
-    case CM_RECREATEWND: return "CM_RECREATEWND";
-    case CM_INVALIDATE: return "CM_INVALIDATE";
-    case CM_SYSFONTCHANGED: return "CM_SYSFONTCHANGED";
-    case CM_CONTROLCHANGE: return "CM_CONTROLCHANGE";
-    case CM_CHANGED: return "CM_CHANGED";
-    case CN_CHARTOITEM: return "CN_CHARTOITEM";
-    case CN_COMMAND: return "CN_COMMAND";
-    case CN_COMPAREITEM: return "CN_COMPAREITEM";
-    case CN_CTLCOLORBTN: return "CN_CTLCOLORBTN";
-    case CN_CTLCOLORDLG: return "CN_CTLCOLORDLG";
-    case CN_CTLCOLOREDIT: return "CN_CTLCOLOREDIT";
-    case CN_CTLCOLORLISTBOX: return "CN_CTLCOLORLISTBOX";
-    case CN_CTLCOLORMSGBOX: return "CN_CTLCOLORMSGBOX";
-    case CN_CTLCOLORSCROLLBAR: return "CN_CTLCOLORSCROLLBAR";
-    case CN_CTLCOLORSTATIC: return "CN_CTLCOLORSTATIC";
-    case CN_DELETEITEM: return "CN_DELETEITEM";
-    case CN_DRAWITEM: return "CN_DRAWITEM";
-    case CN_HSCROLL: return "CN_HSCROLL";
-    case CN_MEASUREITEM: return "CN_MEASUREITEM";
-    case CN_PARENTNOTIFY: return "CN_PARENTNOTIFY";
-    case CN_VKEYTOITEM: return "CN_VKEYTOITEM";
-    case CN_VSCROLL: return "CN_VSCROLL";
-    case CN_KEYDOWN: return "CN_KEYDOWN";
-    case CN_KEYUP: return "CN_KEYUP";
-    case CN_CHAR: return "CN_CHAR";
-    case CN_SYSKEYDOWN: return "CN_SYSKEYDOWN";
-    case CN_SYSCHAR: return "CN_SYSCHAR";
-    case CN_NOTIFY: return "CN_NOTIFY";
-#endif
-    default: return "WM_????";
-  }
-}
-
-
diff --git a/src/projectM-screensaver/wprojectMsaver.cpp b/src/projectM-screensaver/wprojectMsaver.cpp
deleted file mode 100755
index e2b2130..0000000
--- a/src/projectM-screensaver/wprojectMsaver.cpp
+++ /dev/null
@@ -1,518 +0,0 @@
-/**
- * projectM -- Milkdrop-esque visualisation SDK
- * Copyright (C)2003-2004 projectM Team
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- * See 'LICENSE.txt' included within this release
- *
- */
-/**
- * $Id: wprojectMsaver.cpp,v 1.4 2004/11/15 15:09:44 cvs Exp $
- *
- * projectM-based screensaver for Windows
- *
- */
-
-#include <windows.h>
-#include <stdio.h>
-#include <regstr.h>
-#include <math.h>
-#include "resource.h"
-#include "tsaver.h"
-#ifdef WIN32
-extern "C" {
-#include <projectM/projectM.hpp>
-  }
-#endif /** WIN32 */
-
-#ifdef DEBUG
-FILE *debugFile = NULL;
-#endif
-
-//#pragma warning(disable: 4800)
-//#pragma warning(disable: 4305)
-//#pragma warning(disable: 4244)
-
-HINSTANCE hInstance=NULL;
-HWND hScrWindow=NULL;
-
-TSaverSettings *ss=NULL;
-
-/** Name */
-TCHAR szAppName[32];
-
-/** Visualiser */
-projectM_t *globalPM = NULL;
-
-void initGL(int width, int height)
-{
-    projectM_resetGL( globalPM, width, height );
-
-    switchPreset( RANDOM_NEXT, HARD_CUT );
-}
-
-void display() {
-
-    int i;
-    short pcm_data[2][512];
-
-    /** Produce some fake PCM data to stuff into projectM */
-    if ( globalPM->count % 5 == 0 ) {
-        for ( i = 0 ; i < 512 ; i++ ) {
-            pcm_data[0][i] = 0;
-            pcm_data[1][i] = 0;
-          }
-      } else {
-        for ( i = 0 ; i < 512 ; i++ ) {
-            if ( i % 2 == 0 ) {
-                pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,i%14) ) );
-                pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,i/2%14) ) );
-              } else {
-                pcm_data[0][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,i/2%14) ) );
-                pcm_data[1][i] = (float)( rand() / ( (float)RAND_MAX ) * (pow(2,i%14) ) );
-              }
-            if ( i % 2 == 1 ) {
-                pcm_data[0][i] = -pcm_data[0][i];
-                pcm_data[1][i] = -pcm_data[1][i];
-              }
-        }
-    }
-
-    /** Add the waveform data */
-    addPCM16( pcm_data );
-
-    /** Render the new frame */
-    renderFrame( globalPM );
-  }
-
-BOOL VerifyPassword(HWND hwnd)
-{
-	// Under NT, we return true immediately. This lets the saver quit, and the system manages passwords.
-	// Under '95, we call VerifyScreenSavePwd. This checks the appropriate registry key and, if necessary, pops up a verify dialog
-	OSVERSIONINFO osv;
-	osv.dwOSVersionInfoSize = sizeof(osv);
-	
-	GetVersionEx(&osv);
-
-	if( osv.dwPlatformId==VER_PLATFORM_WIN32_NT )
-		return true;
-
-	HINSTANCE hpwdcpl = ::LoadLibrary("PASSWORD.CPL");
-	if( hpwdcpl==NULL )
-		return true;
-
-	typedef BOOL (WINAPI *VERIFYSCREENSAVEPWD)(HWND hwnd);
-	VERIFYSCREENSAVEPWD VerifyScreenSavePwd;
-	VerifyScreenSavePwd = (VERIFYSCREENSAVEPWD)GetProcAddress(hpwdcpl,"VerifyScreenSavePwd");
-
-	if( VerifyScreenSavePwd==NULL )
-	{
-		FreeLibrary(hpwdcpl);
-		return true;
-	}
-	
-	BOOL bres = VerifyScreenSavePwd(hwnd);
-	FreeLibrary(hpwdcpl);
-	return bres;
-}
-
-void ChangePassword(HWND hwnd)
-{
-	// This only ever gets called under '95, when started with the /a option.
-	HINSTANCE hmpr = ::LoadLibrary("MPR.DLL");
-	if( hmpr==NULL )
-		return;
-	
-	typedef VOID (WINAPI *PWDCHANGEPASSWORD) (LPCSTR lpcRegkeyname,HWND hwnd,UINT uiReserved1,UINT uiReserved2);
-	PWDCHANGEPASSWORD PwdChangePassword=(PWDCHANGEPASSWORD)::GetProcAddress(hmpr,"PwdChangePasswordA");
-	if( PwdChangePassword==NULL )
-	{
-		FreeLibrary(hmpr);
-		return;
-	}
-	
-	PwdChangePassword("SCRSAVE",hwnd,0,0); FreeLibrary(hmpr);
-}
-
-  
-LRESULT CALLBACK SaverWindowProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
-{
-	// If you have a problem that's really not going away, put a debug in here:
-	// Debug(MessageName(msg));
-	// This will make a log of every single message that gets sent to the window.
-    static PAINTSTRUCT ps;
-	switch (msg)
-	{
-	case WM_CREATE:
-		{
-			ss->hwnd=hwnd;
-			GetCursorPos(&(ss->InitCursorPos));
-			ss->InitTime=GetTickCount();
-		} break;
-    case WM_ACTIVATE:
-	case WM_ACTIVATEAPP:
-	case WM_NCACTIVATE:
-		{
-			if( ScrMode==smSaver && !ss->IsDialogActive && LOWORD(wParam)==WA_INACTIVE )
-				ss->CloseSaverWindow();
-		} break;
-	case WM_SETCURSOR:
-		{
-			if( ScrMode==smSaver && !ss->IsDialogActive )
-				SetCursor(NULL);
-			else
-				SetCursor(LoadCursor(NULL,IDC_ARROW));
-		} break;
-    case WM_LBUTTONDOWN:
-	case WM_MBUTTONDOWN:
-	case WM_RBUTTONDOWN:
-	case WM_KEYDOWN:
-		{
-#ifdef DEBUG
-            fprintf( debugFile, "key: %d\n", (int)wParam );
-            fflush( debugFile );
-#endif
-            if ( ScrMode == smSaver && !ss->IsDialogActive ) {
-                if ( (int)wParam == 'R' ) {
-                    switchPreset( RANDOM_NEXT, HARD_CUT );
-                  } else {
-                    if ( (int)wParam == 'N' ) {
-                        switchPreset( ALPHA_NEXT, HARD_CUT );
-                      } else {
-                        if ( (int)wParam == 'P' ) {
-                            switchPreset( ALPHA_PREVIOUS, HARD_CUT );
-                          }
-                      }
-                  }
-              } else {
-				ss->CloseSaverWindow();
-              }
-		} break;
-	case WM_MOUSEMOVE:
-		{
-			if( ScrMode==smSaver && !ss->IsDialogActive )
-			{
-				POINT pt;
-				GetCursorPos(&pt);
-				int dx = pt.x-ss->InitCursorPos.x;
-				if( dx<0 )
-					dx = -dx;
-				int dy = pt.y-ss->InitCursorPos.y;
-				if( dy<0 )
-					dy = -dy;
-				if( dx>(int)ss->MouseThreshold || dy>(int)ss->MouseThreshold )
-					ss->CloseSaverWindow();
-			}
-		} break;
-	case (WM_SYSCOMMAND):
-		{
-			if( ScrMode==smSaver )
-			{
-				if( wParam==SC_SCREENSAVE )
-					return false;
-				if( wParam==SC_CLOSE )
-					return false;
-			}
-		} break;
-	case (WM_CLOSE):
-		{
-			if( ScrMode==smSaver && ss->ReallyClose && !ss->IsDialogActive )
-			{
-				BOOL CanClose = true;
-				if( GetTickCount()-ss->InitTime > 1000*ss->PasswordDelay )
-				{
-					ss->StartDialog();
-					CanClose = VerifyPassword(hwnd);
-					ss->EndDialog();
-				}
-				if( CanClose )
-					DestroyWindow(hwnd);
-			}
-			if( ScrMode==smSaver )
-				return false; // so that DefWindowProc doesn't get called, because it would just DestroyWindow
-		} break;
-	case (WM_DESTROY):
-		{
-			if( ss->idTimer!=0 )
-				KillTimer(hwnd,ss->idTimer);
-			ss->idTimer=0;
-			PostQuitMessage(0);
-		} break;
-  }
-  return DefWindowProc(hwnd,msg,wParam,lParam);
-}
-
-void DoSaver(HWND hparwnd, int nCmdShow)
-{
-	WNDCLASS wc;
-	wc.style=CS_HREDRAW | CS_VREDRAW | CS_OWNDC;
-	wc.lpfnWndProc	= SaverWindowProc;
-	wc.cbClsExtra	= 0;
-	wc.cbWndExtra	= 0;
-	wc.hInstance	= hInstance;
-	wc.hIcon		= NULL;
-	wc.hCursor		= NULL;
-	wc.hbrBackground = NULL;
-	wc.lpszMenuName	= NULL;
-	wc.lpszClassName	= "OpenGL";
-
-	if( !RegisterClass(&wc) ) {
-		MessageBox(NULL, "RegisterClass() failed:  "
-			"Cannot register window class.", "Error", MB_OK);
-		return;
-	}
-
-	int cx, cy;
-	if( ScrMode==smPreview )
-	{
-		RECT rc;
-		GetWindowRect(hparwnd,&rc);
-		cx = rc.right - rc.left;
-		cy = rc.bottom - rc.top;
-		hScrWindow =
-			CreateWindow("OpenGL", "SaverWindow", WS_CHILD|WS_VISIBLE,0, 0, cx, cy, hparwnd, NULL, hInstance, NULL);
-	}
-	else
-	{
-		cx = GetSystemMetrics(SM_CXSCREEN);
-		cy = GetSystemMetrics(SM_CYSCREEN);
-		DWORD exstyle, style;
-
-		exstyle = WS_EX_TOPMOST;
-		style = WS_POPUP|WS_VISIBLE;
-
-		hScrWindow = CreateWindow   ("OpenGL", "SaverWindow", style,0, 0, cx, cy, NULL, NULL, hInstance, NULL);
-
-	}
-
-	if( hScrWindow==NULL )
-		return;
-
-	UINT oldval;
-
-	if( ScrMode==smSaver )
-		SystemParametersInfo(SPI_SCREENSAVERRUNNING,1,&oldval,0);
-
-	HDC hDC = ::GetDC(hScrWindow);
-
-	PIXELFORMATDESCRIPTOR pfd;
-    memset(&pfd, 0, sizeof(pfd));
-    pfd.nSize        = sizeof(pfd);
-    pfd.nVersion     = 1;
-    pfd.dwFlags      = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
-    pfd.iPixelType   = PFD_TYPE_RGBA;
-    pfd.cColorBits   = 32;
-	
-	int pf = ChoosePixelFormat(hDC, &pfd);
-    if (pf == 0) {
-		MessageBox(NULL, "ChoosePixelFormat() failed:  "
-			"Cannot find a suitable pixel format.", "Error", MB_OK); 
-		return;
-    } 
-	
-    if (SetPixelFormat(hDC, pf, &pfd) == FALSE) {
-		MessageBox(NULL, "SetPixelFormat() failed:  "
-			"Cannot set format specified.", "Error", MB_OK);
-		return;
-    } 
-
-    DescribePixelFormat(hDC, pf, sizeof(PIXELFORMATDESCRIPTOR), &pfd);
-
-	HGLRC hRC = wglCreateContext(hDC);
-    wglMakeCurrent(hDC, hRC);
-	
-	initGL(cx, cy);
-
-	ShowWindow(hScrWindow, nCmdShow);
-	
-	MSG msg;
-
-	bool done = false;
-	while(!done)									// Loop That Runs While done=FALSE
-	{
-		if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))	// Is There A Message Waiting?
-		{
-			if (msg.message==WM_QUIT)				// Have We Received A Quit Message?
-				done=TRUE;							// If So done=TRUE
-			else									// If Not, Deal With Window Messages
-			{
-				TranslateMessage(&msg);				// Translate The Message
-				DispatchMessage(&msg);				// Dispatch The Message
-			}
-		}
-		else										// If There Are No Messages
-		{
-//			display(cx, cy );
-            display();
-			SwapBuffers(hDC);					// Swap Buffers (Double Buffering)
-
-			//Sleep(10);
-		}
-	}
-
-	wglMakeCurrent(NULL, NULL);
-    ReleaseDC(hScrWindow, hDC);
-    wglDeleteContext(hRC);
-
-	if( ScrMode==smSaver )
-		SystemParametersInfo(SPI_SCREENSAVERRUNNING,0,&oldval,0);
-	return;
-}
-
-BOOL CALLBACK ConfigDialogProc(HWND hwnd,UINT msg,WPARAM wParam,LPARAM lParam)
-{
-	switch (msg)
-	{
-	case WM_INITDIALOG:
-		{
-			CheckDlgButton(hwnd,IDC_FLASH,ss->Rotate);
-			return true;
-		}
-    case WM_COMMAND:
-		{
-			int id=LOWORD(wParam);
-			if( id==IDOK )
-			{
-				ss->Rotate = (IsDlgButtonChecked(hwnd,IDC_FLASH)==BST_CHECKED);
-				ss->WriteConfigRegistry();
-			}
-			if( id==IDOK || id==IDCANCEL )
-				EndDialog(hwnd,id);
-		} break;
-	}
-	return false;
-}
-
-int WINAPI WinMain(HINSTANCE h, HINSTANCE,LPSTR,int nCmdShow)
-{
-	hInstance = h;
-
-    LoadString( hInstance, IDS_APPNAME, szAppName, 31 );
-
-	char *c = GetCommandLine();
-	if(*c == '\"' )
-	{
-		c++;
-		while( *c!=0 && *c!='\"' )
-			c++;
-	}
-	else
-	{
-		while( *c!=0 && *c!=' ' )
-			c++;
-	}
-	
-	if( *c!=0 )
-		c++;
-	
-	while( *c==' ' )
-		c++;
-
-	HWND hwnd=NULL;
-	if( *c==0 )
-	{
-		ScrMode = smConfig;
-		hwnd=NULL;
-	}
-	else
-	{
-		if( *c=='-' || *c=='/' )
-			c++;
-		if( *c=='p' || *c=='P' || *c=='l' || *c=='L' )
-		{
-			c++;
-			while( *c==' ' || *c==':' )
-				c++;
-			hwnd = (HWND)atoi(c);
-			
-			ScrMode = smPreview;
-		}
-		else if( *c=='s' || *c=='S' )
-		{
-			ScrMode=smSaver;
-		}
-		else if( *c=='c' || *c=='C' )
-		{
-			c++;
-			while( *c==' ' || *c==':' )
-				c++;
-			if( *c==0 )
-				hwnd = GetForegroundWindow();
-			else
-				hwnd = (HWND)atoi(c);
-			ScrMode = smConfig;
-		}
-		else if( *c=='a' || *c=='A' )
-		{
-			c++;
-			while( *c==' ' || *c==':' )
-				c++;
-			hwnd = (HWND)atoi(c);
-			ScrMode = smPassword;
-		}
-	}
-
-    /** Set the app name */
-//    LoadString( hInstance, IDS_APPNAME, szAppName, 31 );
-
-	// We create a global TSaverSettings here, for convenience. It will get used by the config dialog and
-	// by the saver as it runs
-	ss = new TSaverSettings();
-	ss->ReadGeneralRegistry();
-	ss->ReadConfigRegistry();
-
-	if( ScrMode==smPassword )
-		ChangePassword(hwnd);
-	if( ScrMode==smConfig )
-		DialogBox(hInstance,MAKEINTRESOURCE(DLG_CONFIG),hwnd,ConfigDialogProc);
-	if( ScrMode == smSaver || ScrMode==smPreview ) {
-
-#ifdef DEBUG
-        debugFile = fopen( "c:\\wprojectMsaver.txt", "w" );
-#endif
-
-        /** Initialise projectM */
-        globalPM = (projectM_t *)wipemalloc( sizeof( projectM_t ) );
-        projectM_reset( globalPM );
-
-#ifdef DEBUG
-        fprintf( debugFile, "here1\n" );
-        fflush( debugFile );
-#endif
-
-        globalPM->fullscreen = 0;
-        globalPM->texsize = 512;
-
-        globalPM->fontURL = (char *)malloc( sizeof( char ) * 512 );
-        strcpy( globalPM->fontURL, "c:\\Program Files\\projectM\\fonts" );
-
-        globalPM->presetURL = (char *)malloc( sizeof( char ) * 512 );
-        strcpy( globalPM->presetURL, "c:\\Program Files\\projectM\\presets" );
-
-        projectM_init( globalPM );
-
-#ifdef DEBUG
-        fprintf( debugFile, "here2\n" );
-        fflush( debugFile );
-#endif
-
-		DoSaver(hwnd, nCmdShow);
-      }
-	delete ss;
-
-	return 0;
-}
-
-
diff --git a/src/projectM-screensaver/wprojectMsaver.dsp b/src/projectM-screensaver/wprojectMsaver.dsp
deleted file mode 100755
index 6211ab3..0000000
--- a/src/projectM-screensaver/wprojectMsaver.dsp
+++ /dev/null
@@ -1,133 +0,0 @@
-# Microsoft Developer Studio Project File - Name="wprojectMsaver" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Application" 0x0101
-
-CFG=wprojectMsaver - Win32 Release
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "wprojectMsaver.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "wprojectMsaver.mak" CFG="wprojectMsaver - Win32 Release"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "wprojectMsaver - Win32 Release" (based on "Win32 (x86) Application")
-!MESSAGE "wprojectMsaver - Win32 Debug" (based on "Win32 (x86) Application")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "wprojectMsaver - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ".\Release"
-# PROP BASE Intermediate_Dir ".\Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ".\Release"
-# PROP Intermediate_Dir ".\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /I ".." /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
-# ADD BASE MTL /nologo /D "NDEBUG" /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib glu32.lib opengl32.lib projectM.lib /nologo /subsystem:windows /machine:I386 /nodefaultlib:"libcmtd.lib" /out:".\Release/wprojectMsaver.scr" /libpath:"..\projectM\Release"
-# SUBTRACT LINK32 /pdb:none
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Release\wprojectMsaver.scr c:\WINNT\System32
-# End Special Build Tool
-
-!ELSEIF  "$(CFG)" == "wprojectMsaver - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ".\Debug"
-# PROP BASE Intermediate_Dir ".\Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ".\Debug"
-# PROP Intermediate_Dir ".\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /c
-# ADD CPP /nologo /MD /W3 /GX /Zi /Od /I ".." /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "DEBUG" /YX /FD /Zm1500 /c
-# ADD BASE MTL /nologo /D "_DEBUG" /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386
-# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib glu32.lib opengl32.lib glu32.lib projectM.lib /nologo /subsystem:windows /machine:I386 /out:".\Debug/wprojectMsaver.scr" /libpath:"..\projectM\Debug"
-# SUBTRACT LINK32 /pdb:none /debug
-# Begin Special Build Tool
-SOURCE="$(InputPath)"
-PostBuild_Cmds=copy Debug\wprojectMsaver.scr c:\WINNT\System32
-# End Special Build Tool
-
-!ENDIF 
-
-# Begin Target
-
-# Name "wprojectMsaver - Win32 Release"
-# Name "wprojectMsaver - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;for;f90"
-# Begin Source File
-
-SOURCE=.\wprojectMsaver.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\wprojectMsaver.rc
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl;fi;fd"
-# Begin Source File
-
-SOURCE=.\RESOURCE.H
-# End Source File
-# Begin Source File
-
-SOURCE=.\tsaver.h
-# End Source File
-# End Group
-# Begin Group "Resource Files"
-
-# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe"
-# Begin Source File
-
-SOURCE=.\Scricon3.ico
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/src/projectM-screensaver/wprojectMsaver.rc b/src/projectM-screensaver/wprojectMsaver.rc
deleted file mode 100755
index 58e31a2..0000000
--- a/src/projectM-screensaver/wprojectMsaver.rc
+++ /dev/null
@@ -1,149 +0,0 @@
-//Microsoft Developer Studio generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "afxres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "#include ""afxres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE DISCARDABLE 
-BEGIN
-    "\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Icon
-//
-
-// Icon with lowest ID value placed first to ensure application icon
-// remains consistent on all systems.
-1                       ICON    DISCARDABLE     "Scricon3.ico"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// DESIGNINFO
-//
-
-#ifdef APSTUDIO_INVOKED
-GUIDELINES DESIGNINFO DISCARDABLE 
-BEGIN
-    DLG_CONFIG, DIALOG
-    BEGIN
-        LEFTMARGIN, 7
-        RIGHTMARGIN, 179
-        TOPMARGIN, 7
-        BOTTOMMARGIN, 194
-    END
-END
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Dialog
-//
-
-DLG_CONFIG DIALOG DISCARDABLE  0, 0, 186, 201
-STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
-CAPTION "Configuration Dialog"
-FONT 8, "MS Sans Serif"
-BEGIN
-    DEFPUSHBUTTON   "OK",IDOK,34,93,50,14
-    PUSHBUTTON      "Cancel",IDCANCEL,105,93,50,14
-    CONTROL         "Rotate",IDC_FLASH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
-                    104,20,37,10
-    CONTROL         108,IDC_STATIC,"Static",SS_BITMAP | SS_SUNKEN | 
-                    WS_BORDER,7,7,89,81
-    LTEXT           "Daniel Lidström",IDC_STATIC,7,168,49,8
-    LTEXT           "danli97 at ite.mh.se",IDC_STATIC,7,178,59,8
-    LTEXT           "www.ite.mh.se/~danli97/opengl/",IDC_STATIC,7,186,106,8
-    GROUPBOX        "Configuration Options",IDC_STATIC,99,7,80,80
-    LTEXT           "Original Screensaver Framework by:",IDC_STATIC,7,158,
-                    114,8
-    CTEXT           "projectM Screensaver\nhttp://xmms-projectm.sourceforge.net\n",
-                    IDC_STATIC,7,113,172,43,WS_BORDER
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE DISCARDABLE 
-BEGIN
-    1                       "projectM"
-    IDS_APPNAME             "projectM"
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.K.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK
-#pragma code_page(1252)
-#endif //_WIN32
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Bitmap
-//
-
-//IDB_BITMAP1             BITMAP  DISCARDABLE     "dbslogo.bmp"
-#endif    // English (U.K.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/src/projectM-wmp/projectM-wmp.sln b/src/projectM-wmp/projectM-wmp.sln
deleted file mode 100644
index 0d0d9ba..0000000
--- a/src/projectM-wmp/projectM-wmp.sln
+++ /dev/null
@@ -1,132 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "projectM-wmp", "projectM-wmp\projectM-wmp.vcproj", "{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libprojectM", "..\projectM-engine\libprojectM.vcproj", "{31B91091-431A-4842-8682-2A04B51C980A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "freetype", "..\WinLibs\freetype-2.3.5\builds\win32\visualc\freetype.vcproj", "{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ftgl_static_lib", "..\WinLibs\FTGL\win32_vcpp\ftgl_static_lib\ftgl_static_lib.vcproj", "{4A80DC08-8D4E-4136-B818-AF0024000A21}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew_static", "..\WinLibs\glew\build\vc6\glew_static.vcproj", "{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug MT|Win32 = Debug MT|Win32
-		Debug Multithreaded|Win32 = Debug Multithreaded|Win32
-		Debug MX|Win32 = Debug MX|Win32
-		Debug Singlethreaded|Win32 = Debug Singlethreaded|Win32
-		Debug|Win32 = Debug|Win32
-		Release MT|Win32 = Release MT|Win32
-		Release Multithreaded|Win32 = Release Multithreaded|Win32
-		Release MX|Win32 = Release MX|Win32
-		Release Singlethreaded|Win32 = Release Singlethreaded|Win32
-		Release|Win32 = Release|Win32
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MT|Win32.ActiveCfg = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MT|Win32.Build.0 = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MX|Win32.ActiveCfg = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug MX|Win32.Build.0 = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug|Win32.ActiveCfg = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Debug|Win32.Build.0 = Debug|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MT|Win32.ActiveCfg = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MT|Win32.Build.0 = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Multithreaded|Win32.Build.0 = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MX|Win32.ActiveCfg = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release MX|Win32.Build.0 = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release Singlethreaded|Win32.Build.0 = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release|Win32.ActiveCfg = Release|Win32
-		{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}.Release|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MT|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Multithreaded|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug MX|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug Singlethreaded|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.ActiveCfg = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Debug|Win32.Build.0 = Debug|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MT|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Multithreaded|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release MX|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release Singlethreaded|Win32.Build.0 = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.ActiveCfg = Release|Win32
-		{31B91091-431A-4842-8682-2A04B51C980A}.Release|Win32.Build.0 = Release|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MT|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Multithreaded|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.ActiveCfg = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug MX|Win32.Build.0 = Debug Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.ActiveCfg = Debug Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug Singlethreaded|Win32.Build.0 = Debug Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.ActiveCfg = Debug|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Debug|Win32.Build.0 = Debug|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MT|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Multithreaded|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.ActiveCfg = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release MX|Win32.Build.0 = Release Multithreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.ActiveCfg = Release Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release Singlethreaded|Win32.Build.0 = Release Singlethreaded|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.ActiveCfg = Release|Win32
-		{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}.Release|Win32.Build.0 = Release|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MT|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Multithreaded|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug MX|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.ActiveCfg = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug Singlethreaded|Win32.Build.0 = Debug MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.ActiveCfg = Debug|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Debug|Win32.Build.0 = Debug|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MT|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Multithreaded|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release MX|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.ActiveCfg = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release Singlethreaded|Win32.Build.0 = Release MT|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.ActiveCfg = Release|Win32
-		{4A80DC08-8D4E-4136-B818-AF0024000A21}.Release|Win32.Build.0 = Release|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MT|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Multithreaded|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug MX|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.ActiveCfg = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug Singlethreaded|Win32.Build.0 = Debug MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.ActiveCfg = Debug|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Debug|Win32.Build.0 = Debug|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MT|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Multithreaded|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release MX|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.ActiveCfg = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release Singlethreaded|Win32.Build.0 = Release MX|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.ActiveCfg = Release|Win32
-		{94AC71AA-7528-4E56-A5A9-EDDFE6D20A39}.Release|Win32.Build.0 = Release|Win32
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal
diff --git a/src/projectM-wmp/projectM-wmp.suo b/src/projectM-wmp/projectM-wmp.suo
deleted file mode 100644
index 32ab0fb..0000000
Binary files a/src/projectM-wmp/projectM-wmp.suo and /dev/null differ
diff --git a/src/projectM-wmp/projectM-wmp/StdAfx.cpp b/src/projectM-wmp/projectM-wmp/StdAfx.cpp
deleted file mode 100644
index de27b19..0000000
--- a/src/projectM-wmp/projectM-wmp/StdAfx.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-//  stdafx.pch will be the pre-compiled header
-//  stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-#ifdef _ATL_STATIC_REGISTRY
-#include <statreg.h>
-#endif
-
diff --git a/src/projectM-wmp/projectM-wmp/StdAfx.h b/src/projectM-wmp/projectM-wmp/StdAfx.h
deleted file mode 100644
index 9fcd64d..0000000
--- a/src/projectM-wmp/projectM-wmp/StdAfx.h
+++ /dev/null
@@ -1,28 +0,0 @@
-// stdafx.h : include file for standard system include files,
-//      or project specific include files that are used frequently,
-//      but are changed infrequently
-
-#if !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_)
-#define AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED_
-
-#if _MSC_VER > 1000
-#pragma once
-#endif // _MSC_VER > 1000
-
-#define STRICT
-#ifndef _WIN32_WINNT
-#define _WIN32_WINNT 0x0400
-#endif
-#define _ATL_APARTMENT_THREADED
-
-#include <atlbase.h>
-//You may derive a class from CComModule and use it if you want to override
-//something, but do not change the name of _Module
-extern CComModule _Module;
-#include <atlcom.h>
-#include <ocidl.h>	// Added by ClassView
-
-//{{AFX_INSERT_LOCATION}}
-// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
-
-#endif // !defined(AFX_STDAFX_H__970E5960_5209_4AE7_8DD2_ACD4C1165941__INCLUDED)
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.aps b/src/projectM-wmp/projectM-wmp/projectM-wmp.aps
deleted file mode 100644
index 03a424f..0000000
Binary files a/src/projectM-wmp/projectM-wmp/projectM-wmp.aps and /dev/null differ
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp
deleted file mode 100644
index fa01fd9..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.cpp
+++ /dev/null
@@ -1,592 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// projectM-wmp.cpp : Implementation of CProjectMwmp
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-/////////////////////////////////////////////////////////////////////////////
-
-#include "stdafx.h"
-#include "projectM-wmp.h"
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::CProjectMwmp
-// Constructor
-
-HGLRC hrc = NULL; 
-bool starting = true;
-int width, height;
-projectM *globalPM;
-
-CProjectMwmp::CProjectMwmp() :
-m_hwndParent(NULL),
-m_clrForeground(0x0000FF),
-m_nPreset(0)
-{
-    m_dwAdviseCookie = 0;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::~CProjectMwmp
-// Destructor
-
-CProjectMwmp::~CProjectMwmp()
-{
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp:::FinalConstruct
-// Called when an effect is first loaded. Use this function to do one-time
-// intializations that could fail (i.e. creating offscreen buffers) instead
-// of doing this in the constructor, which cannot return an error.
-
-HRESULT CProjectMwmp::FinalConstruct()
-{
-    return S_OK;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp:::FinalRelease
-// Called when an effect is unloaded. Use this function to free any
-// resources allocated in FinalConstruct.
-
-void CProjectMwmp::FinalRelease()
-{
-    ReleaseCore();
-}
-
-
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::Render
-// Called when an effect should render itself to the screen.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::Render(TimedLevel *pLevels, HDC hdc, RECT *prc)
-{   
-	if (starting) {
-		static PIXELFORMATDESCRIPTOR pfd = {
-			sizeof(PIXELFORMATDESCRIPTOR), 1,							
-			PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,				
-			PFD_TYPE_RGBA, 24,	0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-			0, 0, 0, 0, 0, 0, 0
-		};
-		SetPixelFormat(hdc, ChoosePixelFormat(hdc,&pfd), &pfd);
-		hrc = wglCreateContext(hdc);
-		wglMakeCurrent(hdc, hrc);		
-		starting = false;
-
-		width = (int)(prc->right - prc->left);
-		height = (int)(prc->bottom - prc->top);
-	    
-		globalPM = new projectM("C:\\Program Files\\projectM\\config.inp");//24,18,0,128,width,height,"C:\\Documents and Settings\\DEV2\\My Documents\\svn\\presets_projectM\\");
-		
-	}
-
-	int newwidth = (int)(prc->right - prc->left);
-	int newheight = (int)(prc->bottom - prc->top);
-	if (width!= newwidth || height != newheight)
-	{
-		width=newwidth;
-		height=newheight;
-	 	globalPM->projectM_resetGL(width,height);
-	}
-
-	//PCM* pcm = globalPM->pcm;
-
-	//pcm->addPCM8(pLevels->waveform);
-	wglMakeCurrent(hdc, hrc);	
-	globalPM->projectM_resetGL(width,height);
-    globalPM->renderFrame();
-
-    SwapBuffers(hdc);
-    
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::MediaInfo
-// Everytime new media is loaded, this method is called to pass the
-// number of channels (mono/stereo), the sample rate of the media, and the
-// title of the media
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::MediaInfo(LONG lChannelCount, LONG lSampleRate, BSTR bstrTitle )
-{
-    return S_OK;
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::GetCapabilities
-// Returns the capabilities of this effect. Flags that can be returned are:
-//	EFFECT_CANGOFULLSCREEN		-- effect supports full-screen rendering
-//	EFFECT_HASPROPERTYPAGE		-- effect supports a property page
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::GetCapabilities(DWORD * pdwCapabilities)
-{
-    if (NULL == pdwCapabilities)
-    {
-        return E_POINTER;
-    }
-
-    *pdwCapabilities = EFFECT_CANGOFULLSCREEN;
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::GetTitle
-// Invoked when a host wants to obtain the title of the effect
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::GetTitle(BSTR* bstrTitle)
-{
-    USES_CONVERSION;
-
-    if (NULL == bstrTitle)
-    {
-        return E_POINTER;
-    }
-
-    CComBSTR bstrTemp;
-    bstrTemp.LoadString(IDS_EFFECTNAME); 
-        
-    if ((!bstrTemp) || (0 == bstrTemp.Length()))
-    {
-        return E_FAIL;
-    }
-
-    *bstrTitle = bstrTemp.Detach();
-
-    return S_OK;
-}
-
-
-STDMETHODIMP CProjectMwmp::RenderFullScreen(TimedLevel *pLevels)
-{
-
-  // NULL parent window should not happen 
-    if (NULL == m_hwndParent)
-    {
-        return E_UNEXPECTED;
-    }
-
-    // At this point the visualization should draw directly into the parent
-    // window. This sample just calls windowless render for simplicity.
-
-    HDC hdc = ::GetDC(m_hwndParent);
-
-    if (NULL == hdc)
-    {
-        return E_FAIL;
-    }
-
-    RECT rParent = { 0 };
-    ::GetClientRect(m_hwndParent, &rParent);
-
-    Render(pLevels, hdc, &rParent);
-    
-    ::ReleaseDC(m_hwndParent, hdc);
-
-	return S_OK;
-}
-
-STDMETHODIMP CProjectMwmp::GoFullscreen(BOOL fFullScreen)
-{
-	return S_OK;
-}
-											
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::GetPresetTitle
-// Invoked when a host wants to obtain the title of the given preset
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::GetPresetTitle(LONG nPreset, BSTR *bstrPresetTitle)
-{
-    USES_CONVERSION;
-
-    if (NULL == bstrPresetTitle)
-    {
-        return E_POINTER;
-    }    
-
-    CComBSTR bstrTemp;
-        
-	bstrTemp = "projectM 1.0";
-			            
-    if ((!bstrTemp) || (0 == bstrTemp.Length()))
-    {
-        return E_FAIL;
-    }
-
-    *bstrPresetTitle = bstrTemp.Detach();
-
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::GetPresetCount
-// Invoked when a host wants to obtain the number of supported presets
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::GetPresetCount(LONG *pnPresetCount)
-{
-    if (NULL == pnPresetCount)
-    {
-        return E_POINTER;
-    }
-
-    *pnPresetCount = 1;
-
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::SetCurrentPreset
-// Invoked when a host wants to change the index of the current preset
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::SetCurrentPreset(LONG nPreset)
-{   
-    m_nPreset = 0;
-
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::GetCurrentPreset
-// Invoked when a host wants to obtain the index of the current preset
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::GetCurrentPreset(LONG *pnPreset)
-{
-    if (NULL == pnPreset)
-    {
-        return E_POINTER;
-    }
-
-    *pnPreset = 0;
-
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::SetCore
-// Set WMP core interface
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::SetCore(IWMPCore * pCore)
-{
-    HRESULT hr = S_OK;
-
-    // release any existing WMP core interfaces
-    ReleaseCore();
-
-    // If we get passed a NULL core, this  means
-    // that the plugin is being shutdown.
-
-    if (pCore == NULL)
-    {
-        return S_OK;
-    }
-
-    m_spCore = pCore;
-
-    // connect up the event interface
-    CComPtr<IConnectionPointContainer>  spConnectionContainer;
-
-    hr = m_spCore->QueryInterface( &spConnectionContainer );
-
-    if (SUCCEEDED(hr))
-    {
-        hr = spConnectionContainer->FindConnectionPoint( __uuidof(IWMPEvents), &m_spConnectionPoint );
-    }
-
-    if (SUCCEEDED(hr))
-    {
-        hr = m_spConnectionPoint->Advise( GetUnknown(), &m_dwAdviseCookie );
-
-        if ((FAILED(hr)) || (0 == m_dwAdviseCookie))
-        {
-            m_spConnectionPoint = NULL;
-        }
-    }
-
-    return hr;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::Create
-// Invoked when the visualization should be initialized.
-//
-// If hwndParent != NULL, RenderWindowed() will be called and the visualization
-// should draw into the window specified by hwndParent. This will be the
-// behavior when the visualization is hosted in a window.
-//
-// If hwndParent == NULL, Render() will be called and the visualization
-// should draw into the DC passed to Render(). This will be the behavior when
-// the visualization is hosted windowless (like in a skin for example).
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::Create(HWND hwndParent)
-{
-
-    m_hwndParent = hwndParent;
-	if(!starting) 
-	{
-		delete(globalPM);
-		starting = true;
-	}
-
-//
-    return S_OK;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::Destroy
-// Invoked when the visualization should be released.
-//
-// Any resources allocated for ing should be released.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::Destroy()
-{
-	if (!starting)
-	{
-	    m_hwndParent = NULL;
-		starting = true;
-		delete(globalPM);
-		return S_OK;
-	}
-}
-
-
-char* ConvertBSTRToLPSTR (BSTR bstrIn)
-   {
-   	LPSTR pszOut = NULL;
-   
-   	if (bstrIn != NULL)
-   	{
-   		int nInputStrLen = SysStringLen (bstrIn);
-   
-   		// Double NULL Termination
-   		int nOutputStrLen = WideCharToMultiByte(CP_ACP, 0, bstrIn, nInputStrLen, NULL, 0, 0, 0) + 2;	
-   
-   		pszOut = new char [nOutputStrLen];
-   
-   		if (pszOut)
-   		{
-   		    memset (pszOut, 0x00, sizeof (char)*nOutputStrLen);
-   
- 		 WideCharToMultiByte (CP_ACP, 0, bstrIn, nInputStrLen, pszOut, nOutputStrLen, 0, 0);
-   		}
-   	 }
-   
-   	return pszOut;
-   }
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::NotifyNewMedia
-// Invoked when a new media stream begins playing.
-//
-// The visualization can inspect this object for properties (like name or artist)
-// that might be interesting for visualization.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::NotifyNewMedia(IWMPMedia *pMedia)
-{
-	if (starting == false && pMedia != NULL)
-	{
-	CComBSTR name;
-	pMedia->get_name(&name);	
-
-	LPTSTR pszConvertedCharStr = ConvertBSTRToLPSTR (name);
-    std::string strConverted (pszConvertedCharStr);
-  
-    delete [] pszConvertedCharStr;
-
-	globalPM->projectM_setTitle(strConverted);
-    return S_OK;
-	}
-}
-
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::OnWindowMessage
-// Window messages sent to the parent window.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::OnWindowMessage(UINT msg, WPARAM WParam, LPARAM LParam, LRESULT *plResultParam )
-{
-    // return S_OK only if the plugin has handled the window message
-    // return S_FALSE to let the defWindowProc handle the message
-    return S_FALSE;
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::Windowed
-// Called when an effect should render itself to the screen.
-//
-// The fRequiredRender flag specifies if an update is required, otherwise the
-// update is optional. This allows visualizations that are fairly static (for example,
-// album art visualizations) to only render when the parent window requires it,
-// instead of n times a second for dynamic visualizations.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::RenderWindowed(TimedLevel *pLevels, BOOL fRequiredRender )
-{
-    // NULL parent window should not happen 
-    if (NULL == m_hwndParent)
-    {
-        return E_UNEXPECTED;
-    }
-
-    // At this point the visualization should draw directly into the parent
-    // window. This sample just calls windowless render for simplicity.
-
-    HDC hdc = ::GetDC(m_hwndParent);
-
-    if (NULL == hdc)
-    {
-        return E_FAIL;
-    }
-
-    RECT rParent = { 0 };
-    ::GetClientRect(m_hwndParent, &rParent);
-
-    Render(pLevels, hdc, &rParent);
-    
-    ::ReleaseDC(m_hwndParent, hdc);
-
-    return S_OK;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::ReleaseCore
-// Release WMP core interfaces
-//////////////////////////////////////////////////////////////////////////////
-void CProjectMwmp::ReleaseCore()
-{
-    if (m_spConnectionPoint)
-    {
-        if (0 != m_dwAdviseCookie)
-        {
-            m_spConnectionPoint->Unadvise(m_dwAdviseCookie);
-            m_dwAdviseCookie = 0;
-        }
-        m_spConnectionPoint = NULL;
-    }
-
-    if (m_spCore)
-    {
-        m_spCore = NULL;
-    }
-}
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::get_foregroundColor
-// Property get to retrieve the foregroundColor prop via the public interface.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::get_foregroundColor(BSTR *pVal)
-{
-	return ColorToWz( pVal, m_clrForeground);
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::put_foregroundColor
-// Property put to set the foregroundColor prop via the public interface.
-//////////////////////////////////////////////////////////////////////////////
-STDMETHODIMP CProjectMwmp::put_foregroundColor(BSTR newVal)
-{
-	return WzToColor(newVal, &m_clrForeground);
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::WzToColor
-// Helper function used to convert a string into a COLORREF.
-//////////////////////////////////////////////////////////////////////////////
-HRESULT CProjectMwmp::WzToColor(const WCHAR *pwszColor, COLORREF *pcrColor)
-{ 
-    if (NULL == pwszColor)
-    {
-        //NULL color string passed in
-        return E_POINTER;
-    }
-
-    if (0 == lstrlenW(pwszColor))
-    {
-        //Empty color string passed in
-        return E_INVALIDARG;
-    }
-
-    if (NULL == pcrColor)
-    {
-        //NULL output color DWORD passed in
-        return E_POINTER;
-    }
-    
-    if (lstrlenW(pwszColor) != 7)
-    {
-        //hex color string is not of the correct length
-        return E_INVALIDARG;
-    }
-
-    DWORD dwRet = 0;
-    for (int i = 1; i < 7; i++)
-    {
-        // shift dwRet by 4
-        dwRet <<= 4;
-        // and add in the value of this string
-
-		if ((pwszColor[i] >= L'0') && (pwszColor[i] <= L'9'))
-		{
-            dwRet += pwszColor[i] - '0';
-        }
-        else if ((pwszColor[i] >= L'A') && (pwszColor[i] <= L'F'))
-        {
-            dwRet += 10 + (pwszColor[i] - L'A');
-        }
-        else if ((pwszColor[i] >= L'a') && (pwszColor[i] <= L'f'))
-        {
-            dwRet += 10 + (pwszColor[i] - L'a');
-        }
-        else
-        {
-           //Invalid hex digit in color string
-            return E_INVALIDARG;
-        }
-    }
-
-    *pcrColor = SwapBytes(dwRet);
-
-    return S_OK;
-} 
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::ColorToWz
-// Helper function used to convert a COLORREF to a BSTR.
-//////////////////////////////////////////////////////////////////////////////
-HRESULT CProjectMwmp::ColorToWz( BSTR* pbstrColor, COLORREF crColor)
-{
-    _ASSERT( NULL != pbstrColor );
-    _ASSERT( (crColor & 0x00FFFFFF) == crColor );
-
-    *pbstrColor = NULL;
-
-    WCHAR wsz[8];
-    HRESULT hr  = S_OK;
-
-    swprintf_s( wsz, sizeof(wsz)/sizeof(wsz[0]), L"#%06X", SwapBytes(crColor) );
-    
-    *pbstrColor = ::SysAllocString( wsz );
-
-    if (!pbstrColor)
-    {
-        hr = E_FAIL;
-    }
-
-    return hr;
-}
-
-
-//////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp::SwapBytes
-// Used to convert between a DWORD and COLORREF.  Simply swaps the lowest 
-// and 3rd order bytes.
-//////////////////////////////////////////////////////////////////////////////
-inline DWORD CProjectMwmp::SwapBytes(DWORD dwRet)
-{
-    return ((dwRet & 0x0000FF00) | ((dwRet & 0x00FF0000) >> 16) | ((dwRet & 0x000000FF) << 16));
-}
-
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.def b/src/projectM-wmp/projectM-wmp/projectM-wmp.def
deleted file mode 100644
index aad047c..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.def
+++ /dev/null
@@ -1,9 +0,0 @@
-; projectM-wmp.def : Declares the module parameters.
-
-LIBRARY      "PROJECTM-WMP.DLL"
-
-EXPORTS
-	DllCanUnloadNow     PRIVATE
-	DllGetClassObject   PRIVATE
-	DllRegisterServer   PRIVATE
-	DllUnregisterServer	PRIVATE
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.h b/src/projectM-wmp/projectM-wmp/projectM-wmp.h
deleted file mode 100644
index 14d61a9..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// projectM-wmp.h : Declaration of the CProjectMwmp
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-/////////////////////////////////////////////////////////////////////////////
-
-#ifndef __PROJECTMWMP_H_
-#define __PROJECTMWMP_H_
-
-#include "resource.h"
-#include "effects.h"
-#include "projectM-wmp_h.h"
-#include "projectM.hpp"
-
-
-/////////////////////////////////////////////////////////////////////////////
-// CProjectMwmp
-class ATL_NO_VTABLE CProjectMwmp : 
-    public CComObjectRootEx<CComSingleThreadModel>,
-    public CComCoClass<CProjectMwmp, &CLSID_ProjectMwmp>,
-    public IDispatchImpl<IProjectMwmp, &IID_IProjectMwmp, &LIBID_PROJECTMWMPLib>,
-    public IWMPEvents,
-    public IWMPEffects2
-{
-private:
-    COLORREF    m_clrForeground;    // foreground color
-    LONG        m_nPreset;          // current preset
-
-    HRESULT WzToColor(const WCHAR *pwszColor, COLORREF *pcrColor);
-    HRESULT ColorToWz( BSTR* pbstrColor, COLORREF crColor);
-    DWORD SwapBytes(DWORD dwRet);
-
-public:
-    CProjectMwmp();
-    ~CProjectMwmp();
-
-DECLARE_REGISTRY_RESOURCEID(IDR_PROJECTMWMP)
-
-DECLARE_PROTECT_FINAL_CONSTRUCT()
-
-BEGIN_COM_MAP(CProjectMwmp)
-    COM_INTERFACE_ENTRY(IProjectMwmp)
-    COM_INTERFACE_ENTRY(IDispatch)
-    COM_INTERFACE_ENTRY(IWMPEvents)
-    COM_INTERFACE_ENTRY(IWMPEffects)
-    COM_INTERFACE_ENTRY(IWMPEffects2)
-END_COM_MAP()
-
-public:
-
-    // CComCoClass Overrides
-    HRESULT FinalConstruct();
-    void FinalRelease();
-
-    // IProjectMwmp
-    STDMETHOD(get_foregroundColor)(/*[out, retval]*/ BSTR *pVal);
-    STDMETHOD(put_foregroundColor)(/*[in]*/ BSTR newVal);
-
-    // IWMPEffects
-    STDMETHOD(Render)(TimedLevel *pLevels, HDC hdc, RECT *rc);
-    STDMETHOD(MediaInfo)(LONG lChannelCount, LONG lSampleRate, BSTR bstrTitle);
-    STDMETHOD(GetCapabilities)(DWORD * pdwCapabilities);
-    STDMETHOD(GoFullscreen)(BOOL fFullScreen);// { return E_NOTIMPL; };
-    STDMETHOD(RenderFullScreen)(TimedLevel *pLevels);// { return E_NOTIMPL; };
-    STDMETHOD(DisplayPropertyPage)(HWND hwndOwner) { return E_NOTIMPL; };
-    STDMETHOD(GetTitle)(BSTR *bstrTitle);
-    STDMETHOD(GetPresetTitle)(LONG nPreset, BSTR *bstrPresetTitle);
-    STDMETHOD(GetPresetCount)(LONG *pnPresetCount);
-    STDMETHOD(SetCurrentPreset)(LONG nPreset);
-    STDMETHOD(GetCurrentPreset)(LONG *pnPreset);
-
-    // IWMPEffects2
-    STDMETHOD(SetCore)(IWMPCore * pCore);
-    STDMETHOD(Create)(HWND hwndParent);
-    STDMETHOD(Destroy)();
-    STDMETHOD(NotifyNewMedia)(IWMPMedia *pMedia);
-    STDMETHOD(OnWindowMessage)(UINT msg, WPARAM WParam, LPARAM LParam, LRESULT *plResultParam );
-    STDMETHOD(RenderWindowed)(TimedLevel *pLevels, BOOL fRequiredRender );
-
-    // IWMPEvents methods
-    void STDMETHODCALLTYPE OpenStateChange( long NewState );
-    void STDMETHODCALLTYPE PlayStateChange( long NewState );
-    void STDMETHODCALLTYPE AudioLanguageChange( long LangID );
-    void STDMETHODCALLTYPE StatusChange();
-    void STDMETHODCALLTYPE ScriptCommand( BSTR scType, BSTR Param );
-    void STDMETHODCALLTYPE NewStream();
-    void STDMETHODCALLTYPE Disconnect( long Result );
-    void STDMETHODCALLTYPE Buffering( VARIANT_BOOL Start );
-    void STDMETHODCALLTYPE Error();
-    void STDMETHODCALLTYPE Warning( long WarningType, long Param, BSTR Description );
-    void STDMETHODCALLTYPE EndOfStream( long Result );
-    void STDMETHODCALLTYPE PositionChange( double oldPosition, double newPosition);
-    void STDMETHODCALLTYPE MarkerHit( long MarkerNum );
-    void STDMETHODCALLTYPE DurationUnitChange( long NewDurationUnit );
-    void STDMETHODCALLTYPE CdromMediaChange( long CdromNum );
-    void STDMETHODCALLTYPE PlaylistChange( IDispatch * Playlist, WMPPlaylistChangeEventType change );
-    void STDMETHODCALLTYPE CurrentPlaylistChange( WMPPlaylistChangeEventType change );
-    void STDMETHODCALLTYPE CurrentPlaylistItemAvailable( BSTR bstrItemName );
-    void STDMETHODCALLTYPE MediaChange( IDispatch * Item );
-    void STDMETHODCALLTYPE CurrentMediaItemAvailable( BSTR bstrItemName );
-    void STDMETHODCALLTYPE CurrentItemChange( IDispatch *pdispMedia);
-    void STDMETHODCALLTYPE MediaCollectionChange();
-    void STDMETHODCALLTYPE MediaCollectionAttributeStringAdded( BSTR bstrAttribName,  BSTR bstrAttribVal );
-    void STDMETHODCALLTYPE MediaCollectionAttributeStringRemoved( BSTR bstrAttribName,  BSTR bstrAttribVal );
-    void STDMETHODCALLTYPE MediaCollectionAttributeStringChanged( BSTR bstrAttribName, BSTR bstrOldAttribVal, BSTR bstrNewAttribVal);
-    void STDMETHODCALLTYPE PlaylistCollectionChange();
-    void STDMETHODCALLTYPE PlaylistCollectionPlaylistAdded( BSTR bstrPlaylistName);
-    void STDMETHODCALLTYPE PlaylistCollectionPlaylistRemoved( BSTR bstrPlaylistName);
-    void STDMETHODCALLTYPE PlaylistCollectionPlaylistSetAsDeleted( BSTR bstrPlaylistName, VARIANT_BOOL varfIsDeleted);
-    void STDMETHODCALLTYPE ModeChange( BSTR ModeName, VARIANT_BOOL NewValue);
-    void STDMETHODCALLTYPE MediaError( IDispatch * pMediaObject);
-    void STDMETHODCALLTYPE OpenPlaylistSwitch( IDispatch *pItem );
-    void STDMETHODCALLTYPE DomainChange( BSTR strDomain);
-    void STDMETHODCALLTYPE SwitchedToPlayerApplication();
-    void STDMETHODCALLTYPE SwitchedToControl();
-    void STDMETHODCALLTYPE PlayerDockedStateChange();
-    void STDMETHODCALLTYPE PlayerReconnect();
-    void STDMETHODCALLTYPE Click( short nButton, short nShiftState, long fX, long fY );
-    void STDMETHODCALLTYPE DoubleClick( short nButton, short nShiftState, long fX, long fY );
-    void STDMETHODCALLTYPE KeyDown( short nKeyCode, short nShiftState );
-    void STDMETHODCALLTYPE KeyPress( short nKeyAscii );
-    void STDMETHODCALLTYPE KeyUp( short nKeyCode, short nShiftState );
-    void STDMETHODCALLTYPE MouseDown( short nButton, short nShiftState, long fX, long fY );
-    void STDMETHODCALLTYPE MouseMove( short nButton, short nShiftState, long fX, long fY );
-    void STDMETHODCALLTYPE MouseUp( short nButton, short nShiftState, long fX, long fY );
-
-private:
-    void         ReleaseCore();
-
-    HWND                        m_hwndParent;
-    CComPtr<IWMPCore>           m_spCore;
-    CComPtr<IConnectionPoint>   m_spConnectionPoint;
-    DWORD                       m_dwAdviseCookie;
-};
-
-#endif //__PROJECTMWMP_H_
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.idl b/src/projectM-wmp/projectM-wmp/projectM-wmp.idl
deleted file mode 100644
index 593e883..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.idl
+++ /dev/null
@@ -1,40 +0,0 @@
-// iprojectM-wmp.idl : IDL source for projectM-wmp.dll
-// Copyright (c) Microsoft Corporation. All rights reserved.
-
-// This file will be processed by the MIDL tool to
-// produce the type library (iprojectM-wmp.tlb) and marshalling code.
-
-import "oaidl.idl";
-import "ocidl.idl";
-	[
-		object,
-		uuid(8E230690-504E-471D-B3B7-C8EE5C874B96),
-		dual,
-		helpstring("IProjectMwmp Interface"),
-		pointer_default(unique)
-	]
-	interface IProjectMwmp : IDispatch
-	{
-		[propget, id(1), helpstring("property foregroundColor")] HRESULT foregroundColor([out, retval] BSTR *pVal);
-		[propput, id(1), helpstring("property foregroundColor")] HRESULT foregroundColor([in] BSTR newVal);
-	};
-
-[
-	uuid(0EEBF2FE-5198-43EE-980A-57C120606942),
-	version(1.0),
-	helpstring("ProjectMwmp 1.0 Type Library")
-]
-library PROJECTMWMPLib
-{
-	importlib("stdole32.tlb");
-	importlib("stdole2.tlb");
-
-	[
-		uuid(0F04F51D-A1EA-4F41-908B-28BC5BC00FA8),
-		helpstring("ProjectMwmp Class")
-	]
-	coclass ProjectMwmp
-	{
-		[default] interface IProjectMwmp;
-	};
-};
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.rc b/src/projectM-wmp/projectM-wmp/projectM-wmp.rc
deleted file mode 100644
index e9c8729..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.rc
+++ /dev/null
@@ -1,122 +0,0 @@
-// Microsoft Visual C++ generated resource script.
-//
-#include "resource.h"
-
-#define APSTUDIO_READONLY_SYMBOLS
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 2 resource.
-//
-#include "winres.h"
-
-/////////////////////////////////////////////////////////////////////////////
-#undef APSTUDIO_READONLY_SYMBOLS
-
-/////////////////////////////////////////////////////////////////////////////
-// English (U.S.) resources
-
-#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
-#ifdef _WIN32
-LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
-#pragma code_page(1252)
-#endif //_WIN32
-
-#ifdef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// TEXTINCLUDE
-//
-
-1 TEXTINCLUDE 
-BEGIN
-    "resource.h\0"
-END
-
-2 TEXTINCLUDE 
-BEGIN
-    "#include ""winres.h""\r\n"
-    "\0"
-END
-
-3 TEXTINCLUDE 
-BEGIN
-    "1 TYPELIB ""projectM-wmp.tlb""\r\n"
-    "\0"
-END
-
-#endif    // APSTUDIO_INVOKED
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// Version
-//
-
-VS_VERSION_INFO VERSIONINFO
- FILEVERSION 1,0,0,1
- PRODUCTVERSION 1,0,0,1
- FILEFLAGSMASK 0x3fL
-#ifdef _DEBUG
- FILEFLAGS 0x1L
-#else
- FILEFLAGS 0x0L
-#endif
- FILEOS 0x4L
- FILETYPE 0x2L
- FILESUBTYPE 0x0L
-BEGIN
-    BLOCK "StringFileInfo"
-    BEGIN
-        BLOCK "040904B0"
-        BEGIN
-            VALUE "CompanyName", "ProjectMwmp"
-            VALUE "FileDescription", "ProjectMwmp Module"
-            VALUE "FileVersion", "1, 0, 0, 1"
-            VALUE "InternalName", "ProjectMwmp"
-            VALUE "LegalCopyright", "Copyright © 2001-2001"
-            VALUE "OriginalFilename", "projectM-wmp.dll"
-            VALUE "ProductName", "ProjectMwmp Module"
-            VALUE "ProductVersion", "1, 0, 0, 1"
-        END
-    END
-    BLOCK "VarFileInfo"
-    BEGIN
-        VALUE "Translation", 0x409, 1200
-    END
-END
-
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// REGISTRY
-//
-
-IDR_PROJECTMWMP         REGISTRY                "projectM-wmp.rgs"
-
-/////////////////////////////////////////////////////////////////////////////
-//
-// String Table
-//
-
-STRINGTABLE 
-BEGIN
-    IDS_PROJNAME            "projectM-wmp"
-    IDS_EFFECTNAME          "projectM"
-    IDS_DESCRIPTION         "Open-Source Music Visualizer"
-END
-
-#endif    // English (U.S.) resources
-/////////////////////////////////////////////////////////////////////////////
-
-
-
-#ifndef APSTUDIO_INVOKED
-/////////////////////////////////////////////////////////////////////////////
-//
-// Generated from the TEXTINCLUDE 3 resource.
-//
-1 TYPELIB "projectM-wmp.tlb"
-
-/////////////////////////////////////////////////////////////////////////////
-#endif    // not APSTUDIO_INVOKED
-
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs b/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs
deleted file mode 100644
index 6337ab1..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.rgs
+++ /dev/null
@@ -1,41 +0,0 @@
-HKCR
-{
-    NoRemove CLSID
-    {
-        ForceRemove {0F04F51D-A1EA-4F41-908B-28BC5BC00FA8} = s 'ProjectMwmp Class'
-        {
-            InprocServer32 = s '%MODULE%'
-            {
-                val ThreadingModel = s 'Apartment'
-            }
-            'TypeLib' = s '{0EEBF2FE-5198-43EE-980A-57C120606942}'
-        }
-    }
-}
-HKEY_LOCAL_MACHINE
-{
-    NoRemove SOFTWARE
-    {
-        NoRemove Microsoft
-        {
-            NoRemove MediaPlayer
-            {
-                NoRemove Objects
-                {
-                    NoRemove Effects
-                    {
-                        ForceRemove ProjectMwmp
-                        {
-                            Properties
-                            {
-                                val classid = s '{0F04F51D-A1EA-4F41-908B-28BC5BC00FA8}'
-                                val name = s 'res://projectM-wmp.dll/RT_STRING/#101'
-                                val description = s 'res://projectM-wmp.dll/RT_STRING/#105'
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj b/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj
deleted file mode 100644
index 27a87a7..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp.vcproj
+++ /dev/null
@@ -1,277 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
-	ProjectType="Visual C++"
-	Version="9.00"
-	Name="projectM-wmp"
-	ProjectGUID="{E182C41E-2EF4-4BE6-8D85-F9A0982CD38C}"
-	RootNamespace="projectMwmp"
-	TargetFrameworkVersion="131072"
-	>
-	<Platforms>
-		<Platform
-			Name="Win32"
-		/>
-	</Platforms>
-	<ToolFiles>
-	</ToolFiles>
-	<Configurations>
-		<Configuration
-			Name="Debug|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			UseOfATL="0"
-			CharacterSet="2"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="0"
-				AdditionalIncludeDirectories="&quot;..\..\projectM-engine&quot;;&quot;..\..\WinLibs\glew\include\GL&quot;"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;_WINNT_WIN32=0x5000;"
-				MinimalRebuild="true"
-				BasicRuntimeChecks="0"
-				RuntimeLibrary="1"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="4"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				UseLibraryDependencyInputs="false"
-				AdditionalDependencies="opengl32.lib glu32.lib"
-				ShowProgress="2"
-				LinkIncremental="2"
-				LinkDLL="true"
-				IgnoreAllDefaultLibraries="false"
-				IgnoreDefaultLibraryNames=""
-				ModuleDefinitionFile="projectM-wmp.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				BaseAddress="254803968"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-		<Configuration
-			Name="Release|Win32"
-			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
-			IntermediateDirectory="$(ConfigurationName)"
-			ConfigurationType="2"
-			UseOfATL="0"
-			CharacterSet="2"
-			WholeProgramOptimization="1"
-			>
-			<Tool
-				Name="VCPreBuildEventTool"
-			/>
-			<Tool
-				Name="VCCustomBuildTool"
-			/>
-			<Tool
-				Name="VCXMLDataGeneratorTool"
-			/>
-			<Tool
-				Name="VCWebServiceProxyGeneratorTool"
-			/>
-			<Tool
-				Name="VCMIDLTool"
-			/>
-			<Tool
-				Name="VCCLCompilerTool"
-				Optimization="2"
-				AdditionalIncludeDirectories="&quot;..\..\projectM-engine&quot;;..\..\WinLibs\glew\include\GL;C:\Users\pete\Desktop\trunk\src\WinLibs\pthreads\include"
-				PreprocessorDefinitions="WIN32;_WINDOWS;_USRDLL;_WINNT_WIN32=0x5000"
-				RuntimeLibrary="0"
-				UsePrecompiledHeader="2"
-				WarningLevel="3"
-				Detect64BitPortabilityProblems="true"
-				DebugInformationFormat="0"
-			/>
-			<Tool
-				Name="VCManagedResourceCompilerTool"
-			/>
-			<Tool
-				Name="VCResourceCompilerTool"
-				AdditionalIncludeDirectories="$(IntDir)"
-			/>
-			<Tool
-				Name="VCPreLinkEventTool"
-			/>
-			<Tool
-				Name="VCLinkerTool"
-				RegisterOutput="true"
-				AdditionalDependencies="opengl32.lib glu32.lib pthreadVC2.lib"
-				AdditionalLibraryDirectories="C:\Users\pete\Desktop\trunk\src\WinLibs\pthreads\lib"
-				LinkDLL="true"
-				IgnoreDefaultLibraryNames=""
-				ModuleDefinitionFile="projectM-wmp.def"
-				GenerateDebugInformation="true"
-				SubSystem="2"
-				OptimizeReferences="2"
-				EnableCOMDATFolding="2"
-				BaseAddress="254803968"
-				RandomizedBaseAddress="1"
-				DataExecutionPrevention="0"
-				TargetMachine="1"
-			/>
-			<Tool
-				Name="VCALinkTool"
-			/>
-			<Tool
-				Name="VCManifestTool"
-			/>
-			<Tool
-				Name="VCXDCMakeTool"
-			/>
-			<Tool
-				Name="VCBscMakeTool"
-			/>
-			<Tool
-				Name="VCFxCopTool"
-			/>
-			<Tool
-				Name="VCAppVerifierTool"
-			/>
-			<Tool
-				Name="VCPostBuildEventTool"
-			/>
-		</Configuration>
-	</Configurations>
-	<References>
-		<ProjectReference
-			ReferencedProjectIdentifier="{31B91091-431A-4842-8682-2A04B51C980A}"
-			RelativePathToProject="..\projectM-engine\libprojectM.vcproj"
-		/>
-	</References>
-	<Files>
-		<Filter
-			Name="Source Files"
-			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
-			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
-			>
-			<File
-				RelativePath=".\projectM-wmp.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\projectM-wmp.def"
-				>
-			</File>
-			<File
-				RelativePath=".\projectM-wmp.idl"
-				>
-			</File>
-			<File
-				RelativePath=".\projectM-wmpdll.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\projectM-wmpevents.cpp"
-				>
-			</File>
-			<File
-				RelativePath=".\StdAfx.cpp"
-				>
-				<FileConfiguration
-					Name="Debug|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-				<FileConfiguration
-					Name="Release|Win32"
-					>
-					<Tool
-						Name="VCCLCompilerTool"
-						UsePrecompiledHeader="1"
-					/>
-				</FileConfiguration>
-			</File>
-		</Filter>
-		<Filter
-			Name="Header Files"
-			Filter="h;hpp;hxx;hm;inl;inc;xsd"
-			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
-			>
-			<File
-				RelativePath=".\projectM-wmp.h"
-				>
-			</File>
-			<File
-				RelativePath=".\resource.h"
-				>
-			</File>
-			<File
-				RelativePath=".\StdAfx.h"
-				>
-			</File>
-		</Filter>
-		<Filter
-			Name="Resource Files"
-			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
-			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
-			>
-			<File
-				RelativePath=".\projectM-wmp.rc"
-				>
-			</File>
-			<File
-				RelativePath=".\projectM-wmp.rgs"
-				>
-			</File>
-		</Filter>
-	</Files>
-	<Globals>
-	</Globals>
-</VisualStudioProject>
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c b/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c
deleted file mode 100644
index e4f0eb3..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmp_i.c
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */
-
-/* link this file in with the server and any clients */
-
-
- /* File created by MIDL compiler version 7.00.0500 */
-/* at Mon Mar 24 00:15:24 2008
- */
-/* Compiler settings for .\projectM-wmp.idl:
-    Oicf, W1, Zp8, env=Win32 (32b run)
-    protocol : dce , ms_ext, c_ext, robust
-    error checks: allocation ref bounds_check enum stub_data 
-    VC __declspec() decoration level: 
-         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
-         DECLSPEC_UUID(), MIDL_INTERFACE()
-*/
-//@@MIDL_FILE_HEADING(  )
-
-#pragma warning( disable: 4049 )  /* more than 64k source lines */
-
-
-#ifdef __cplusplus
-extern "C"{
-#endif 
-
-
-#include <rpc.h>
-#include <rpcndr.h>
-
-#ifdef _MIDL_USE_GUIDDEF_
-
-#ifndef INITGUID
-#define INITGUID
-#include <guiddef.h>
-#undef INITGUID
-#else
-#include <guiddef.h>
-#endif
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
-        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)
-
-#else // !_MIDL_USE_GUIDDEF_
-
-#ifndef __IID_DEFINED__
-#define __IID_DEFINED__
-
-typedef struct _IID
-{
-    unsigned long x;
-    unsigned short s1;
-    unsigned short s2;
-    unsigned char  c[8];
-} IID;
-
-#endif // __IID_DEFINED__
-
-#ifndef CLSID_DEFINED
-#define CLSID_DEFINED
-typedef IID CLSID;
-#endif // CLSID_DEFINED
-
-#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \
-        const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
-
-#endif !_MIDL_USE_GUIDDEF_
-
-MIDL_DEFINE_GUID(IID, IID_IProjectMwmp,0x8E230690,0x504E,0x471D,0xB3,0xB7,0xC8,0xEE,0x5C,0x87,0x4B,0x96);
-
-
-MIDL_DEFINE_GUID(IID, LIBID_PROJECTMWMPLib,0x0EEBF2FE,0x5198,0x43EE,0x98,0x0A,0x57,0xC1,0x20,0x60,0x69,0x42);
-
-
-MIDL_DEFINE_GUID(CLSID, CLSID_ProjectMwmp,0x0F04F51D,0xA1EA,0x4F41,0x90,0x8B,0x28,0xBC,0x5B,0xC0,0x0F,0xA8);
-
-#undef MIDL_DEFINE_GUID
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp
deleted file mode 100644
index 373eea9..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmpdll.cpp
+++ /dev/null
@@ -1,81 +0,0 @@
-// projectM-wmpdll.cpp : Implementation of DLL Exports.
-// Copyright (c) Microsoft Corporation. All rights reserved.
-
-#include "stdafx.h"
-#include "resource.h"
-#include <initguid.h>
-#include "wmpplug.h"
-#include "projectM-wmp_h.h"
-#include "projectM-wmp_i.c"
-#include "projectM-wmp.h"
-
-
-CComModule _Module;
-
-BEGIN_OBJECT_MAP(ObjectMap)
-OBJECT_ENTRY(CLSID_ProjectMwmp, CProjectMwmp)
-END_OBJECT_MAP()
-
-/////////////////////////////////////////////////////////////////////////////
-// DLL Entry Point
-
-extern "C"
-BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID /*lpReserved*/)
-{
-    if (dwReason == DLL_PROCESS_ATTACH)
-    {
-        _Module.Init(ObjectMap, hInstance, &LIBID_PROJECTMWMPLib);
-        DisableThreadLibraryCalls(hInstance);
-    }
-    else if (dwReason == DLL_PROCESS_DETACH)
-        _Module.Term();
-    return TRUE;    // ok
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// Used to determine whether the DLL can be unloaded by OLE
-
-STDAPI DllCanUnloadNow(void)
-{
-    return (_Module.GetLockCount()==0) ? S_OK : S_FALSE;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// Returns a class factory to create an object of the requested type
-
-STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv)
-{
-    return _Module.GetClassObject(rclsid, riid, ppv);
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// DllRegisterServer - Adds entries to the system registry
-
-STDAPI DllRegisterServer(void)
-{
-    // registers object, typelib and all interfaces in typelib
-
-    HRESULT hr = _Module.RegisterServer();
-
-    // Notify WMP that plugin has been added
-
-    WMPNotifyPluginAddRemove();
-
-    return hr;
-}
-
-/////////////////////////////////////////////////////////////////////////////
-// DllUnregisterServer - Removes entries from the system registry
-
-STDAPI DllUnregisterServer(void)
-{
-    HRESULT hr = _Module.UnregisterServer();
-
-    // Notify WMP that plugin has been removed
-
-    WMPNotifyPluginAddRemove();
-
-    return hr;
-}
-
-
diff --git a/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp b/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp
deleted file mode 100644
index d88be69..0000000
--- a/src/projectM-wmp/projectM-wmp/projectM-wmpevents.cpp
+++ /dev/null
@@ -1,351 +0,0 @@
-/////////////////////////////////////////////////////////////////////////////
-//
-// projectM-wmpEvents.cpp : Implementation of CProjectMwmp events
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-/////////////////////////////////////////////////////////////////////////////
-
-#include "stdafx.h"
-#include "projectM-wmp.h"
-
-extern projectM* globalPM;
-
-void CProjectMwmp::OpenStateChange( long NewState )
-{
-    switch (NewState)
-    {
-    case wmposUndefined:
-        break;
-	case wmposPlaylistChanging:
-        break;
-	case wmposPlaylistLocating:
-        break;
-	case wmposPlaylistConnecting:
-        break;
-	case wmposPlaylistLoading:
-        break;
-	case wmposPlaylistOpening:
-        break;
-	case wmposPlaylistOpenNoMedia:
-        break;
-	case wmposPlaylistChanged:
-        break;
-	case wmposMediaChanging:
-        break;
-	case wmposMediaLocating:
-        break;
-	case wmposMediaConnecting:
-        break;
-	case wmposMediaLoading:
-        break;
-	case wmposMediaOpening:
-        break;
-	case wmposMediaOpen:
-        break;
-	case wmposBeginCodecAcquisition:
-        break;
-	case wmposEndCodecAcquisition:
-        break;
-	case wmposBeginLicenseAcquisition:
-        break;
-	case wmposEndLicenseAcquisition:
-        break;
-	case wmposBeginIndividualization:
-        break;
-	case wmposEndIndividualization:
-        break;
-	case wmposMediaWaiting:
-        break;
-	case wmposOpeningUnknownURL:
-        break;
-    default:
-        break;
-    }
-}
-
-void CProjectMwmp::PlayStateChange( long NewState )
-{
-    switch (NewState)
-    {
-    case wmppsUndefined:
-        break;
-	case wmppsStopped:
-        break;
-	case wmppsPaused:
-        break;
-	case wmppsPlaying:
-        break;
-	case wmppsScanForward:
-        break;
-	case wmppsScanReverse:
-        break;
-	case wmppsBuffering:
-        break;
-	case wmppsWaiting:
-        break;
-	case wmppsMediaEnded:
-        break;
-	case wmppsTransitioning:
-        break;
-	case wmppsReady:
-        break;
-	case wmppsReconnecting:
-        break;
-	case wmppsLast:
-        break;
-    default:
-        break;
-    }
-}
-
-void CProjectMwmp::AudioLanguageChange( long LangID )
-{
-}
-
-void CProjectMwmp::StatusChange()
-{
-}
-
-void CProjectMwmp::ScriptCommand( BSTR scType, BSTR Param )
-{
-}
-
-void CProjectMwmp::NewStream()
-{
-}
-
-void CProjectMwmp::Disconnect( long Result )
-{
-}
-
-void CProjectMwmp::Buffering( VARIANT_BOOL Start )
-{
-}
-
-void CProjectMwmp::Error()
-{
-    CComPtr<IWMPError>      spError;
-    CComPtr<IWMPErrorItem>  spErrorItem;
-    HRESULT                 dwError = S_OK;
-    HRESULT                 hr = S_OK;
-
-    if (m_spCore)
-    {
-        hr = m_spCore->get_error(&spError);
-
-        if (SUCCEEDED(hr))
-        {
-            hr = spError->get_item(0, &spErrorItem);
-        }
-
-        if (SUCCEEDED(hr))
-        {
-            hr = spErrorItem->get_errorCode( (long *) &dwError );
-        }
-    }
-}
-
-void CProjectMwmp::Warning( long WarningType, long Param, BSTR Description )
-{
-}
-
-void CProjectMwmp::EndOfStream( long Result )
-{
-}
-
-void CProjectMwmp::PositionChange( double oldPosition, double newPosition)
-{
-}
-
-void CProjectMwmp::MarkerHit( long MarkerNum )
-{
-}
-
-void CProjectMwmp::DurationUnitChange( long NewDurationUnit )
-{
-}
-
-void CProjectMwmp::CdromMediaChange( long CdromNum )
-{
-}
-
-void CProjectMwmp::PlaylistChange( IDispatch * Playlist, WMPPlaylistChangeEventType change )
-{
-    switch (change)
-    {
-    case wmplcUnknown:
-        break;
-	case wmplcClear:
-        break;
-	case wmplcInfoChange:
-        break;
-	case wmplcMove:
-        break;
-	case wmplcDelete:
-        break;
-	case wmplcInsert:
-        break;
-	case wmplcAppend:
-        break;
-	case wmplcPrivate:
-        break;
-	case wmplcNameChange:
-        break;
-	case wmplcMorph:
-        break;
-	case wmplcSort:
-        break;
-	case wmplcLast:
-        break;
-    default:
-        break;
-    }
-}
-
-void CProjectMwmp::CurrentPlaylistChange( WMPPlaylistChangeEventType change )
-{
-    switch (change)
-    {
-    case wmplcUnknown:
-        break;
-	case wmplcClear:
-        break;
-	case wmplcInfoChange:
-        break;
-	case wmplcMove:
-        break;
-	case wmplcDelete:
-        break;
-	case wmplcInsert:
-        break;
-	case wmplcAppend:
-        break;
-	case wmplcPrivate:
-        break;
-	case wmplcNameChange:
-        break;
-	case wmplcMorph:
-        break;
-	case wmplcSort:
-        break;
-	case wmplcLast:
-        break;
-    default:
-        break;
-    }
-}
-
-void CProjectMwmp::CurrentPlaylistItemAvailable( BSTR bstrItemName )
-{
-}
-
-void CProjectMwmp::MediaChange( IDispatch * Item )
-{
-}
-
-void CProjectMwmp::CurrentMediaItemAvailable( BSTR bstrItemName )
-{
-}
-
-void CProjectMwmp::CurrentItemChange( IDispatch *pdispMedia)
-{
-}
-
-void CProjectMwmp::MediaCollectionChange()
-{
-}
-
-void CProjectMwmp::MediaCollectionAttributeStringAdded( BSTR bstrAttribName,  BSTR bstrAttribVal )
-{
-}
-
-void CProjectMwmp::MediaCollectionAttributeStringRemoved( BSTR bstrAttribName,  BSTR bstrAttribVal )
-{
-}
-
-void CProjectMwmp::MediaCollectionAttributeStringChanged( BSTR bstrAttribName, BSTR bstrOldAttribVal, BSTR bstrNewAttribVal)
-{
-}
-
-void CProjectMwmp::PlaylistCollectionChange()
-{
-}
-
-void CProjectMwmp::PlaylistCollectionPlaylistAdded( BSTR bstrPlaylistName)
-{
-}
-
-void CProjectMwmp::PlaylistCollectionPlaylistRemoved( BSTR bstrPlaylistName)
-{
-}
-
-void CProjectMwmp::PlaylistCollectionPlaylistSetAsDeleted( BSTR bstrPlaylistName, VARIANT_BOOL varfIsDeleted)
-{
-}
-
-void CProjectMwmp::ModeChange( BSTR ModeName, VARIANT_BOOL NewValue)
-{
-}
-
-void CProjectMwmp::MediaError( IDispatch * pMediaObject)
-{
-}
-
-void CProjectMwmp::OpenPlaylistSwitch( IDispatch *pItem )
-{
-}
-
-void CProjectMwmp::DomainChange( BSTR strDomain)
-{
-}
-
-void CProjectMwmp::SwitchedToPlayerApplication()
-{
-}
-
-void CProjectMwmp::SwitchedToControl()
-{
-}
-
-void CProjectMwmp::PlayerDockedStateChange()
-{
-}
-
-void CProjectMwmp::PlayerReconnect()
-{
-}
-
-void CProjectMwmp::Click( short nButton, short nShiftState, long fX, long fY )
-{	
-}
-
-void CProjectMwmp::DoubleClick( short nButton, short nShiftState, long fX, long fY )
-{
-}
-
-void CProjectMwmp::KeyDown( short nKeyCode, short nShiftState )
-{	
-	
-	//if(nKeyCode)nKeyCode = 4;
-	globalPM->key_handler(PROJECTM_KEYDOWN,PROJECTM_K_n,PROJECTM_KMOD_RSHIFT);
-}
-void CProjectMwmp::KeyPress( short nKeyAscii )
-{
-}
-
-void CProjectMwmp::KeyUp( short nKeyCode, short nShiftState )
-{
-}
-
-void CProjectMwmp::MouseDown( short nButton, short nShiftState, long fX, long fY )
-{
-}
-
-void CProjectMwmp::MouseMove( short nButton, short nShiftState, long fX, long fY )
-{
-}
-
-void CProjectMwmp::MouseUp( short nButton, short nShiftState, long fX, long fY )
-{
-}
diff --git a/src/projectM-wmp/projectM-wmp/resource.h b/src/projectM-wmp/projectM-wmp/resource.h
deleted file mode 100644
index d0fc91c..0000000
--- a/src/projectM-wmp/projectM-wmp/resource.h
+++ /dev/null
@@ -1,21 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by projectM-wmp.rc
-//
-#define IDS_PROJNAME                    100
-#define IDS_EFFECTNAME                  101
-#define IDS_BARSPRESETNAME              102
-#define IDS_SCOPEPRESETNAME             103
-#define IDR_PROJECTMWMP                 104
-#define IDS_DESCRIPTION                 105
-
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        201
-#define _APS_NEXT_COMMAND_VALUE         32768
-#define _APS_NEXT_CONTROL_VALUE         201
-#define _APS_NEXT_SYMED_VALUE           105
-#endif
-#endif

-- 
projectm packaging



More information about the pkg-multimedia-commits mailing list