diff --git a/LICENSE.txt b/LICENSE.txt
old mode 100755
new mode 100644
diff --git a/puredata/glsl/gain.ctl.pd b/puredata/glsl/gain.ctl.pd
old mode 100755
new mode 100644
diff --git a/puredata/glsl/gain.frag b/puredata/glsl/gain.frag
old mode 100755
new mode 100644
diff --git a/puredata/glsl/gain.vert b/puredata/glsl/gain.vert
old mode 100755
new mode 100644
diff --git a/puredata/lms-video.pd b/puredata/lms-video.pd
index 5386115..bbe78f3 100644
--- a/puredata/lms-video.pd
+++ b/puredata/lms-video.pd
@@ -1,6 +1,6 @@
-#N canvas 548 180 611 438 10;
+#N canvas -93 562 1280 675 10;
 #X declare -path . -path externals;
-#N canvas 57 385 240 272 fondo 0;
+#N canvas 54 425 240 272 fondo 0;
 #X obj -452 -118 color 0 0 0;
 #X obj -452 -150 alpha;
 #X text -486 -209 Pantalla fondo Negra;
@@ -73,7 +73,7 @@
 #X connect 27 7 12 0;
 #X connect 27 8 10 0;
 #X restore -249 -438 pd receive;
-#N canvas 814 208 450 333 window 0;
+#N canvas 1408 248 1280 675 window 1;
 #X msg 809 -348 color 0 0 0;
 #X msg 620 -350 print;
 #X msg 466 -352 border \$1;
@@ -103,6 +103,9 @@
 #X msg 161 -350 0 \, destroy;
 #X msg 93 -265 frame \$1;
 #X obj 55 -290 r fps;
+#X obj 682 -129 import gem;
+#X obj 680 -175 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
 #X connect 0 0 24 0;
 #X connect 1 0 24 0;
 #X connect 2 0 24 0;
@@ -138,6 +141,7 @@
 #X connect 26 0 24 0;
 #X connect 27 0 24 0;
 #X connect 28 0 27 0;
+#X connect 30 0 29 0;
 #X restore -175 -438 pd window;
 #N canvas 818 219 450 300 layer_5 0;
 #X msg -209 -32 1;
@@ -246,7 +250,7 @@
 #X connect 13 0 14 1;
 #X connect 14 0 3 0;
 #X restore -28 -379 pd layer_7;
-#N canvas 889 319 450 300 layer_8 0;
+#N canvas 830 332 450 300 layer_8 1;
 #X msg -124 -41 1;
 #X msg -177 -42 0;
 #X obj -177 -64 select 0;
@@ -351,7 +355,7 @@
 #X connect 13 0 14 1;
 #X connect 14 0 3 0;
 #X restore -323 -379 pd layer_3;
-#N canvas 879 237 450 300 layer_2 0;
+#N canvas 876 250 450 300 layer_2 0;
 #X msg -86 -22 1;
 #X msg -139 -23 0;
 #X obj -139 -45 select 0;
@@ -386,7 +390,7 @@
 #X connect 13 0 14 1;
 #X connect 14 0 3 0;
 #X restore -396 -379 pd layer_2;
-#N canvas 899 309 450 300 layer_1 0;
+#N canvas 830 322 450 300 layer_1 1;
 #X obj -253 -28 layer;
 #X msg -61 -33 1;
 #X msg -114 -34 0;
@@ -467,6 +471,8 @@ GPL License;
 #X text -474 -219 This patch can not be run alone \, needs the libremediaserver
 GUI http://libremediaserver.googlecode.com;
 #X obj -388 -164 declare -path . -path externals;
+#N canvas 0 93 450 300 layer_9 0;
+#X restore 420 -224 pd layer_9;
 #X connect 4 0 15 0;
 #X connect 4 0 18 0;
 #X connect 13 0 14 0;
