Index: branches/avi_play_merge/src/subprojects/importer/Makefile.am
===================================================================
--- branches/avi_play_merge/src/subprojects/importer/Makefile.am	(revision 6484)
+++ branches/avi_play_merge/src/subprojects/importer/Makefile.am	(revision 6486)
@@ -7,5 +7,6 @@
 
 bin_PROGRAMS = importer \
-               multitex
+               multitex \
+							 movie_player_test
 
 importer_LDADD = $(MAINSRCDIR)/lib/event/libORXevent.a \
@@ -63,2 +64,29 @@
                   $(MAINSRCDIR)/lib/util/executor/executor.cc \
                   $(MAINSRCDIR)/util/loading/factory.cc
+
+movie_player_test_LDADD = $(MAINSRCDIR)/lib/event/libORXevent.a \
+                 					$(MAINSRCDIR)/lib/parser/tinyxml/libtinyxml.a \
+                 					$(MAINSRCDIR)/lib/graphics/libORXgraphics.a \
+                 					$(MAINSRCDIR)/lib/shell/libORXshell.a \
+                 					$(MAINSRCDIR)/lib/sound/libORXsound.a \
+                 					$(MAINSRCDIR)/lib/graphics/importer/libORXimporter.a
+
+movie_player_test_SOURCES= ../framework.cc \
+                  				 movie_player_test.cc \
+                  				 $(MAINSRCDIR)/util/state.cc \
+                  				 $(MAINSRCDIR)/world_entities/camera.cc \
+                  				 $(MAINSRCDIR)/lib/lang/base_object.cc \
+													 $(MAINSRCDIR)/lib/lang/class_list.cc \
+													 $(MAINSRCDIR)/lib/math/vector.cc \
+													 $(MAINSRCDIR)/util/loading/resource_manager.cc \
+													 $(MAINSRCDIR)/lib/parser/ini_parser/ini_parser.cc \
+													 $(MAINSRCDIR)/lib/coord/p_node.cc \
+													 $(MAINSRCDIR)/lib/coord/null_parent.cc \
+													 $(MAINSRCDIR)/util/loading/load_param.cc \
+													 $(MAINSRCDIR)/util/loading/load_param_description.cc \
+													 $(MAINSRCDIR)/lib/util/helper_functions.cc \
+													 $(MAINSRCDIR)/lib/util/substring.cc \
+													 $(MAINSRCDIR)/lib/util/color.cc \
+													 $(MAINSRCDIR)/lib/util/multi_type.cc \
+													 $(MAINSRCDIR)/lib/util/executor/executor.cc \
+													 $(MAINSRCDIR)/util/loading/factory.cc
Index: branches/avi_play_merge/src/subprojects/importer/movie_player_test.cc
===================================================================
--- branches/avi_play_merge/src/subprojects/importer/movie_player_test.cc	(revision 6486)
+++ branches/avi_play_merge/src/subprojects/importer/movie_player_test.cc	(revision 6486)
@@ -0,0 +1,85 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: David Hasenfratz
+   co-programmer: ...
+
+   this file extends the framework file, so it renders what i want.
+*/
+
+#include <stdlib.h>
+
+#include "framework.h"
+#include "movie_player.h"
+
+MoviePlayer* movie_player;
+
+void Framework::moduleInit(int argc, char** argv)
+{
+  if( argc <= 1)
+  {
+    printf("Wrong arguments try following notations:\n");
+    printf("./movie_player_test [media_file]\n");
+    exit(0);
+  }
+
+  movie_player = new MoviePlayer(argv[1]);
+
+  
+  movie_player->printInformation();
+}
+
+void Framework::moduleEventHandler(SDL_Event* event)
+{
+  switch (event->type)
+  {
+    case SDL_KEYDOWN:
+      switch (event->key.keysym.sym)
+      {
+        case SDLK_1:
+          movie_player->start(0);
+          break;
+        case SDLK_2:
+          movie_player->resume();
+          break;
+        case SDLK_3:
+          movie_player->pause();
+          break;
+        case SDLK_4:
+          movie_player->stop();
+          break;
+        case SDLK_9:
+          movie_player->setFPS(movie_player->getFPS() - 1);
+          PRINTF(0)("fps: %0.2f\n", movie_player->getFPS());
+          break;
+        case SDLK_0:
+          movie_player->setFPS(movie_player->getFPS() + 1);
+          PRINTF(0)("fps: %0.2f\n", movie_player->getFPS());
+          break;
+      }
+  }
+}
+
+void Framework::moduleTick(float dt)
+{
+  movie_player->tick(dt);
+}
+
+void Framework::moduleDraw(void) const
+{
+  movie_player->draw();
+}
+
+
+void Framework::moduleHelp(void) const
+{
+
+}
Index: branches/avi_play_merge/src/subprojects/importer/multitex.cc
===================================================================
--- branches/avi_play_merge/src/subprojects/importer/multitex.cc	(revision 6484)
+++ branches/avi_play_merge/src/subprojects/importer/multitex.cc	(revision 6486)
@@ -10,5 +10,5 @@
 
    ### File Specific:
