cambios desconocidos...:
This commit is contained in:
parent
874a669660
commit
d2c3682c23
26 changed files with 541 additions and 32 deletions
0
LICENSE.txt
Executable file → Normal file
0
LICENSE.txt
Executable file → Normal file
0
puredata/glsl/gain.ctl.pd
Executable file → Normal file
0
puredata/glsl/gain.ctl.pd
Executable file → Normal file
0
puredata/glsl/gain.frag
Executable file → Normal file
0
puredata/glsl/gain.frag
Executable file → Normal file
0
puredata/glsl/gain.vert
Executable file → Normal file
0
puredata/glsl/gain.vert
Executable file → Normal file
|
@ -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;
|
||||
|
|
0
puredata/vera.ttf
Executable file → Normal file
0
puredata/vera.ttf
Executable file → Normal file
0
scripts/install_precise.sh
Executable file → Normal file
0
scripts/install_precise.sh
Executable file → Normal file
0
scripts/install_wheezy.sh
Executable file → Normal file
0
scripts/install_wheezy.sh
Executable file → Normal file
0
src/Gem/autogen.sh
Executable file → Normal file
0
src/Gem/autogen.sh
Executable file → Normal file
0
src/Gem/build/osx-dmginstaller/buildinstaller.sh
Executable file → Normal file
0
src/Gem/build/osx-dmginstaller/buildinstaller.sh
Executable file → Normal file
0
src/Gem/build/osx-dmginstaller/icon2app
Executable file → Normal file
0
src/Gem/build/osx-dmginstaller/icon2app
Executable file → Normal file
0
src/Gem/src/importGLEW.sh
Executable file → Normal file
0
src/Gem/src/importGLEW.sh
Executable file → Normal file
0
src/Gem/src/openGL/fun2object.sh
Executable file → Normal file
0
src/Gem/src/openGL/fun2object.sh
Executable file → Normal file
0
src/Gem/src/pkgversion.sh
Executable file → Normal file
0
src/Gem/src/pkgversion.sh
Executable file → Normal file
0
src/Gem/tests/all/existence.sh
Executable file → Normal file
0
src/Gem/tests/all/existence.sh
Executable file → Normal file
0
src/Gem/tests/runtests.sh
Executable file → Normal file
0
src/Gem/tests/runtests.sh
Executable file → Normal file
|
@ -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.
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 += ./
|
||||
|
||||
|
|
|
@ -451,6 +451,7 @@
|
|||
<addaction name="actionSave_conf"/>
|
||||
<addaction name="actionChange_Media_Path"/>
|
||||
<addaction name="actionLaunch_OLA_Setup"/>
|
||||
<addaction name="actionSettings"/>
|
||||
</widget>
|
||||
<addaction name="menuFile"/>
|
||||
</widget>
|
||||
|
@ -497,6 +498,11 @@
|
|||
<string>OLA Setup</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="actionSettings">
|
||||
<property name="text">
|
||||
<string>Settings</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections/>
|
||||
|
|
37
src/olainterface.cpp
Executable file → Normal file
37
src/olainterface.cpp
Executable file → Normal file
|
@ -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
|
||||
}
|
||||
*/
|
||||
|
|
6
src/olainterface.h
Executable file → Normal file
6
src/olainterface.h
Executable file → Normal file
|
@ -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);
|
||||
|
|
98
src/settingsdialog.cpp
Normal file
98
src/settingsdialog.cpp
Normal file
|
@ -0,0 +1,98 @@
|
|||
#include <QFileDialog>
|
||||
#include <QFile>
|
||||
#include <QXmlStreamReader>
|
||||
#include <QMessageBox>
|
||||
|
||||
#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
|
||||
}
|
32
src/settingsdialog.h
Normal file
32
src/settingsdialog.h
Normal file
|
@ -0,0 +1,32 @@
|
|||
#ifndef SETTINGSDIALOG_H
|
||||
#define SETTINGSDIALOG_H
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
#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
|
340
src/settingsdialog.ui
Normal file
340
src/settingsdialog.ui
Normal file
|
@ -0,0 +1,340 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>settingsDialog</class>
|
||||
<widget class="QDialog" name="settingsDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>615</width>
|
||||
<height>341</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Dialog</string>
|
||||
</property>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>260</x>
|
||||
<y>300</y>
|
||||
<width>341</width>
|
||||
<height>32</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Apply|QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
||||
</property>
|
||||
<property name="centerButtons">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>10</y>
|
||||
<width>591</width>
|
||||
<height>281</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>General</string>
|
||||
</attribute>
|
||||
<widget class="QLineEdit" name="currentPath">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>20</y>
|
||||
<width>371</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Path to medias</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QDialogButtonBox" name="choosePathButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>390</x>
|
||||
<y>20</y>
|
||||
<width>91</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Open</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QTextEdit" name="textEdit">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>60</y>
|
||||
<width>561</width>
|
||||
<height>121</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="html">
|
||||
<string><!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></string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="Video">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="accessibleName">
|
||||
<string>Video</string>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Video</string>
|
||||
</attribute>
|
||||
<widget class="QLabel" name="winposLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>130</y>
|
||||
<width>121</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Window Position</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winpositionx">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>90</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winsizex">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>40</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="buttonSymbols">
|
||||
<enum>QAbstractSpinBox::UpDownArrows</enum>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winpositiony">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>80</x>
|
||||
<y>90</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="winsizey">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>80</x>
|
||||
<y>40</y>
|
||||
<width>55</width>
|
||||
<height>27</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>5000</number>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="winsizeLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>70</y>
|
||||
<width>101</width>
|
||||
<height>17</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Window Size</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QDialogButtonBox" name="restartButton">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>340</x>
|
||||
<y>40</y>
|
||||
<width>81</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::Reset</set>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QSpinBox" name="fps">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>20</x>
|
||||
<y>180</y>
|
||||
<width>59</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="fpsLabel">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>90</x>
|
||||
<y>180</y>
|
||||
<width>121</width>
|
||||
<height>20</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>FPS</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="DMX">
|
||||
<attribute name="title">
|
||||
<string>DMX</string>
|
||||
</attribute>
|
||||
<widget class="QSpinBox" name="universe">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>30</x>
|
||||
<y>20</y>
|
||||
<width>59</width>
|
||||
<height>31</height>
|
||||
</rect>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labelUniverse">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>100</x>
|
||||
<y>20</y>
|
||||
<width>101</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>OLA Universe</string>
|
||||
</property>
|
||||
</widget>
|
||||
<widget class="QWidget" name="horizontalLayoutWidget">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>10</x>
|
||||
<y>90</y>
|
||||
<width>516</width>
|
||||
<height>131</height>
|
||||
</rect>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx1"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx2"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx3"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx4"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx5"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx6"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx7"/>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QSpinBox" name="dmx8"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QLabel" name="labeDMXaddress">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>170</x>
|
||||
<y>60</y>
|
||||
<width>101</width>
|
||||
<height>21</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>DMX Address</string>
|
||||
</property>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>settingsDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>settingsDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
7
todo.txt
7
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
|
||||
|
|
Loading…
Add table
Reference in a new issue