diff --git a/puredata/vera.ttf b/puredata/vera.ttf
old mode 100755
new mode 100644
diff --git a/scripts/install_precise.sh b/scripts/install_precise.sh
old mode 100755
new mode 100644
diff --git a/scripts/install_wheezy.sh b/scripts/install_wheezy.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/autogen.sh b/src/Gem/autogen.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/build/osx-dmginstaller/buildinstaller.sh b/src/Gem/build/osx-dmginstaller/buildinstaller.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/build/osx-dmginstaller/icon2app b/src/Gem/build/osx-dmginstaller/icon2app
old mode 100755
new mode 100644
diff --git a/src/Gem/src/importGLEW.sh b/src/Gem/src/importGLEW.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/src/openGL/fun2object.sh b/src/Gem/src/openGL/fun2object.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/src/pkgversion.sh b/src/Gem/src/pkgversion.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/tests/all/existence.sh b/src/Gem/tests/all/existence.sh
old mode 100755
new mode 100644
diff --git a/src/Gem/tests/runtests.sh b/src/Gem/tests/runtests.sh
old mode 100755
new mode 100644
diff --git a/src/libremediaserver.cpp b/src/libremediaserver.cpp
index 1e9ff68..8cea672 100644
--- a/src/libremediaserver.cpp
+++ b/src/libremediaserver.cpp
@@ -73,6 +73,7 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
      qDebug() << VERSION;
      qDebug() << COPYRIGHT;
      qDebug() << LICENSE;
+
      // Init Unix Local Sockets
      QFile socket(SOCKET);
      if (socket.exists())
@@ -97,6 +98,7 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
      connect(ui.actionSave_conf, SIGNAL(triggered()), this, SLOT(saveFile()));
      connect(ui.actionChange_Media_Path, SIGNAL(triggered()), this, SLOT(ChangeMediaPath()));
      connect(ui.actionLaunch_OLA_Setup,SIGNAL(triggered()),this, SLOT(olasetup()));
+     connect(ui.actionSettings,SIGNAL(triggered()),this, SLOT(settings()));
      // Start PD
      pdstart();
      // Load the configuration
@@ -106,6 +108,13 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
      connect(m_olaInterface->m_msex->m_timer, SIGNAL(timeout()), this, SLOT(sendFrame()));
      connect(m_olaInterface, SIGNAL(sendDmx(int,int,int)), this, SLOT(receiveDMX(int,int,int)));
      connect(m_olaInterface, SIGNAL(newFile(QString)), this, SLOT(newFile(QString)));
+
+     // Load the last configuration
+     settingswindow = new settingsDialog();
+     connect(settingswindow, SIGNAL(pathChanged(QString)), m_olaInterface, SLOT(setPath(QString)));
+     connect(settingswindow, SIGNAL(dmxChanged(int,int,int)), m_olaInterface->worker,SLOT(dmxConf(int,int,int)));
+     settingswindow->readXML(); // Read the last configuration file
+     m_olaInterface->open(); // Start the dmx reading
 }
 
 ///////////////////////////////////////////////////////////////////
@@ -197,6 +206,12 @@ void libreMediaServer::ChangeMediaPath()
     m_olaInterface->setPath(file);
 }
 
+void libreMediaServer::settings(){
+    settingswindow->show();
+    settingswindow->exec(); //retorno de error
+
+}
+
 ///////////////////////////////////////////////////////////////////
 // Open/save Subroutines. The real work.
 ///////////////////////////////////////////////////////////////////
diff --git a/src/libremediaserver.h b/src/libremediaserver.h
index 71a9143..16f6ed6 100644
--- a/src/libremediaserver.h
+++ b/src/libremediaserver.h
@@ -39,6 +39,7 @@
 #include "MSEXDefines.h"
 #include "ui_libremediaserver.h"
 #include "olainterface.h"
+#include "settingsdialog.h"
 
 #define VERSION "LibreMediaServer Version 0.05-1"
 #define COPYRIGHT "(C) 2012-2013 Santi Norena libremediaserver@gmail.com"
@@ -77,8 +78,9 @@ protected:
     int m_startvideo; // Counter starts video engine. Debugging purpose
     bool m_gui;
 
