This commit is contained in:
Santi Noreña 2013-02-21 13:33:19 +01:00
parent c2af0c91ab
commit 39999df6a8
4 changed files with 18 additions and 26 deletions

Binary file not shown.

View file

@ -19,4 +19,4 @@ You should have received a copy of the GNU General Public License along with thi
******************************************************************************* *******************************************************************************
Sorry, only in spanish at the moment: manual_es.txt

View file

@ -23,13 +23,11 @@ Lee instalacion.txt para el proceso de instalación.
******************************************************************************* *******************************************************************************
Libre Media Server es un programa para gestionar visuales en artes escénicas, eventos, performances, instalaciones,... Libre Media Server es un programa para utilizar audio y/o video en artes escénicas, conciertos, eventos, performances, instalaciones, etc.
Se controla mediante el Open Lighting Arquitecture que soporta una gran variedad de protocolos y dispositivos estandard de iluminación: Artnet, ShowNet, PathPort, ACN, Enttec Open DMX Pro,... Se controla mediante el Open Lighting Arquitecture que soporta una gran variedad de protocolos y dispositivos estandard de iluminación: Artnet, ShowNet, PathPort, ACN, Enttec Open DMX Pro, Anyuma, OpenSoundControl, ...
Puedes controlarlo gratis con el programa MagicQ de ChamSys si no dispones de ninguna mesa o programa de iluminación. No es software libre, pero al menos es gratis y multiplataforma. En la versión más moderna ahora (1.5.7.7) para GNU/Linux no funcionan los thumbnails, en Windows sí. En la carpeta "MagicQ" hay un archivo de show de demostración y los archivos de personalidad, para audio y video. Deberás copiarlos en la carpeta Show y Heads de MagicQ, como harías normalmente para un archivo de show y las personalidades de una cabeza. El motor gráfico y de audio es Pure Data, que se ejecuta en background invisible al usuario. Ahora mismo podemos reproducir 255 carpetas con 255 videos cada una en cualquier formato en que esté el codec instalado en el sistema. Si lo puede leer en el reproductor de medios de gnome podrá reproducirlo LMS. Podemos variar la velocidad, ejecutarlo en distintas direcciones (hacia delante, hacia atrás, ping-pong), y en bucle o en un sólo disparo. También podemos renderizar fotos y textos.
El motor gráfico y de audio es Pure Data, que se ejecuta en background invisible al usuario. Ahora mismo podemos reproducir 255 carpetas con 255 videos cada una en cualquier formato en que esté el codec instalado en el sistema. Si lo puede leer en el reproductor de medios de gnome podrá reproducirlo LMS. También podemos renderizar fotos y textos. Podemos variar la velocidad, ejecutarlo en distintas direcciones (hacia delante, hacia atrás, ping-pong), y en bucle o en un sólo disparo.
LMS tiene 8 capas de video o texto, cada dispone de una correción Bezier de 4 puntos, por lo que podemos mapear diferentes superficies, o lados de objetos. También podemos corregir el keystone mediante estos ajustes. Por supuesto, hay ajustes de color, posición, tamaño y rotación por cada capa. LMS tiene 8 capas de video o texto, cada dispone de una correción Bezier de 4 puntos, por lo que podemos mapear diferentes superficies, o lados de objetos. También podemos corregir el keystone mediante estos ajustes. Por supuesto, hay ajustes de color, posición, tamaño y rotación por cada capa.
@ -48,7 +46,7 @@ A. Terminal. Se muestran mensajes de estado y de error. Común a las dos capas.
B. 8 Capas. Representan las 8 capas de video. B. 8 Capas. Representan las 8 capas de video.
- B.1 Ventana de Preview. Muestra el archivo que está siendo reproducido en la capa, sin efectos ni modificaciones. Funciona a 1 frame por segundo. Aunque el dimmer de la capa esté a 0% esta ventana seguirá mostrando el archivo como si estuviera a 100%, lo que es útil para verificar que es el archivo correcto antes de lanzarlo. - B.1 Ventana de Preview. Muestra el archivo que está siendo reproducido en la capa, sin efectos ni modificaciones. Funciona a 1 frame por segundo. Aunque el dimmer de la capa esté a 0% esta ventana seguirá mostrando el archivo como si estuviera a 100%, lo que es útil para verificar que es el archivo correcto antes de lanzarlo.
- B.2 Botón de activado de la capa. Si no está clickado la capa no está activada y no renderiza, se quedará en la pantalla el último frame renderizado; desactivando la capa no va a negro. - B.2 Botón de activado de la capa. Si no está clickado la capa no está activada y no renderiza, se quedará en la pantalla el último frame renderizado; desactivando la capa no va a negro.
- B.3 Dirección DMX. Hay que introducir el primer canal DMX de la capa, el mismo que se patcheó en la mesa. - B.3 Dirección DMX. Hay que introducir el primer canal DMX de la capa, el mismo que se patcheó en la mesa.
@ -78,7 +76,7 @@ Menu File:
CITP/MSEx CITP/MSEx
El CITP/MSEx no funciona en el interface localhost. Sin embargo la recepción de datos ArtNet sí. Necesita tener un interface de red activo en el momento de lanzar el programa, pero después se puede desconectar. Se puede usar en el mismo ordenador LMS y MagicQLinux para controlarlo. El CITP/MSEx no funciona en el interface localhost. Sin embargo la recepción de datos ArtNet sí. Se necesita tener un interface de red activo en el momento de lanzar el programa, pero después se puede desconectar. Se puede usar en el mismo ordenador LMS y MagicQLinux para controlarlo.
Inicia la ejecución de CITP/MSEx desde el menu CITP/MSEx --> Init. Antes tendrás que haber generado los thumbnails desde el mismo menu --> Make Thumbs. Si tienes una biblioteca grande de medios esto puede tardar un rato y consumir muchos recurso del ordenador. No lo hagas en directo! Inicia la ejecución de CITP/MSEx desde el menu CITP/MSEx --> Init. Antes tendrás que haber generado los thumbnails desde el mismo menu --> Make Thumbs. Si tienes una biblioteca grande de medios esto puede tardar un rato y consumir muchos recurso del ordenador. No lo hagas en directo!
@ -367,7 +365,7 @@ PureMediaServer Audio:
5 - Playback 5 - Playback
0-24 : Play. Reproduce desde el inicio del fichero. 0-24 : Play. Reproduce desde el inicio del fichero.
25-49: Stop. 25-49: Stop.
50-74: Resume. Reproduce desde el punto desde el que ss paró, o desde el punto designado por Entry Point. 50-74: Resume. Reproduce desde el punto desde el que se paró, o desde el punto designado por Entry Point.
6 - Control - Reservado, sin uso en este momento. 6 - Control - Reservado, sin uso en este momento.
7 - Volume Fine 7 - Volume Fine
8 - Entry Point Coarse - Punto de entrada de reproducción. 8 - Entry Point Coarse - Punto de entrada de reproducción.

