removed citp/msex and logs. Compiles and starts (not tested). Qt5.
This commit is contained in:
parent
d2c3682c23
commit
4f283d9476
16 changed files with 167 additions and 426 deletions
|
@ -1,27 +1,23 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(c) Santiago Noreña 2012-2013
|
||||
|
||||
Libre Media Server - An Open Source Media Server.
|
||||
(c) Santiago Noreña 2012-2024 <lms@criptomart.net>
|
||||
https://git.criptomart.net/libremediaserver
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
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 3 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Lbre Media Server ChangeLog
|
||||
ChangeLog
|
||||
|
||||
*******************************************************************************
|
||||
V0.1.0 (not released yet)
|
||||
|
||||
+ Compiles on Ubuntu 22.04 Jammy
|
||||
+ Better docs
|
||||
+ Publish on internet again
|
||||
+ Qt5
|
||||
+ Removed logs
|
||||
+ Removed MSEX
|
||||
|
||||
V 0.04-2
|
||||
|
||||
|
|
117
compiling.txt
117
compiling.txt
|
@ -1,115 +1,44 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(c) Santiago Noreña 2012-2013
|
||||
|
||||
(c) Santiago Noreña 2012-2024 <lms@criptomart.net>
|
||||
https://git.criptomart.net/libremediaserver
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
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 3 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
If you have troubles, or you are in another distro, you can try compiling from the source code.
|
||||
Ubuntu 22.04 Jamm.
|
||||
|
||||
0. Requisites
|
||||
tcl tk --> To compile Pure Data, not necesary to execute it without GUI (-gui option in command line)
|
||||
build-essential
|
||||
make
|
||||
gcc
|
||||
g++
|
||||
libtiff-dev -> ola2jpg
|
||||
libmagick++-dev -> In Debian Wheezy libmagick++5-dev; In Ubuntu Precise libmagick++4-dev
|
||||
autoconf // Gem
|
||||
automake // Gem
|
||||
libtool
|
||||
subversion
|
||||
gmerlin
|
||||
¿¿?? v4l2ucp
|
||||
¿¿?? v4l-utils
|
||||
ola-dev
|
||||
|
||||
1. Building pd
|
||||
$./configure
|
||||
$make
|
||||
sudo apt-get install build-essential qmake-qt5 gcc g++ libtool qtbase5-dev libqt5webkit5-dev qtwebengine5-dev libqt5script5
|
||||
|
||||
|
||||
libtiff-dev -> ola2jpg
|
||||
v4l2ucp
|
||||
v4l-utils
|
||||
autoconf // Gem
|
||||
automake // Gem
|
||||
|
||||
2. Install ola and ola-dev
|
||||
|
||||
Add the repository apt.openlighting.org
|
||||
apt-get install ola ola-dev
|
||||
apt install cpplint libcppunit-dev uuid-dev pkg-config libncurses5-dev libtool autoconf automake g++ libmicrohttpd-dev libprotobuf-dev libprotoc-dev zlib1g-dev bison flex make libftdi-dev libftdi1 libusb-1.0-0-dev liblo-dev libavahi-client-dev python3-protobuf libprotobuf* protobuf-*
|
||||
OLA https://www.openlighting.org/ola/linuxinstall/#Git
|
||||
wget https://github.com/OpenLightingProject/ola/releases/download/0.10.9/ola-0.10.9.tar.gz
|
||||
tar xvf ola-0.10.9.tar.gz
|
||||
cd ola-0.10.9/
|
||||
autoreconf -i
|
||||
./configure --disable-uart --disable-pathport --disable-renard --disable-sandnet --disable-uartdmx --disable-usbdmx --disable-stageprofi --disable-espnet --disable-ftdidmx --disable-gpio --disable-opendmx --disable-openpixelcontrol --disable-shownet --disable-spi --disable-karate --disable-milinst
|
||||
|
||||
3. Building pd externals
|
||||
3. Pure data y externals
|
||||
|
||||
3.1 ola2pd
|
||||
|
||||
# Compile and install flext
|
||||
|
||||
svn co https://svn.grrrr.org/ext/trunk/flext flext
|
||||
cd flext
|
||||
./build.sh pd gcc
|
||||
Edit the paths in file ./buildsys/cnfg-lnx-gcc.txt
|
||||
./build sh pd gcc
|
||||
sudo ./build.sh pd gcc install
|
||||
cd ..
|
||||
|
||||
# Add enviroment path variables to .bashrc
|
||||
|
||||
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib" >> ~/.bashrc
|
||||
echo "export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/include" >> ~/.bashrc
|
||||
echo "export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/include" >> ~/.bashrc
|
||||
|
||||
# Build and install ola2pd
|
||||
|
||||
cd ola2pd
|
||||
/path/to/flext/build.sh pd gcc
|
||||
$ cp fileselector.pd_linux $HOME/pd-externals
|
||||
|
||||
3.2 Gem + pix2jpg
|
||||
|
||||
$ cd Gem
|
||||
$ ./autogen.sh
|
||||
$ ./configure --with-pd=/path/to/libremediaserver/src/pd-0.44-2/ --prefix=$HOME/pd-externals
|
||||
comment the line 65 in the Makefile in /plugins/ImageMagick. It fails compiling.
|
||||
$ make
|
||||
$ make install
|
||||
|
||||
3.3 fileselector
|
||||
|
||||
$ cd fileselector
|
||||
$ make
|
||||
$ cp fileselector.pd_linux $HOME/pd-externals
|
||||
|
||||
4. LibreMediaserver
|
||||
$ qmake libremediaserver.pro -r -spec linux-g++
|
||||
$ make -w
|
||||
|
||||
Open the file libremediaserver.pro with QtCreator and compile it.
|
||||
5. Install
|
||||
|
||||
or
|
||||
|
||||
$ cd src
|
||||
$ qmake-qt4 libremediaserver.pro -r -spec linux-g++
|
||||
$ make -w
|
||||
|
||||
5. Putting all together.
|
||||
|
||||
Make a directory. Copy in it:
|
||||
- libremediaserver binary
|
||||
- Folder scripts
|
||||
- Folder puredata
|
||||
- the tcl folder in the pd sources. This is only necessary to show the Pure Data GUI's. You don't need if you don't want the GUI's. Only it's good for debugging purpouses and developing, for normal use you can skip this step.
|
||||
|
||||
In the folder puredata copy:
|
||||
- the pd executable
|
||||
- Make a folder named externals and copy all the externals to it. All the externals compiled must be in ~HOME/pd-external.
|
||||
|
||||
There are externals from third party that we do not track the sources files and are a must in order to run libremediaserver. That externals can be retrieved compiled in the libremediaserver release packet in the downloads page in the web project. All are binaries from the packets of Debian distribution (counter, gate, split, prepend,...) from pd-zexy, pd-cyclone, pd-ogg. I'am actively developing and i am adding the sources of these externals to repository when they are necessary (Gem) or making my own fork to adapt when i need (fileselector, pix2image) or trying using alternatives in PD Vanilla. I want to keep only the minimun necessary in this chapter. Alternativaly i want to make a compilation script that would do the complete compilation process, including these externals, but it's not a prioriy at this moment.
|
||||
..........
|
||||
6. Configuration
|
||||
|
||||
|
|
|
@ -1,83 +0,0 @@
|
|||
************************************************** *****************************
|
||||
|
||||
Libre Media Server – Un Média serveur open-source.
|
||||
(C) 2012-2013 James Noren
|
||||
|
||||
************************************************** *****************************
|
||||
|
||||
Développement et support: libremediaserver@gmail.com
|
||||
|
||||
Page du projet: http://code.google.com/p/libremediaserver
|
||||
|
||||
************************************************** *****************************
|
||||
|
||||
Ce programme est un logiciel libre. Vous pouvez le redistribuer et / ou le modifier selon les termes de la Licence Publique Générale GNU, telle que publiée par la Free Software Foundation, soit la version 3 de la Licence, ou (à votre choix) toute version ultérieure.
|
||||
|
||||
Ce programme est distribué avec l'espoir qu'il puisse être utile, mais SANS AUCUNE GARANTIE, sans même la garantie implicite de COMMERCIALISATION ou D'ADAPTATION À UN USAGE PARTICULIER. Voir la Licence Publique Générale GNU pour plus de détails.
|
||||
|
||||
Vous devriez avoir reçu une copie de la Licence Publique Générale GNU avec ce programme, sinon, écrivez à la Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
|
||||
************************************************** *****************************
|
||||
|
||||
I. Conditions requises
|
||||
|
||||
LMS est développé et testé sur Debian Wheezy et dérivés.
|
||||
|
||||
Le logiciel nécessite une carte graphique OpenGL avec des pilotes Xorg et l'accélération matérielle correctement installés. Entrer "glxgears" dans un terminal devrait ouvrir une fenêtre avec trois roues d’engrenage qui doivent tourner. Si ce n’est pas le cas, consultez la documentation de votre distribution.
|
||||
|
||||
Pour résoudre les dépendances, vous devez avoir une connexion Internet sur l'ordinateur pendant le processus d'installation.
|
||||
|
||||
LMS communique avec Pure Data via le port TCP de 9195 à 9198. Open Lighting Architecture utilise le port 9090 de votre serveur web. Il est primordial que ces ports ne soient pas utilisés par d'autres applications.
|
||||
|
||||
Vous n'avez pas besoin de deux ordinateurs pour gérer LibreMediaServer, mais le CTIP / MSEX ne fonctionnera pas sur localhost.
|
||||
Au moment où le programme commence, vous devez disposer d'une interface réseau active, après avoir démarré. Si vous voulez contrôler le media serveur à partir d'un autre ordinateur, vous devez configurer la carte réseau du système d'exploitation selon le protocole que vous utilisez. Pour artnet utiliser une adresse IP de type 2.x.x.x avec un masque de sous réseau 255.0.0.0.
|
||||
|
||||
II. Installation d’OLA
|
||||
Ouvrez un terminal en tant que root et éditez le fichier source.list
|
||||
sudo gedit /etc/apt/sources.list
|
||||
|
||||
Ajoutez la ligne suivante :
|
||||
Sous debian > deb http://apt.openlighting.org/debian/ wheezy main
|
||||
Sous ubuntu > deb http://apt.openlighting.org/debian/ precise main
|
||||
|
||||
Enregistrez et fermez l’éditeur de texte.
|
||||
Exécutez la commande « apt-get update » pour mettre à jour la liste des dépôts.
|
||||
Installez le logiciel OLA avec la commande apt-get
|
||||
apt-get install ola
|
||||
Lancer OLA
|
||||
/etc/init.d/olad start
|
||||
|
||||
III. Installation de libremediaserver.
|
||||
|
||||
Ouvrez un terminal en tant que root et allez dans le répertoire des scripts avec la commande
|
||||
cd /répertoire racine/scripts
|
||||
Exécutez le fichier d’installation selon votre système d’exploitation.
|
||||
./Install_wheezy.sh
|
||||
|
||||
ou
|
||||
|
||||
./Install_precise.sh
|
||||
|
||||
Confirmez Oui lorsqu’il vous est demandé confirmation pour télécharger les fichiers et assurez-vous que vous êtes connecté à Internet. Ensuite, cliquez sur Non lorsque vous êtes invité à démarrer OLA daemon au démarrage du système.
|
||||
|
||||
Lancer libremediaserver
|
||||
cd/repertoire LMS
|
||||
puis
|
||||
./libremediaserver
|
||||
IV. Configuration
|
||||
|
||||
Cette étape n'est nécessaire qu’à la première exécution de LMS
|
||||
|
||||
a. Dans le menu fichier de l’application, cliquez sur « setup OLA »
|
||||
|
||||
b. Cliquez sur le bouton "Ajouter un univers"
|
||||
|
||||
c. Spécifiez le numéro de l’univers concerné (ID) et donnez-lui un nom. Cochez dans la liste le ou les protocoles que vous souhaitez utilisez en vous assurant de faire attention au sens (input ou output) des données.
|
||||
Si vous choisissez le protocole Artnet, entrez dans "Univers Id" le numéro de l'univers ArtNet pour lesquels vous souhaitez recevoir les signaux dmx. L’univers et le subnet peuvent être ultérieurement modifiés dans le fichier ~ /. Ola / wave-artnet.conf. L’univers par défaut est 0 et le subnet 0.
|
||||
|
||||
Vous pouvez vérifier que l'information dmx circule en cliquant sur l'univers dans le menu de gauche, puis sur l’onglet "DMX Monitor".
|
||||
Une fois la configuration terminée, fermez la fenêtre du logiciel OLA.
|
||||
d. Configurez la réception dmx du logiciel en cochant la case « Read DMX » et en spécifiant le numéro de l’univers dmx précédemment configuré dans OLA (OLA universe).
|
||||
e. Dans le logiciel LMS, cliquez sur le menu Fichier puis « Changer le répertoire de média » et sélectionnez le répertoire où sont vos médias. L’arborescence de ce dossier doit respecter un ordre particulier pour fonctionner. Référez-vous à la section correspondante dans le manuel d’utilisation. Définissez ensuite l'adresse DMX de chaque couche selon le patch de la table via les boites de dialogue sous chaque couche.
|
||||
|
||||
Si vous utilisez le CITP / MSEX afin de générer les vignettes de vos couches, allez dans le menu CITP / MSEX et cliquez sur « créer des vignettes ». Les vignettes sont générées automatiquement.
|
54
leeme.txt
54
leeme.txt
|
@ -1,54 +0,0 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(C) Santiago Noreña 2012-2013
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
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 3 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
LibreMediaServer es un programa para manejar visuales y audio en actuaciones escénicas, instalaciones, eventos, performances,etc, basado en Software Libre.
|
||||
|
||||
El control de LMS se realiza mediante el Open Lighting Arquitecture, por lo que podemos usar cualquier protocolo de iluminación abierto (ArtNet, PathPort, ShowNet, ACN,...) o dispositivo DMX-USB (Enttec Pro, Velleman, Anyuma,...).
|
||||
|
||||
El motor gráfico y de audio es Pure Data con Gem.
|
||||
|
||||
LibreMediaServer funciona en GNU/Linux. Está testeado en Debian Wheezy y Ubuntu Precise 12.04, y debería funcionar en más distribuciones basadas
|
||||
en Debian.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Características:
|
||||
|
||||
- 8 capas de video, imágenes o texto.
|
||||
- 8 capas de audio.
|
||||
- Playback avanzado.
|
||||
- Cada capa puede ser mapeada mediante 4 puntos de Bèzier.
|
||||
- Un montón de formatos de video: avi, mov, mpg, mp4, ogg.
|
||||
- Reproducción de audio en formato ogg.
|
||||
- Reproducción de imágenes en formato jpeg, tiff.
|
||||
- Efectos de Video.
|
||||
- Control de posición (en 16 bits), rotación en los 3 ejes, tamaño, y color por capa.
|
||||
- Máscaras Croma/Luma, pasa-altos y/o pasabajos en RGB.
|
||||
- Reproducción de textos a través ficheros de texto plan, 255 ficheros hasta 255 frases por fichero renderizando hasta 255 fuentes distintas TrueType.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Para instalar LMS vea instalacion.txt
|
||||
|
||||
Para usar LMS vea manual.txt
|
||||
|
||||
*******************************************************************************
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(C) Santiago Noreña 2012-2013
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
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 3 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Sorry only in espanish at the moment manual_es.txt
|
|
@ -1,26 +1,11 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(c) Santiago Noreña 2012-2013
|
||||
|
||||
(c) Santiago Noreña 2012-2024 <lms@criptomart.net>
|
||||
https://git.criptomart.net/libremediaserver
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
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 3 of the License, or (at your option) any later version.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Lee instalacion.txt para el proceso de instalación.
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Libre Media Server es un programa para ejecutar audio y/o video en espectáculos en directo: artes escénicas, conciertos, eventos, performances, instalaciones, etc. Es Software Libre y está desarrollado en y para sistemas operativos GNU/Linux Debian y derivados.
|
||||
|
@ -73,7 +58,7 @@ J. IP Adress. Dirección IP de la interface que queremos usar para el CITP/MSEx.
|
|||
K. Preview Master Check Box: Habilita/deshabilita la vista previa de la mezcla final.
|
||||
L. Preview Layers: Habilita/deshabilita la vista previa por capa.
|
||||
M. Contador de FPS. Indica la tasa actual de renderizado.
|
||||
N. Pretend Rate. Intenta renderizar a esta tasa. Reduce la tasa si tu máquina no alcanza los 30 fps para tener una reproducción lineal sin cambios en la velocidad.
|
||||
N. Pretend Rate. Intenta renderizar a esta tasa. Reduce la tasa si tu máquina no alcanza los 30 fps para tener una reproducción lineal sin cambios en la velocidad.
|
||||
|
||||
Menu File:
|
||||
|
||||
|
@ -415,7 +400,7 @@ Atención! Algunos de estos efectos y/o combinaciones de parámetros cascan Pure
|
|||
|
||||
*******************************************************************************
|
||||
|
||||
PureMediaServer Audio:
|
||||
LibreMediaServer Audio:
|
||||
|
||||
1 - Volumen Coarse
|
||||
2 - Pan
|
||||
|
|
26
readme.txt
26
readme.txt
|
@ -1,13 +1,13 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(c) Santiago Noreña 2012-2013
|
||||
(c) Santiago Noreña 2012-2024
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
Developing and support: lms@criptomart.net
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
Code: https://git.criptomart.net/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
|
@ -19,30 +19,22 @@ You should have received a copy of the GNU General Public License along with thi
|
|||
|
||||
*******************************************************************************
|
||||
|
||||
Pure Media Server is an Open Source project to manage visuals and audio in stage, perfomances, installations, events,,...,
|
||||
Libre Media Server is an Open Source project to manage visuals and audio in stage, perfomances, installations, events,,...,
|
||||
|
||||
The control input is through Open Lighting Arquitecture, so we can use any open lighting protocolol (ArtNet, PathPort, ShowNet, ACN, SandNet,...) or DMX-USB device (Enttec USB DMX Pro, Velleman, Anyuma,..).
|
||||
|
||||
The graphic and audio engine are two Pure Data process running in the background. You will need a graphics card OpenGL capable and the driver for it correctly installed.
|
||||
|
||||
I'm developing and testing in Debian Wheezy and Ubuntu precise 12.04. It should compile and work in anothers Debian based distros.
|
||||
|
||||
Features:
|
||||
|
||||
- 8 video, pictures or text layers.
|
||||
- 8 audio layers.
|
||||
- Advanced playback (normal, back, ping.pong, entry point, exit point, speed, loop).
|
||||
- Each layer can be mapped onto a surface with 4 point of Bèzier.
|
||||
- A lot of formats: avi, mov, mpg, HD,...
|
||||
- DMXUSB interfaces and IP protocolos (sACN, Pathport, ArtNet, ...).
|
||||
- Mapping by layer and master.
|
||||
- A lot of input formats: avi, mov, mpg, HD,...
|
||||
- Some video effects.
|
||||
- Position, Rotation, Size.
|
||||
- Croma/Luma mask.
|
||||
- Text through a text file, with 255 phrases.
|
||||
|
||||
Sorry, at the moment the doc is only in spanish:
|
||||
|
||||
Install guide : instalacion.txt
|
||||
|
||||
Users guide : manual.txt
|
||||
|
||||
|
||||
- Render texts live from a file.
|
||||
- Not enough? A crazy idea? you can customize the Pure Data patches and change or improve LibreMediaServer behaviour at your will.
|
||||
|
|
|
@ -81,12 +81,12 @@ struct CITP_PINF_PLoc
|
|||
CITP_PINF_Header CITPPINFHeader; // The CITP PINF header. PINF ContentType is "PLoc".
|
||||
uint16 ListeningTCPPort; // The port on which the peer is listening for
|
||||
// incoming TCP connections. 0 if not listening.
|
||||
ucs1 Type[]; // Can be "LightingConsole", "MediaServer",
|
||||
ucs1 Type; // Can be "LightingConsole", "MediaServer",
|
||||
// "Visualizer" or "OperationHub".
|
||||
ucs1 Name[]; // The display name of the peer. Corresponds to the
|
||||
ucs1 Name; // The display name of the peer. Corresponds to the
|
||||
// PINF/PNam/Name field.
|
||||
ucs1 State[]; // The display state of the peer. This can be any
|
||||
// descriptive string presentable to the user such
|
||||
ucs1 State; // The display state of the peer. This can be any
|
||||
// descriptive string presentable to the user such
|
||||
// as "Idle", "Running" etc.
|
||||
};
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
/*
|
||||
The MIT License
|
||||
|
||||
Copyright (c) 2012-2013 Santi Noreña libremediaserver@gmail.com
|
||||
Copyright (c) 2012-2024 Santi Noreña lms@criptomart.net
|
||||
|
||||
Copyright (c) 2009 John Warwick
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
Pure Media Server - A Media Server Sotfware for stage and performing
|
||||
Libre Media Server - A FOSS Media Server Sotfware for stage and performing.
|
||||
|
||||
Copyright (C) 2012-2013 Santi Noreña libremediaserver@gmail.com
|
||||
Copyright (C) 2012-2024 Santi Noreña <lms@criptomart.net>
|
||||
|
||||
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
|
||||
|
@ -43,9 +43,9 @@ quint16 winsizey;
|
|||
|
||||
libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
|
||||
: QMainWindow(parent),
|
||||
m_startvideo(0),
|
||||
m_pd_video(NULL),
|
||||
m_gui(FALSE)
|
||||
m_startvideo(0),
|
||||
m_gui(false)
|
||||
{
|
||||
qDebug() << "********************************************************************************";
|
||||
qDebug() << QDate::currentDate() << QTime::currentTime();
|
||||
|
@ -105,7 +105,7 @@ libreMediaServer::libreMediaServer(QStringList args, QWidget *parent)
|
|||
open_start();
|
||||
m_olaInterface = new olaInterface();
|
||||
Q_CHECK_PTR(m_olaInterface);
|
||||
connect(m_olaInterface->m_msex->m_timer, SIGNAL(timeout()), this, SLOT(sendFrame()));
|
||||
//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)));
|
||||
|
||||
|
@ -262,7 +262,7 @@ void libreMediaServer::save(QFile *file)
|
|||
QString errorstring = tr("Bytes Write to file %1").arg(error);
|
||||
qDebug()<<"Saved file complete:"<< errorstring;
|
||||
file->close();
|
||||
delete buffer;
|
||||
delete[] buffer;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
@ -291,16 +291,16 @@ void libreMediaServer::olasetup()
|
|||
|
||||
void libreMediaServer::on_window_stateChanged(int state)
|
||||
{
|
||||
if ((state == 2)) {
|
||||
if (state == 2) {
|
||||
QString desc("101 0001;");
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
}
|
||||
if ((state == 0)) {
|
||||
if (state == 0) {
|
||||
QString desc("101 0000;");
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -311,7 +311,7 @@ void libreMediaServer::on_winpositionx_valueChanged()
|
|||
{
|
||||
int x = ui.winpositionx->value();
|
||||
QString desc = tr("102 %1;").arg(x);
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -321,7 +321,7 @@ void libreMediaServer::on_winpositiony_valueChanged()
|
|||
{
|
||||
int x = ui.winpositiony->value();
|
||||
QString desc = tr("103 %1;").arg(x);
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ void libreMediaServer::on_winsizex_valueChanged()
|
|||
{
|
||||
int x = ui.winsizex->value();
|
||||
QString desc = tr("104 %1;").arg(x);
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -341,7 +341,7 @@ void libreMediaServer::on_winsizey_valueChanged()
|
|||
{
|
||||
int x = ui.winsizey->value();
|
||||
QString desc = tr("105 %1;").arg(x);
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -351,7 +351,7 @@ void libreMediaServer::on_winsizey_valueChanged()
|
|||
void libreMediaServer::on_fpsRate_valueChanged()
|
||||
{
|
||||
QString desc = tr("123 %1;").arg(ui.fpsRate->value());
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -536,7 +536,7 @@ bool libreMediaServer::sendPacket(const char *buffer, int bufferLen)
|
|||
void libreMediaServer::receiveDMX(int layer, int channel, int value)
|
||||
{
|
||||
QString buffer = tr("%1 %2 %3;").arg(layer).arg(channel).arg(value);
|
||||
if (!sendPacket(buffer.toAscii().constData(), buffer.size()))
|
||||
if (!sendPacket(buffer.toLatin1().constData(), buffer.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
@ -550,7 +550,7 @@ bool libreMediaServer::newFile(QString file)
|
|||
qErrnoWarning("sendPacket:Socket not conected: ");
|
||||
return false;
|
||||
}
|
||||
if (file.size() != m_write_video->write(file.toAscii().constData(), file.size()))
|
||||
if (file.size() != m_write_video->write(file.toLatin1().constData(), file.size()))
|
||||
{
|
||||
qErrnoWarning("sendPacket:Can not write to socket: ");
|
||||
return false;
|
||||
|
@ -584,35 +584,35 @@ void libreMediaServer::sendFrame()
|
|||
}
|
||||
image = image.scaledToWidth(88);
|
||||
image = image.convertToFormat(QImage::Format_RGB888);
|
||||
m_olaInterface->m_msex->sendFrame(image);
|
||||
//m_olaInterface->m_msex->sendFrame(image);
|
||||
}
|
||||
|
||||
// Enable/Disable the GUI Master preview
|
||||
void libreMediaServer::on_previewMaster_stateChanged (int state)
|
||||
{
|
||||
if ((state == 0)) {
|
||||
m_olaInterface->m_msex->m_timer->stop();
|
||||
if (state == 0) {
|
||||
//m_olaInterface->m_msex->m_timer->stop();
|
||||
}
|
||||
if ((state == 2))
|
||||
if (state == 2)
|
||||
{
|
||||
m_olaInterface->m_msex->m_timer->start();
|
||||
//m_olaInterface->m_msex->m_timer->start();
|
||||
}
|
||||
}
|
||||
|
||||
// Enable/Disable the GUI Layers preview
|
||||
void libreMediaServer::on_previewLayer_stateChanged (int state)
|
||||
{
|
||||
if ((state == 0)) {
|
||||
if (state == 0) {
|
||||
QString desc = tr("122 0;");
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
}
|
||||
if ((state == 2))
|
||||
if (state == 2)
|
||||
{
|
||||
QString desc = tr("122 1;");
|
||||
if (!sendPacket(desc.toAscii().constData(),desc.size()))
|
||||
if (!sendPacket(desc.toLatin1().constData(),desc.size()))
|
||||
{
|
||||
errorsending();
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
Libre Media Server - A Media Server Sotfware for stage and performing
|
||||
Copyright (C) 2012-2013 Santiago Noreña libremediaserver@gmail.com
|
||||
Copyright (C) 2012-2024 Santiago Noreña lms@criptomart.net
|
||||
|
||||
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
|
||||
|
@ -34,15 +34,15 @@
|
|||
#include <QWebView>
|
||||
#include <QUrl>
|
||||
|
||||
#include "msex.h"
|
||||
#include "CITPDefines.h"
|
||||
#include "MSEXDefines.h"
|
||||
//#include "msex.h"
|
||||
//#include "CITPDefines.h"
|
||||
//#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"
|
||||
#define VERSION "LibreMediaServer Version 0.1.0"
|
||||
#define COPYRIGHT "(C) 2012-2024 Santi Norena lms@criptomart.net"
|
||||
#define LICENSE "GPL 3 License. See LICENSE.txt and credits.txt for details"
|
||||
|
||||
class QMenu;
|
||||
|
|
|
@ -1,57 +1,32 @@
|
|||
TEMPLATE = app
|
||||
TARGET = libremediaserver
|
||||
QT += network script webkit
|
||||
CONFIG += debug
|
||||
DESTDIR = ./debug
|
||||
|
||||
QT += network webkitwidgets widgets
|
||||
HEADERS += libremediaserver.h \
|
||||
citp-lib.h \
|
||||
PacketCreator.h \
|
||||
PeerInformationSocket.h \
|
||||
msex.h \
|
||||
CITPDefines.h \
|
||||
MSEXDefines.h \
|
||||
olainterface.h \
|
||||
settingsdialog.h
|
||||
|
||||
olainterface.h \
|
||||
settingsdialog.h
|
||||
# citp-lib.h \
|
||||
# PacketCreator.h \
|
||||
# PeerInformationSocket.h \
|
||||
# msex.h \
|
||||
# CITPDefines.h \
|
||||
# MSEXDefines.h \
|
||||
SOURCES += main.cpp \
|
||||
libremediaserver.cpp \
|
||||
citp-lib.cpp \
|
||||
PacketCreator.cpp \
|
||||
PeerInformationSocket.cpp \
|
||||
msex.cpp \
|
||||
olainterface.cpp \
|
||||
settingsdialog.cpp
|
||||
|
||||
FORMS += \
|
||||
libremediaserver.ui \
|
||||
settingsdialog.ui
|
||||
|
||||
#INCLUDEPATH += ./
|
||||
|
||||
LIBS += -L./debug
|
||||
olainterface.cpp \
|
||||
settingsdialog.cpp
|
||||
# citp-lib.cpp \
|
||||
# PacketCreator.cpp \
|
||||
# PeerInformationSocket.cpp \
|
||||
# msex.cpp \
|
||||
FORMS += libremediaserver.ui \
|
||||
settingsdialog.ui
|
||||
LIBS += -lola -lolacommon
|
||||
|
||||
#win32:CONFIG(release, debug|release): LIBS += -L$$PWD/../debug/release/ -lcitp
|
||||
#else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/../debug/debug/ -lcitp
|
||||
#else:symbian: LIBS += -lcitp
|
||||
#else:unix: LIBS += -L$$PWD/../debug/ -lcitp
|
||||
#INCLUDEPATH += $$PWD/../debug
|
||||
#DEPENDPATH += $$PWD/../debug
|
||||
|
||||
RESOURCES =
|
||||
|
||||
|
||||
OTHER_FILES += \
|
||||
../todo.txt \
|
||||
../readme.txt \
|
||||
../manual_es.txt \
|
||||
../manual_en.txt \
|
||||
../LICENSE.txt \
|
||||
../leeme.txt \
|
||||
../install.txt \
|
||||
../instalacion.txt \
|
||||
../credits.txt \
|
||||
../compiling.txt \
|
||||
../changelog.txt \
|
||||
dmx.xlm
|
||||
OTHER_FILES += ../todo.txt \
|
||||
../readme.txt \
|
||||
../manual_es.txt \
|
||||
../LICENSE.txt \
|
||||
../instalacion.txt \
|
||||
../credits.txt \
|
||||
../compiling.txt \
|
||||
../changelog.txt \
|
||||
dmx.xlm
|
||||
|
|
16
src/main.cpp
16
src/main.cpp
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
Libre Media Server - A Media Server Sotfware for stage and performing
|
||||
Copyright (C) 2012-2013 Santiago Noreña libremediaserver@gmail.com
|
||||
Copyright (C) 2012-2024 Santi Noreña <lms@criptomart.net>
|
||||
|
||||
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
|
||||
|
@ -23,7 +23,7 @@
|
|||
|
||||
bool initMessageHandler = 0;
|
||||
QFile outFile;
|
||||
|
||||
/*
|
||||
void MessageHandler(QtMsgType type, const char *msg)
|
||||
{
|
||||
QString txt;
|
||||
|
@ -68,9 +68,9 @@ void MessageHandler(QtMsgType type, const char *msg)
|
|||
initMessageHandler = 1;
|
||||
}
|
||||
QTextStream ts(&outFile);
|
||||
ts << txt << endl;
|
||||
ts << txt << Qt::endl;
|
||||
}
|
||||
|
||||
*/
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
|
@ -93,14 +93,14 @@ int main(int argc, char *argv[])
|
|||
qDebug() << "Help for command line options:";
|
||||
qDebug() << "-v show the version and exits";
|
||||
qDebug() << "-gui show the Pure Data GUI's";
|
||||
qDebug() << "-log write the debug information to a log file instead stderr";
|
||||
//qDebug() << "-log write the debug information to a log file instead stderr";
|
||||
qDebug() << "-h this help";
|
||||
return 0;
|
||||
}
|
||||
if (args.contains("-log"))
|
||||
/* if (args.contains("-log"))
|
||||
{
|
||||
qInstallMsgHandler(MessageHandler);
|
||||
}
|
||||
qInstallMessageHandler(MessageHandler);
|
||||
}*/
|
||||
if (!args.contains("-gui"))
|
||||
{
|
||||
for (int i=1; i<args.size();i++)
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* olainterface.cpp
|
||||
Santi Noreña 2013
|
||||
Santi Noreña 2013-2024 <lms@criptomart.net>
|
||||
It includes two classes:
|
||||
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
|
||||
|
@ -16,8 +16,8 @@ olaInterface::olaInterface()
|
|||
// 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);
|
||||
//m_msex = new msex(this); // Init the CITP/MSEx protocol
|
||||
//Q_CHECK_PTR(m_msex);
|
||||
// open();
|
||||
}
|
||||
|
||||
|
@ -179,7 +179,7 @@ void olaInterface::requestNewFile(int layer, int type){
|
|||
dir.setFilter(QDir::Files);
|
||||
QFileInfoList filelist = dir.entryInfoList();
|
||||
QFileInfo fileInfo = filelist.at(worker->m_dmx[layer][DMX_FILE]);
|
||||
newfile.append(fileInfo.absoluteFilePath().toAscii());
|
||||
newfile.append(fileInfo.absoluteFilePath().toLatin1());
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
newfile.clear();
|
||||
|
@ -191,7 +191,7 @@ void olaInterface::requestNewFile(int layer, int type){
|
|||
}
|
||||
filelist = dir.entryInfoList();
|
||||
fileInfo = filelist.at(worker->m_dmx[layer][DMX_FOLDER]);
|
||||
newfile.append(fileInfo.absoluteFilePath().toAscii());
|
||||
newfile.append(fileInfo.absoluteFilePath().toLatin1());
|
||||
newfile.append(";");
|
||||
emit newFile(newfile);
|
||||
} else if (type == 3) {
|
||||
|
@ -364,7 +364,7 @@ void olaWorker::olastop()
|
|||
* has changed to save resources.
|
||||
*/
|
||||
// ToDo: It can be more efficient making the dmx buffer a DmxBuffer class instead a int array and compare with the new if there is changes at start. Also all access to the buffer it should be get/set. I should profile this
|
||||
void olaWorker::NewDmx(unsigned int universe, const DmxBuffer &buffer,const string &error) {
|
||||
void olaWorker::NewDmx(unsigned int universe, const DmxBuffer &buffer,const std::string &error) {
|
||||
if (!error.empty()) {
|
||||
qWarning() << tr("olaWorker:NewDmx|") << "error received " << QString::fromStdString(error);
|
||||
return;
|
||||
|
@ -405,7 +405,7 @@ bool olaWorker::CheckDataLoss() {
|
|||
/*
|
||||
* Control de errores en el registro de Universos en OLA
|
||||
*/
|
||||
void olaWorker::RegisterComplete(const string &error) {
|
||||
void olaWorker::RegisterComplete(const std::string &error) {
|
||||
if (!error.empty()) {
|
||||
qWarning() << "olaWorker|" << "Register command failed" << QString::fromStdString(error);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* olainterface.h
|
||||
Santi Noreña 2013
|
||||
Santi Noreña 2013-2024 <lms@criptomart.net>
|
||||
It includes two classes:
|
||||
olaWorker is the threading class that reads raw DMX from ola daemon
|
||||
olaInterface controls olaWorker and translates DMX values received from olaWorker into orders to RenderingManager and Source
|
||||
|
@ -31,9 +31,9 @@
|
|||
#include <ola/OlaClientWrapper.h>
|
||||
#include <ola/OlaCallbackClient.h>
|
||||
|
||||
#include "CITPDefines.h"
|
||||
#include "MSEXDefines.h"
|
||||
#include "msex.h"
|
||||
//#include "CITPDefines.h"
|
||||
//#include "MSEXDefines.h"
|
||||
//#include "msex.h"
|
||||
#include "QDir"
|
||||
#include "libremediaserver.h"
|
||||
|
||||
|
@ -46,6 +46,31 @@ struct dmxSettings {
|
|||
bool updated;
|
||||
};
|
||||
|
||||
// Media Information for MELIn packages. v1.0
|
||||
struct MediaInformation {
|
||||
quint8 Number; // 0-based contiguous index of the media.
|
||||
// uint32 SerialNumber; //MSEX 1.2
|
||||
quint8 DMXRangeMin;// DMX range start value.
|
||||
quint8 DMXRangeMax;// DMX range end value.
|
||||
QString MediaName;// Media name.
|
||||
quint64 MediaVersionTimestamp;// Media version in seconds since 1st January 1970.
|
||||
quint16 MediaWidth; // Media width.
|
||||
quint16 MediaHeight;// Media height.
|
||||
quint32 MediaLength;// Media length (in frames).
|
||||
quint8 MediaFPS;// Media resolution (in frames per second).
|
||||
};
|
||||
|
||||
// Media Library for ELin packages v1.0
|
||||
struct MediaLibrary {
|
||||
quint8 m_Id; // Library id.
|
||||
quint8 m_DMXRangeMin;// DMX range start value.
|
||||
quint8 m_DMXRangeMax;// DMX range end value.
|
||||
QString m_Name;// Library name.
|
||||
// quint8 m_LibraryCount;// Number of sub libraries in the library. MSEX 1.2
|
||||
quint8 m_ElementCount;// Number of elements in the library.
|
||||
QList<MediaInformation> m_MediaInformation; // Pointer to the Medias Information List of this Library
|
||||
};
|
||||
|
||||
class olaWorker : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -71,9 +96,9 @@ protected:
|
|||
|
||||
private:
|
||||
|
||||
void NewDmx(unsigned int universe,const DmxBuffer &buffer,const string &error); // Callback from OlaCallbackCLient when there is new dmx info
|
||||
void NewDmx(unsigned int universe,const DmxBuffer &buffer,const std::string &error); // Callback from OlaCallbackCLient when there is new dmx info
|
||||
bool CheckDataLoss();
|
||||
void RegisterComplete(const string &error); // Called after completing the register
|
||||
void RegisterComplete(const std::string &error); // Called after completing the register
|
||||
|
||||
public slots:
|
||||
void dmxConf(int layer, int address, int universe);
|
||||
|
@ -89,7 +114,7 @@ signals:
|
|||
void dmx(int layer, int channel, int value); // Signal when a channel has changed
|
||||
};
|
||||
|
||||
class msex;
|
||||
//class msex;
|
||||
class olaInterface : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
@ -106,7 +131,7 @@ public:
|
|||
|
||||
inline QString getPath () {return m_pathmedia;} // Get the path to the medias folder tree.
|
||||
|
||||
msex *m_msex;
|
||||
//msex *m_msex;
|
||||
QList<MediaLibrary> *m_media; // Library to save the folders/media libraries and index each media file inside
|
||||
// Created here but m_msex acces for reading in this library
|
||||
protected:
|
||||
|
|
18
todo.txt
18
todo.txt
|
@ -1,17 +1,12 @@
|
|||
*******************************************************************************
|
||||
|
||||
Libre Media Server - An Open source Media Server.
|
||||
(c) Santiago Noreña 2012-2013
|
||||
(c) Santiago Noreña 2012-2024 <lms@criptomart.net>
|
||||
https://git.criptomart.net/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
Developing and support: libremediaserver@gmail.com
|
||||
|
||||
Code: http://code.google.com/p/libremediaserver
|
||||
|
||||
*******************************************************************************
|
||||
|
||||
v0.05 video:
|
||||
v0.1.0 video:
|
||||
|
||||
Necesarios:
|
||||
|
||||
|
@ -20,10 +15,13 @@ Necesarios:
|
|||
+ 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)
|
||||
+ Ubuntu 22.04 jammy
|
||||
+ Docs in english
|
||||
|
||||
Opcionales:
|
||||
|
||||
- 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
|
||||
- Incluir archivos pd en el ejecutable como recursos Qt
|
||||
- Añadir opciones en el GUI para cambiar las preferencias
|
||||
- Optimizar CITP/MSEx a la forma QT --> QDataStream
|
||||
|
@ -42,7 +40,7 @@ Quizás:
|
|||
- Scripts: script para formatear archivos de texto
|
||||
- GUI: avisar cuando no se pueda leer un archivo de texto
|
||||
|
||||
v0.05 audio:
|
||||
v0.2.0 audio:
|
||||
|
||||
- Audio: Theremin, sintetizadores.
|
||||
- Audio: Música fractal mediante generadores de fx de las mesas
|
||||
|
|
Loading…
Add table
Reference in a new issue