-private:
+    settingsDialog *settingswindow; // The settings dialog
 
+private:
 
     void errorsending();
     void pdstart();
@@ -118,6 +120,7 @@ private slots:
     void openFile();
     void saveFile();
     void ChangeMediaPath();// Change the path to medias
+    void settings(); // Open the settings window
 };
 
 #endif // LIBREMEDIASERVER_H
diff --git a/src/libremediaserver.pro b/src/libremediaserver.pro
index f070e90..056e210 100644
--- a/src/libremediaserver.pro
+++ b/src/libremediaserver.pro
@@ -11,7 +11,8 @@ HEADERS += libremediaserver.h \
            msex.h	\
            CITPDefines.h \
            MSEXDefines.h \
-    olainterface.h
+    olainterface.h \
+    settingsdialog.h
 
 SOURCES += main.cpp \
            libremediaserver.cpp \
@@ -19,10 +20,12 @@ SOURCES += main.cpp \
            PacketCreator.cpp \
            PeerInformationSocket.cpp \
            msex.cpp \
-    olainterface.cpp
+    olainterface.cpp \
+    settingsdialog.cpp
 
 FORMS += \
-    libremediaserver.ui
+    libremediaserver.ui \
+    settingsdialog.ui
 
 #INCLUDEPATH += ./
 
diff --git a/src/libremediaserver.ui b/src/libremediaserver.ui
index 88efc66..2168f9d 100644
--- a/src/libremediaserver.ui
+++ b/src/libremediaserver.ui
@@ -451,6 +451,7 @@
     
     
     
+    
    
    
   
@@ -497,6 +498,11 @@
     OLA Setup
    
   
+  
+   
+    Settings
+   
+  
  
  
  
diff --git a/src/olainterface.cpp b/src/olainterface.cpp
old mode 100755
new mode 100644
index e5ee7d9..6ff5728
--- a/src/olainterface.cpp
+++ b/src/olainterface.cpp
@@ -4,6 +4,7 @@
    olaWorker is the threading class that reads raw DMX from ola daemon and save it into a buffer ordered in layers
    olaInterface controls olaWorker and translates DMX values received from olaWorker into orders to RenderingManager and Source
 */
+
 #include "olainterface.h"
 
 olaInterface::olaInterface()
@@ -12,12 +13,12 @@ olaInterface::olaInterface()
     m_thread = NULL;
     worker = new olaWorker();
     Q_CHECK_PTR(worker);
-    readDataFromXML(); // Read the dmx setting from dmx.xml
+//    readDataFromXML(); // Read the dmx setting from dmx.xml
     connect (worker, SIGNAL(dmx(int,int,int)), this, SLOT(dmx(int,int,int)), Qt::QueuedConnection); // The DMX values.
     initMediaLibrary(); // Init the media library reading the files in m_pathmedia
     m_msex = new msex(this); // Init the CITP/MSEx protocol
     Q_CHECK_PTR(m_msex);
-    open();
+//    open();
 }
 
 olaInterface::~olaInterface()
@@ -49,6 +50,7 @@ void olaInterface::close()
 // - The number of sources/layers controlled by DMX
 // - The first DMX channel of each source/layer
 // - The universe to bind in OLA
+// All this is being moved to settingsDialog Class
 
 void olaInterface::readDataFromXML() {
     QFile* xmlFile = new QFile("dmx.xlm");
@@ -319,6 +321,7 @@ olaWorker::olaWorker() {
             m_dmx[i][j] = 0;
         }
     }
+    m_layersNumber = 8; // hardcoded at the moment. This should be variable --> the gui must be dynamic...
 }
 
     // --- DECONSTRUCTOR ---
@@ -407,21 +410,19 @@ void olaWorker::RegisterComplete(const string &error) {
       qWarning() << "olaWorker|" << "Register command failed" << QString::fromStdString(error);
   }
 }