View file

@ -156,6 +156,7 @@ libreMediaServer::libreMediaServer(QWidget *parent)
connect(m_msex,SIGNAL(frameRequest()), this, SLOT(sendFrame())); connect(m_msex,SIGNAL(frameRequest()), this, SLOT(sendFrame()));
} }
///////////////////////////////////////////////////////////////////
// Destructor // Destructor
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
@ -204,7 +205,7 @@ libreMediaServer::~libreMediaServer()
} }
socket.remove(); socket.remove();
qDebug() << "PD Video starts: " << m_startvideo << " PD Audio starts: " << m_startaudio; qDebug() << "PD Video starts: " << m_startvideo << " PD Audio starts: " << m_startaudio;
qDebug() << "Date: " << QDate::currentDate() << "Time: "<< QTime::currentTime(); qDebug() << QDate::currentDate() << QTime::currentTime();
qDebug() << "******************************************************************************************************"; qDebug() << "******************************************************************************************************";
return; return;
} }
@ -499,6 +500,7 @@ void libreMediaServer::makeThumbs()
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// Window Configuration // Window Configuration
void libreMediaServer::on_window_stateChanged(int state) void libreMediaServer::on_window_stateChanged(int state)
{ {
if ((state == 2)) { if ((state == 2)) {
@ -792,7 +794,6 @@ void libreMediaServer::on_layer8Add_valueChanged()
} }
// Open the connection with OLA and start reading DMX // Open the connection with OLA and start reading DMX
void libreMediaServer::on_readDMX_stateChanged(int state) void libreMediaServer::on_readDMX_stateChanged(int state)
{ {
if ((state == 0)) { if ((state == 0)) {
@ -818,8 +819,7 @@ void libreMediaServer::on_readDMX_stateChanged(int state)
} }
} }
// Open the video process // Start the video process
void libreMediaServer::on_video_stateChanged(int state) void libreMediaServer::on_video_stateChanged(int state)
{ {
if ((state == 0)) if ((state == 0))
@ -839,13 +839,12 @@ void libreMediaServer::on_video_stateChanged(int state)
} }
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
/* //
* Pure Data Video Stuff // Pure Data Video
*/ //
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// Start the PD Process, open the ports and connects stdout de Pure Data. // Start the PD Process, open the ports and connects stdout de Pure Data.
void libreMediaServer::pdstart() void libreMediaServer::pdstart()
{ {
if (m_pd_video->state() != 0) if (m_pd_video->state() != 0)
@ -875,7 +874,6 @@ void libreMediaServer::pdstart()
} }
// Restart the Pure Data process if crash. Connected with signal finished of QProcess // Restart the Pure Data process if crash. Connected with signal finished of QProcess
void libreMediaServer::pdrestart() void libreMediaServer::pdrestart()
{ {
if (m_pd_video->state()) if (m_pd_video->state())
@ -890,7 +888,6 @@ void libreMediaServer::pdrestart()
} }
// New conexion on TCP Server // New conexion on TCP Server
void libreMediaServer::newPeer() void libreMediaServer::newPeer()
{ {
m_read_vid = m_server_vid->nextPendingConnection(); m_read_vid = m_server_vid->nextPendingConnection();
@ -899,7 +896,6 @@ void libreMediaServer::newPeer()
} }
// New message in a TCP socket stablished connection // New message in a TCP socket stablished connection
void libreMediaServer::newmessage() void libreMediaServer::newmessage()
{ {
if (m_read_vid == NULL) if (m_read_vid == NULL)
@ -1023,7 +1019,6 @@ void libreMediaServer::newconexion()
} }
// Sends packets to Pure Data video // Sends packets to Pure Data video
bool libreMediaServer::sendPacket(const char *buffer, int bufferLen) bool libreMediaServer::sendPacket(const char *buffer, int bufferLen)
{ {
if (m_pd_write_video == NULL) { if (m_pd_write_video == NULL) {
@ -1044,7 +1039,6 @@ bool libreMediaServer::sendPacket(const char *buffer, int bufferLen)
} }
// Function error sending packets to PD video // Function error sending packets to PD video
void libreMediaServer::errorsending() { void libreMediaServer::errorsending() {
if (ui.video->checkState()) if (ui.video->checkState())
{ {
@ -1350,14 +1344,14 @@ void libreMediaServer::on_audio_stateChanged(int state)
pdstart_audio(); pdstart_audio();
} }
} }
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
/* //
* Pure Data Audio Stuff // Pure Data Audio
*/ //
/////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////
// Start the PD Process, open the ports and connects stdout de Pure Data. // Start the PD Process, open the ports and connects stdout de Pure Data.
void libreMediaServer::pdstart_audio() void libreMediaServer::pdstart_audio()
{ {
if (m_pd_audio->state() != 0) if (m_pd_audio->state() != 0)