-   main-programmer: Benjamin Grauer
+   main-programmer: David Hasenfratz
    co-programmer: ...
 
@@ -20,43 +20,33 @@
 #include "light.h"
 
-#include "texture_sequence.h"
 #include "material.h"
-
-#include "objModel.h"
-
 #include "primitive_model.h"
 #include <stdlib.h>
 
-#include "resource_manager.h"
+#include "media_container.h"
 
 Model* obj;
-TextureSequence* seq;
-Texture* test;
 Material* testMat;
+MediaContainer* media_container;
 
-float counter = 0;
+int counter = 0;
+float timer = 0;
+float fps;
 
 
 void Framework::moduleInit(int argc, char** argv)
 {
-  ResourceManager::getInstance()->addImageDir("./");
+  if( argc <= 1)
+  {
+    printf("Wrong arguments try following notations:\n");
+    printf("./multitex [media_file]\n");
+    exit(0);
+  }
+
+  media_container = new MediaContainer(argv[1]);
 
   testMat = new Material;
-
-  seq = new TextureSequence();
-  for (int i = 1; i < argc; i++)
-  {
-    seq->addFrame(argv[i]);
-    printf("%s\n", argv[i]);
-  }
-  test = new Texture(argv[1]);
-  testMat->setDiffuseMap(argv[1]);
-
-  ResourceManager::getInstance()->addImageDir("");
-
-
-  obj = new PrimitiveModel(PRIM_SPHERE, 10.0);
-
-  ResourceManager::getInstance()->debug();
+  testMat->setDiffuseMap("maps/radialTransparency.png");
+  obj = new PrimitiveModel(PRIM_PLANE, 10.0);
 
   LightManager* lightMan = LightManager::getInstance();
@@ -64,4 +54,6 @@
   (new Light())->setAbsCoor(5.0, 10.0, 40.0);
   (new Light())->setAbsCoor(-10, -20, -100);
+
+  fps = media_container->getFPS();
 }
 
@@ -73,5 +65,23 @@
       switch (event->key.keysym.sym)
         {
-        case SDLK_i:
+        case SDLK_1:
+          obj = new PrimitiveModel(PRIM_CUBE, 10.0);
+          break;
+        case SDLK_2:
+          obj = new PrimitiveModel(PRIM_SPHERE, 10.0);
+          break;
+        case SDLK_3:
+          obj = new PrimitiveModel(PRIM_PLANE, 10.0);
+          break;
+        // increase fps
+        case SDLK_9:
+          fps++;
+          PRINTF(0)("fps: %0.2f\n", fps);
+          break;
+        // decrease fps
+        case SDLK_8:
+          if(fps > 0)
+            fps--;
+          PRINTF(0)("fps: %0.2f\n", fps);
           break;
         }
@@ -81,9 +91,16 @@
 void Framework::moduleTick(float dt)
 {
-  counter+=dt;
+  timer += dt;
 
-  seq->gotoFrame((unsigned int)counter);
-  if ((unsigned int)counter > seq->getFrameCount())
-    counter = 0;
+  if(counter != fps * timer)
+  {
+    counter = fps * timer;
+
+    if (counter >= media_container->getFrameCount())
+    {
+      timer = 0;
+      counter = 0;
+    }
+  }
 }
 
@@ -91,5 +108,5 @@
 {
   testMat->select();
-  glBindTexture(GL_TEXTURE_2D, seq->getTexture());
+  glBindTexture(GL_TEXTURE_2D, media_container->getFrameTexture(counter));
   obj->draw();
 
@@ -97,5 +114,4 @@
 }
 
-
 void Framework::moduleHelp(void) const
 {