+/*
+ * Slot for change the dmx configuration
+ */
+
+void olaWorker::dmxConf(int layer, int address, int universe) {
+    dmxSettings temp;
+    temp.address = address;
+    temp.universe = universe;
+    m_settings.replace(layer, temp);
+    // If the universe is not in the list, append it.
+    if(!m_universe.contains(universe)) {
+        m_universe.append(universe);
+    }
+}
 
 ////////////////////////////////////////////////////////////////////////////////////////////
-
-/* We will need some GUI interaction from the user for settings. We will need:
- * - Change the path to the medias
- * - Change the DMX address of each layer
- * - Change the universe to bind in ola
- * - Write and read different xml configuration files for different setups
- * - Start and stop the dmx reading
-
-void savesetttingtoxml{
-// Habrá que salvar las settings en algún sitio
-}
-
-void opensettings{
-Posibilidad de abrir otro archivo de configuración
-}
-*/
diff --git a/src/olainterface.h b/src/olainterface.h
old mode 100755
new mode 100644
index 25bbd0f..1758524
--- a/src/olainterface.h
+++ b/src/olainterface.h
@@ -75,6 +75,9 @@ private:
      bool CheckDataLoss();
      void RegisterComplete(const string &error); // Called after completing the register
 
+public slots:
+     void dmxConf(int layer, int address, int universe);
+
 protected slots:
 
      void olastart(); // Starts the conexion with olad. olad must be running before this
@@ -100,7 +103,7 @@ public:
 
     olaWorker *worker; // The thread of connection with ola.
 
-    inline void setPath(QString path) {m_pathmedia = path;} // Set the path to the root media path. The media files are inside this folder tree.
+
     inline QString getPath () {return m_pathmedia;} //  Get the path to the medias folder tree.
 
     msex *m_msex;
@@ -124,6 +127,7 @@ public slots:
 
     void dmx(int layer, int channel, int value); // Connected with signal dmx from olaWorker. This is the horsepower of all this. Converts DMX orders
                                                  // into orders to RenderingManager and Source. Mantains updated the videolayer struct.
+    inline void setPath(QString path) {m_pathmedia = path;} // Set the path to the root media path. The media files are inside this folder tree.
 signals:
 
     void sendDmx(int layer,int channel, int value);
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
new file mode 100644
index 0000000..3e727ca
--- /dev/null
+++ b/src/settingsdialog.cpp
@@ -0,0 +1,98 @@
+#include 
+#include 
+#include 
+#include 
+
+#include "settingsdialog.h"
+#include "ui_settingsdialog.h"
+
+settingsDialog::settingsDialog(QWidget *parent) :
+    QDialog(parent),
+    ui(new Ui::settingsDialog)
+{
+    ui->setupUi(this);
+    readXML();
+    connect(ui->choosePathButton,SIGNAL(clicked(QAbstractButton*)), this, SLOT(changeMediaPath()));
+}
+
+settingsDialog::~settingsDialog()
+{
+    delete ui;
+}
+
+void settingsDialog::readXML() {
+//    QFile xmlFile("conf.xml");
+    QFile* xmlFile = new QFile("conf.xlm");
+    Q_CHECK_PTR(xmlFile);
+    if (!xmlFile->open(QIODevice::ReadOnly | QIODevice::Text)) {
+        QMessageBox::critical(NULL,"Load XML File Problem",
+                              "Couldn't open configuration file",
+                              QMessageBox::Ok);
+        //return;
+    }
+    QXmlStreamReader* xmlReader = new QXmlStreamReader(xmlFile);
+    //Parse the XML until we reach end of it
+    while(!xmlReader->atEnd() && !xmlReader->hasError()) {
+        // Read next element
+        QXmlStreamReader::TokenType token = xmlReader->readNext();
+        //If token is just StartDocument - go to next
+        if(token == QXmlStreamReader::StartDocument) {
+            continue;
+        }
+        //If token is StartElement - read it
+        if(token == QXmlStreamReader::StartElement) {
+            if(xmlReader->name() == "windowSettings") {
+                int version = xmlReader->attributes().value("fileVersion").toLocal8Bit().toInt();
+                if(version == 1) {
+                    ui->winpositionx->setValue(xmlReader->attributes().value("XPos").toLocal8Bit().toInt());
+                    ui->winpositiony->setValue(xmlReader->attributes().value("YPos").toLocal8Bit().toInt());
+                    ui->winsizex->setValue(xmlReader->attributes().value("XSize").toLocal8Bit().toInt());
+                    ui->winsizey->setValue(xmlReader->attributes().value("YSize").toLocal8Bit().toInt());
+                    ui->fps->setValue(xmlReader->attributes().value("FPS").toLocal8Bit().toInt());
+                    continue;
+                }
+            }
+            int counter = 0;
+            if(xmlReader->name() == "dmxSettings") {
+              int version = xmlReader->attributes().value("fileVersion").toLocal8Bit().toInt();
+              if(version == 1) {
+//                worker->m_layersNumber = xmlReader->attributes().value("layersNumber").toLocal8Bit().toInt();
+                emit pathChanged(xmlReader->attributes().value("path").toLocal8Bit());
+                continue;
+              }
+            }
+//            if (worker->m_layersNumber > MAX_SOURCE_DMX) {
+//                worker->m_layersNumber = MAX_SOURCE_DMX;
+//            }
+            QString add = "layer";
+            add.append(QString("%1").arg(counter));
+            if((xmlReader->name() == add)/* && (counter < worker->m_layersNumber)*/) {
+                emit dmxChanged(counter, (xmlReader->attributes().value("dmx").toLocal8Bit().toInt() - 1),xmlReader->attributes().value("universe").toLocal8Bit().toInt());
+            }
+            counter++;
+        }
+    }
+    if(xmlReader->hasError()) {
+        QMessageBox::critical(NULL,"xmlFile.xml Parse Error",xmlReader->errorString(), QMessageBox::Ok);
+    }
+    //close reader and flush file
+    xmlReader->clear();
+    xmlFile->close();
+
+    delete xmlReader;
+    delete xmlFile;
+}
+
+void settingsDialog::changeMediaPath(){
+    QFileDialog dialog(this);
+    dialog.setFileMode(QFileDialog::Directory);
+    QStringList fileNames;
+    if (!dialog.exec())
+        return;
+    fileNames = dialog.selectedFiles();
+    QString file = fileNames.at(0);
+    ui->currentPath->clear();
+    ui->currentPath->setText(file);
+    emit pathChanged(file);
+    //    m_olaInterface->setPath(file); //Setear en olaInterface
+}
diff --git a/src/settingsdialog.h b/src/settingsdialog.h
new file mode 100644
index 0000000..e02e269
--- /dev/null
+++ b/src/settingsdialog.h
@@ -0,0 +1,32 @@
+#ifndef SETTINGSDIALOG_H
+#define SETTINGSDIALOG_H
+
+#include 
+
+#define LMS_CONF_FILE "lmsconf.xml"
+
+namespace Ui {
+class settingsDialog;
+}
+
+class settingsDialog : public QDialog
+{
+    Q_OBJECT
+    
+public:
+    explicit settingsDialog(QWidget *parent = 0);
+    ~settingsDialog();
+    void readXML();
+
+private:
+    Ui::settingsDialog *ui;
+
+signals:
+    void pathChanged(QString);
+    void dmxChanged(int layer, int address, int universe);
+private slots:
+    void changeMediaPath();
+
+};
+
+#endif // SETTINGSDIALOG_H
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
new file mode 100644
index 0000000..72f4ec7
--- /dev/null
+++ b/src/settingsdialog.ui
@@ -0,0 +1,340 @@
+
+
+ settingsDialog
+ 
+  
+   
+    0
+    0
+    615
+    341
+   
+  
+  
+   Dialog
+  
+  
+   
+    
+     260
+     300
+     341
+     32
+    
+   
+   
+    Qt::Horizontal
+   
+   
+    QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+   
+   
+    true
+   
+  
+  
+   
+    
+     10
+     10
+     591
+     281
+    
+   
+   
+    0
+   
+   
+    
+     General
+    
+    
+     
+      
+       10
+       20
+       371
+       31
+      
+     
+     
+      Path to medias
+     
+    
+    
+     
+      
+       390
+       20
+       91
+       31
+      
+     
+     
+      QDialogButtonBox::Open
+     
+    
+    
+     
+      
+       10
+       60
+       561
+       121
+      
+     
+     
+      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
+p, li { white-space: pre-wrap; }
+</style></head><body style=" font-family:'Cantarell'; font-size:11pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Warning! </p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Changing this will reload the library and will make the thumbnails for all the medias. This will take a while.</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Do not use in live!</p>
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You are warned.</p></body></html>
+     
+    
+   
+   
+    
+     true
+    
+    
+     Video
+    
+    
+     Video
+    
+    
+     
+      
+       30
+       130
+       121
+       20
+      
+     
+     
+      Window Position
+     
+    
+    
+     
+      
+       20
+       90
+       55
+       27
+      
+     
+     
+      5000
+     
+    
+    
+     
+      
+       20
+       40
+       55
+       27
+      
+     
+     
+      QAbstractSpinBox::UpDownArrows
+     
+     
+      5000
+     
+    
+    
+     
+      
+       80
+       90
+       55
+       27
+      
+     
+     
+      5000
+     
+    
+    
+     
+      
+       80
+       40
+       55
+       27
+      
+     
+     
+      5000
+     
+    
+    
+     
+      
+       30
+       70
+       101
+       17
+      
+     
+     
+      Window Size
+     
+    
+    
+     
+      
+       340
+       40
+       81
+       31
+      
+     
+     
+      QDialogButtonBox::Reset
+     
+    
+    
+     
+      
+       20
+       180
+       59
+       31
+      
+     
+    
+    
+     
+      
+       90
+       180
+       121
+       20
+      
+     
+     
+      FPS
+     
+    
+   
+   
+    
+     DMX
+    
+    
+     
+      
+       30
+       20
+       59
+       31
+      
+     
+    
+    
+     
+      
+       100
+       20
+       101
+       21
+      
+     
+     
+      OLA Universe
+     
+    
+    
+     
+      
+       10
+       90
+       516
+       131
+      
+     
+     
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+      - 
+       
+      
 
+     
+    
+    
+     
+      
+       170
+       60
+       101
+       21
+      
+     
+     
+      DMX Address
+     
+    
+   
+  
+ 
+ 
+ 
+  
+   buttonBox
+   accepted()
+   settingsDialog
+   accept()
+   
+    
+     248
+     254
+    
+    
+     157
+     274
+    
+   
+  
+  
+   buttonBox
+   rejected()
+   settingsDialog
+   reject()
+   
+    
+     316
+     260
+    
+    
+     286
+     274
+    
+   
+  
+ 
+
diff --git a/todo.txt b/todo.txt
index ce2e4c4..10c7ac7 100644
--- a/todo.txt
+++ b/todo.txt
@@ -16,10 +16,11 @@ v0.05 video:
 Necesarios:
 
 + ¿Cómo transmitir el dmx a Pure Data? --> Unix Domain Socket parece lo mejor.  Habría que hacer external en PD?
-+ Mover ola2pd a la parte C++ (importar de glmixer-dmx)
-+ Mover fileselector a la parte C++ (importar de glmixer-dmx)
-+ Crear base de datos al inicio en vez de leer ficheros del disco. Generar thumbs --> Importar de glmixer-dmx
++ Mover ola2pd a la parte C++
++ Mover fileselector a la parte C++
++ Crear base de datos al inicio en vez de leer ficheros del disco. 
 + Cambiar archivo de configuracion a xml (importar de glmixer-dmx)
+
 - Añadir shaders, cambiar objetos Gem por uniform glsl. Alpha, chroma, ...
 - Añadir la configuración de la ventana al archivo de configuración xlm
 - Documentación en inglés