- New CITP/MSEx menu. Init protocol and make thumbs options

This commit is contained in:
Santi Noreña 2013-02-12 15:07:08 +01:00
parent ef52ae20d8
commit 2d1bbe0e37
12 changed files with 674 additions and 727 deletions

View file

@ -22,7 +22,16 @@ You should have received a copy of the GNU General Public License along with thi
Lbre Media Server ChangeLog
*******************************************************************************
0.01 (8/1/2013) SVN Rev 1:
0.02
+ Open/Save configuration to file.
+ Moved the Change Media Path button to the File menu.
+ New Pure Data external fileselector. Changed the file selection logic from PD to C.
+ New CITP/MSEx menu. Init CITP/MSEx button moved here.
+ New Make Thumbs option in the CITP/MSEx menu. Executes the script to generate the thumbnails from media.
+ Now Pure Data binary in included. Version 0.44-2
0.01 (8/1/2013) Git Rev 1:
+ Audio en un proceso independiente. Reproducción de .oggs
+ Nuevos tipos de Alpha Blending. Nuevo canal DMX en la personalidad de video para el tipo de Alpha.

View file

@ -1,6 +1,6 @@
LibreMediaServer uses free soft from:
LibreMediaServer uses or has modified free software from:
Open Lightin Arquitecture - Copyright © Simon Newton - LPGL License.
Open Lighting Arquitecture - Copyright © Simon Newton - LPGL License.
- ola2pd is a modification of ola_dmxmonitor. GPL License.
GEM - Graphics Environment for Multimedia. GPL License.
@ -10,6 +10,8 @@ GEM - Graphics Environment for Multimedia. GPL License.
- Copyright © 2003-2007 James Tittle II,
- Copyright © 2003-2008 Chris Clepper
pix2jpg is a modification of pix_write. GPL License.
Pure Data - Copyright © Miller Miller Puckette and others - BSD License.
cyclone/coll.pd_linux - Copyright © Miller Miller Puckette and others - BSD License.
cyclone/counter.pd_linux - Copyright © Miller Miller Puckette and others - BSD License.

View file

@ -1,11 +1,11 @@
/* --------------------------------------------------------------------------*/
/* */
/* object for getting files */
/* */
/* Based on folderlist by Hans-Christoph Steiner <hans@eds.org> */
/* */
/* Copyright (c) 2013 Santi Noreña <belfegor@gmail.com> */
/* */
/* object for getting files from a source tree
Copyright (c) 2013 Santi Noreña <belfegor@gmail.com>
Based on folderlist by Hans-Christoph Steiner <hans@eds.org> */
/* 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 */
@ -30,11 +30,6 @@
#include <stdio.h>
#include <string.h>
//static char *version = "$Revision: 0.01 $";
#define DEBUG(x)
/*------------------------------------------------------------------------------
* CLASS DEF
*/
@ -43,10 +38,10 @@ static t_class *fileselector_class;
typedef struct _fileselector {
t_object x_obj;
t_symbol* x_pattern;
int x_folder;
int x_file;
int x_type;
t_outlet *x_out;
int x_folder;
int x_file;
int x_type;
t_outlet *x_out;
} t_fileselector;
/*------------------------------------------------------------------------------
@ -57,105 +52,140 @@ static void fileselector_output(t_fileselector* x)
{
if (strlen(x->x_pattern->s_name) < 6)
{
post("fileselector: Set path first");
return;
}
char path[FILENAME_MAX] = "";
post("fileselector: Set path first");
return;
}
char path[FILENAME_MAX] = "";
glob_t glob_buffer;
unsigned int i;
unsigned int i;
strncpy(path, x->x_pattern->s_name, FILENAME_MAX);
if(sys_isabsolutepath(path)) {
if(x->x_type < 25) // Make the path video
{
return;
}
if((x->x_type > 24) && (x->x_type<50)) // Make the path video
{
strncat(path,"/video/*",8);
glob_t glob_video;
switch(glob(path, GLOB_TILDE, NULL, &glob_video))
{
case GLOB_NOSPACE:
pd_error(x,"[fileselector] out of memory for \"%s\"",path);
break;
# ifdef GLOB_ABORTED
case GLOB_ABORTED:
pd_error(x,"[fileselector] aborted \"%s\"",path);
break;
# endif
# ifdef GLOB_NOMATCH
case GLOB_NOMATCH:
pd_error(x,"[fileselector] nothing found for %s ",path);
break;
# endif
}
i = x->x_folder;
if (i < glob_video.gl_pathc)
{
strncpy(path, glob_video.gl_pathv[i],strnlen(glob_video.gl_pathv[i],FILENAME_MAX));
strncat(path, "/*", 2);
globfree(&glob_video);
}
else
{
post("fileselector: folder is greater than the number of folders");
globfree(&glob_video);
return;
}
}
if((x->x_type > 49) && (x->x_type<75)) // Make the path image
{
strncat(path,"/image/*",8);
}
if((x->x_type > 74) && (x->x_type<100)) // Make the path image
{
strncat(path,"/fonts/*",8);
}
switch(glob(path, GLOB_TILDE, NULL,&glob_buffer))
{
case GLOB_NOSPACE:
pd_error(x,"[fileselector] out of memory for \"%s\"",path);
break;
# ifdef GLOB_ABORTED
case GLOB_ABORTED:
pd_error(x,"[fileselector] aborted \"%s\"",path);
break;
# endif
# ifdef GLOB_NOMATCH
case GLOB_NOMATCH:
pd_error(x,"[fileselector] nothing found for \"%s\"",path);
break;
# endif
}
i = x->x_file;
if (i < glob_buffer.gl_pathc)
{
outlet_symbol(x->x_out, gensym(glob_buffer.gl_pathv[i]));
}
if(x->x_type < 25) // Make the path video
{
return;
}
globfree( &(glob_buffer) );
if((x->x_type > 24) && (x->x_type<50)) // Make the path video
{
strncat(path,"/video/*",8);
glob_t glob_video;
switch(glob(path, GLOB_TILDE, NULL, &glob_video))
{
case GLOB_NOSPACE:
pd_error(x,"[fileselector] out of memory for \"%s\"",path);
break;
# ifdef GLOB_ABORTED
case GLOB_ABORTED:
pd_error(x,"[fileselector] aborted \"%s\"",path);
break;
# endif
# ifdef GLOB_NOMATCH
case GLOB_NOMATCH:
pd_error(x,"[fileselector] nothing found for %s ",path);
break;
# endif
}
i = x->x_folder;
if (i < glob_video.gl_pathc)
{
strncpy(path, glob_video.gl_pathv[i],strnlen(glob_video.gl_pathv[i],FILENAME_MAX));
strncat(path, "/*", 2);
globfree(&glob_video);
}
else
{
post("fileselector: folder is greater than the number of folders");
globfree(&glob_video);
return;
}
}
if((x->x_type > 49) && (x->x_type<75)) // Make the path image
{
strncat(path,"/image/*",8);
}
if((x->x_type > 74) && (x->x_type<100)) // Make the path image
{
strncat(path,"/fonts/*",8);
}
if(x->x_type > 255) // Make the path sound
{
strncat(path,"/sound/*",8);
glob_t glob_audio;
switch(glob(path, GLOB_TILDE, NULL, &glob_audio))
{
case GLOB_NOSPACE:
pd_error(x,"[fileselector] out of memory for \"%s\"",path);
break;
# ifdef GLOB_ABORTED
case GLOB_ABORTED:
pd_error(x,"[fileselector] aborted \"%s\"",path);
break;
# endif
# ifdef GLOB_NOMATCH
case GLOB_NOMATCH:
pd_error(x,"[fileselector] nothing found for %s ",path);
break;
# endif
}
i = x->x_folder;
if (i < glob_audio.gl_pathc)
{
strncpy(path, glob_audio.gl_pathv[i],strnlen(glob_audio.gl_pathv[i],FILENAME_MAX));
strncat(path, "/*", 2);
globfree(&glob_audio);
}
else
{
post("fileselector: folder is greater than the number of folders");
globfree(&glob_audio);
return;
}
}
// Look for the file
switch(glob(path, GLOB_TILDE, NULL,&glob_buffer))
{
case GLOB_NOSPACE:
pd_error(x,"[fileselector] out of memory for \"%s\"",path);
break;
# ifdef GLOB_ABORTED
case GLOB_ABORTED:
pd_error(x,"[fileselector] aborted \"%s\"",path);
break;
# endif
# ifdef GLOB_NOMATCH
case GLOB_NOMATCH:
pd_error(x,"[fileselector] nothing found for \"%s\"",path);
break;
# endif
}
i = x->x_file;
if (i < glob_buffer.gl_pathc)
{
outlet_symbol(x->x_out, gensym(glob_buffer.gl_pathv[i]));
}
}
globfree( &(glob_buffer) );
}
static void fileselector_set(t_fileselector* x, t_symbol *s)
{
x->x_pattern = s;
x->x_pattern = s;
}
static void fileselector_folder(t_fileselector* x, t_floatarg f)
{
x->x_folder = f;
return;
x->x_folder = f;
return;
}
static void fileselector_file(t_fileselector* x, t_floatarg f)
{
x->x_file = f;
x->x_file = f;
return;
}
static void fileselector_type(t_fileselector* x, t_floatarg f)
{
x->x_type = f;
x->x_type = f;
return;
}
@ -181,8 +211,8 @@ void fileselector_setup(void)
// add inlet folder
class_addmethod(fileselector_class,(t_method)fileselector_folder,gensym("folder"),A_FLOAT, 0);
// add inlet file
class_addmethod(fileselector_class,(t_method)fileselector_file,gensym("file"),A_FLOAT, 0);
class_addmethod(fileselector_class,(t_method)fileselector_file,gensym("file"),A_FLOAT, 0);
// add inlet type
class_addmethod(fileselector_class,(t_method)fileselector_type,gensym("type"),A_FLOAT, 0);
class_addmethod(fileselector_class,(t_method)fileselector_type,gensym("type"),A_FLOAT, 0);
}

View file

@ -1,69 +1,69 @@
#N canvas 1 85 1438 789 10;
#X obj 214 138 unpack f f f f f f f f f f f f f f f f f f f f f f f
#N canvas 1 90 1351 649 10;
#X obj 214 -2 unpack f f f f f f f f f f f f f f f f f f f f f f f
f f f f f f f f f;
#X obj 156 412 change;
#X obj 204 411 change;
#X obj 282 327 change;
#X obj 336 328 change;
#X obj 390 327 change;
#X obj 442 327 change;
#X obj 496 328 change;
#X obj 282 424 change;
#X obj 337 423 change;
#X obj 391 423 change;
#X obj 445 424 change;
#X obj 498 423 change;
#X obj 567 329 change;
#X obj 646 330 change;
#X obj 698 331 change;
#X obj 760 334 change;
#X obj 813 334 change;
#X obj 580 412 change;
#X obj 114 243 change;
#X obj 163 243 change;
#X obj 211 242 change;
#X obj 16 412 change;
#X obj 62 412 change;
#X obj 107 412 change;
#X obj 214 116 list split 32;
#X obj 391 468 << 8;
#X obj 391 510 +;
#X obj 445 468 << 8;
#X obj 445 510 +;
#X obj 214 93 inlet;
#X obj 16 264 s \$0-c1;
#X obj 71 266 s \$0-c2;
#X obj 116 266 s \$0-c3;
#X obj 165 266 s \$0-c4;
#X obj 213 265 s \$0-c5;
#X obj 16 435 s \$0-c6;
#X obj 62 434 s \$0-c7;
#X obj 107 435 s \$0-c8;
#X obj 156 434 s \$0-c9;
#X obj 204 435 s \$0-c10;
#X obj 282 348 s \$0-c11;
#X obj 336 349 s \$0-c12;
#X obj 390 348 s \$0-c13;
#X obj 442 348 s \$0-c14;
#X obj 496 349 s \$0-c15;
#X obj 282 445 s \$0-c16;
#X obj 337 444 s \$0-c17;
#X obj 391 552 s \$0-c18;
#X obj 445 552 s \$0-c19;
#X obj 580 435 s \$0-c26;
#X obj 637 434 s \$0-c27;
#X obj 689 434 s \$0-c28;
#X obj 744 435 s \$0-c29;
#X obj 801 436 s \$0-c30;
#X obj 798 286 s \$0-c31;
#X obj 856 287 s \$0-c32;
#X obj 921 288 s \$0-c33;
#X obj 976 288 s \$0-c34;
#X obj 1034 289 s \$0-c35;
#X obj 1090 290 s \$0-c36;
#X obj 1148 291 s \$0-c37;
#X obj 760 354 s \$0-c24;
#X obj 813 355 s \$0-c25;
#X obj 156 272 change;
#X obj 204 271 change;
#X obj 282 187 change;
#X obj 336 188 change;
#X obj 390 187 change;
#X obj 442 187 change;
#X obj 496 188 change;
#X obj 282 284 change;
#X obj 337 283 change;
#X obj 391 283 change;
#X obj 445 284 change;
#X obj 498 283 change;
#X obj 567 189 change;
#X obj 646 190 change;
#X obj 698 191 change;
#X obj 760 194 change;
#X obj 813 194 change;
#X obj 580 272 change;
#X obj 114 103 change;
#X obj 163 103 change;
#X obj 211 102 change;
#X obj 16 272 change;
#X obj 62 272 change;
#X obj 107 272 change;
#X obj 214 -24 list split 32;
#X obj 391 328 << 8;
#X obj 391 370 +;
#X obj 445 328 << 8;
#X obj 445 370 +;
#X obj 214 -47 inlet;
#X obj -12 124 s \$0-c1;
#X obj 51 126 s \$0-c2;
#X obj 116 126 s \$0-c3;
#X obj 165 126 s \$0-c4;
#X obj 213 125 s \$0-c5;
#X obj 16 295 s \$0-c6;
#X obj 62 294 s \$0-c7;
#X obj 107 295 s \$0-c8;
#X obj 156 294 s \$0-c9;
#X obj 204 295 s \$0-c10;
#X obj 282 208 s \$0-c11;
#X obj 336 209 s \$0-c12;
#X obj 390 208 s \$0-c13;
#X obj 442 208 s \$0-c14;
#X obj 496 209 s \$0-c15;
#X obj 282 305 s \$0-c16;
#X obj 337 304 s \$0-c17;
#X obj 391 412 s \$0-c18;
#X obj 445 412 s \$0-c19;
#X obj 580 295 s \$0-c26;
#X obj 637 294 s \$0-c27;
#X obj 689 294 s \$0-c28;
#X obj 744 295 s \$0-c29;
#X obj 801 296 s \$0-c30;
#X obj 798 146 s \$0-c31;
#X obj 856 147 s \$0-c32;
#X obj 921 148 s \$0-c33;
#X obj 976 148 s \$0-c34;
#X obj 1034 149 s \$0-c35;
#X obj 1090 150 s \$0-c36;
#X obj 1148 151 s \$0-c37;
#X obj 760 214 s \$0-c24;
#X obj 813 215 s \$0-c25;
#N canvas 608 225 492 333 selector 0;
#X obj 102 161 outlet;
#X obj 335 157 outlet;
@ -112,7 +112,7 @@ f f f f f f f f f;
#X connect 20 0 16 0;
#X connect 20 0 21 0;
#X connect 21 0 16 0;
#X restore 621 -87 pd selector;
#X restore 621 -227 pd selector;
#N canvas 1 112 300 418 imagen 0;
#X obj 100 321 pix_image;
#X msg 4 240 open \$1;
@ -140,7 +140,7 @@ f f f f f f f f f;
#X connect 9 0 0 0;
#X connect 10 0 9 0;
#X connect 11 0 0 0;
#X restore 514 41 pd imagen;
#X restore 514 -99 pd imagen;
#N canvas 1 85 1438 789 video 0;
#X msg -9 224 open \$1;
#X obj 116 224 gemhead;
@ -480,7 +480,7 @@ f f f f f f f f f;
#X connect 138 0 137 0;
#X connect 141 0 8 0;
#X connect 142 0 138 0;
#X restore 639 42 pd video;
#X restore 639 -98 pd video;
#N canvas 620 161 653 615 video_render 0;
#X obj 232 95 inlet;
#X text 336 319 Green;
@ -948,7 +948,7 @@ f f f f f f f f f;
#X floatatom 255 324 3 -1 2 0 - - -;
#X floatatom 278 324 3 -1 2 0 - - -;
#X floatatom 301 324 3 -1 2 0 - - -;
#N canvas 0 0 450 469 pack 0;
#N canvas 0 50 450 469 pack 0;
#X obj 69 169 pack 0 0 0 0 0 0 0 0 0;
#X obj 69 139 t b f;
#X obj 106 139 t b f;
@ -1749,7 +1749,7 @@ f f f f f f f f f;
#X connect 110 0 107 0;
#X connect 111 0 108 0;
#X connect 113 0 102 0;
#X restore 579 75 pd video_render;
#X restore 579 -65 pd video_render;
#N canvas 361 96 951 665 texto 0;
#X obj 421 -381 gemhead;
#X msg 252 -31 font \$1;
@ -1866,42 +1866,42 @@ f f f f f f f f f;
#X connect 58 0 52 0;
#X connect 59 0 60 0;
#X connect 60 0 3 0;
#X restore 742 43 pd texto;
#X obj 450 490 t b;
#X obj 397 489 t b;
#X obj 1135 189 list split 8;
#X obj 1135 213 s \$0-fx1;
#X obj 646 352 s \$0-c22;
#X obj 698 353 s \$0-c23;
#X obj 980 134 list split 5;
#X obj 980 186 unpack f f f f f;
#X obj 423 19 outlet;
#X obj 1234 250 unpack f f f f;
#X obj 1234 272 s \$0-c46;
#X obj 1234 228 list split 4;
#X obj 579 105 outlet;
#X obj 854 -94 inlet;
#X obj 565 4 spigot;
#X obj 684 0 spigot;
#X obj 788 2 spigot;
#X obj 854 -28 select 0;
#X msg 854 10 0;
#X obj 684 -54 float;
#X obj 899 -3 b;
#X obj 16 243 change 2;
#X obj 71 244 change 2;
#X obj 637 412 change 2;
#X obj 692 412 change 2;
#X obj 744 415 change 2;
#X obj 801 414 change 2;
#X obj 798 264 change 2;
#X obj 856 266 change 2;
#X obj 921 267 change 2;
#X obj 976 267 change 2;
#X obj 1034 266 change 2;
#X obj 1090 267 change 2;
#X obj 1148 268 change 2;
#X text 18 -92 (c) 2012 Santiago Noreña libremediaserver@gmail.com
#X restore 742 -97 pd texto;
#X obj 450 350 t b;
#X obj 397 349 t b;
#X obj 1135 49 list split 8;
#X obj 1135 73 s \$0-fx1;
#X obj 646 212 s \$0-c22;
#X obj 698 213 s \$0-c23;
#X obj 980 -6 list split 5;
#X obj 980 46 unpack f f f f f;
#X obj 423 -121 outlet;
#X obj 1234 110 unpack f f f f;
#X obj 1234 132 s \$0-c46;
#X obj 1234 88 list split 4;
#X obj 579 -35 outlet;
#X obj 854 -234 inlet;
#X obj 565 -136 spigot;
#X obj 684 -140 spigot;
#X obj 788 -138 spigot;
#X obj 854 -168 select 0;
#X msg 854 -130 0;
#X obj 684 -194 float;
#X obj 899 -143 b;
#X obj -12 103 change 2;
#X obj 51 104 change 2;
#X obj 637 272 change 2;
#X obj 692 272 change 2;
#X obj 744 275 change 2;
#X obj 801 274 change 2;
#X obj 798 124 change 2;
#X obj 856 126 change 2;
#X obj 921 127 change 2;
#X obj 976 127 change 2;
#X obj 1034 126 change 2;
#X obj 1090 127 change 2;
#X obj 1148 128 change 2;
#X text 18 -232 (c) 2012 Santiago Noreña libremediaserver@gmail.com
GPL License;
#X connect 0 0 90 0;
#X connect 0 1 91 0;
@ -2018,4 +2018,4 @@ GPL License;
#X connect 100 0 59 0;
#X connect 101 0 60 0;
#X connect 102 0 61 0;
#X coords 0 789 1 788 50 30 0;
#X coords 0 649 1 648 50 30 0;

View file

@ -1,17 +1,12 @@
#N canvas 335 134 904 417 10;
#N canvas 393 95 477 527 audio_player 0;
#N canvas 352 90 904 417 10;
#N canvas 391 105 477 527 audio_player 0;
#X msg 22 107 open \$1;
#X msg 203 167 start;
#X msg 242 168 stop;
#X obj 119 214 oggread~;
#X msg 274 168 resume;
#X obj 22 9 inlet;
#X obj 117 9 inlet;
#X obj 22 85 spigot;
#X msg 117 50 1;
#X msg 162 51 0;
#X obj 219 105 / 25;
#X obj 219 85 spigot;
#X obj 219 125 int;
#X obj 219 10 r \$0-c5;
#X obj 100 265 *~ 0;
@ -24,7 +19,6 @@
#X text 361 123 Volumen;
#X text 224 284 Pan;
#X obj 212 340 * 0.00392157;
#X obj 117 30 select 1;
#X obj 219 145 select 0 1 2;
#X msg 119 175 seek \$1;
#X obj 119 110 r \$0-c8;
@ -41,47 +35,38 @@
#X connect 0 0 3 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 14 0;
#X connect 3 1 15 0;
#X connect 3 2 30 0;
#X connect 3 0 9 0;
#X connect 3 1 10 0;
#X connect 3 2 24 0;
#X connect 4 0 3 0;
#X connect 5 0 7 0;
#X connect 6 0 24 0;
#X connect 7 0 0 0;
#X connect 8 0 7 1;
#X connect 8 0 11 1;
#X connect 9 0 7 1;
#X connect 9 0 11 1;
#X connect 10 0 12 0;
#X connect 11 0 10 0;
#X connect 12 0 25 0;
#X connect 13 0 11 0;
#X connect 14 0 37 0;
#X connect 15 0 36 0;
#X connect 16 0 15 1;
#X connect 17 0 14 1;
#X connect 19 0 28 0;
#X connect 20 0 23 0;
#X connect 23 0 31 0;
#X connect 23 0 33 0;
#X connect 24 0 8 0;
#X connect 24 1 9 0;
#X connect 25 0 1 0;
#X connect 25 1 2 0;
#X connect 25 2 4 0;
#X connect 26 0 3 0;
#X connect 27 0 29 0;
#X connect 28 0 17 0;
#X connect 28 0 16 0;
#X connect 29 0 26 0;
#X connect 29 0 30 0;
#X connect 31 0 35 0;
#X connect 32 0 36 1;
#X connect 33 0 32 0;
#X connect 34 0 37 1;
#X connect 35 0 34 0;
#X connect 36 0 18 1;
#X connect 37 0 18 0;
#X connect 5 0 0 0;
#X connect 6 0 7 0;
#X connect 7 0 19 0;
#X connect 8 0 6 0;
#X connect 9 0 31 0;
#X connect 10 0 30 0;
#X connect 11 0 10 1;
#X connect 12 0 9 1;
#X connect 14 0 22 0;
#X connect 15 0 18 0;
#X connect 18 0 25 0;
#X connect 18 0 27 0;
#X connect 19 0 1 0;
#X connect 19 1 2 0;
#X connect 19 2 4 0;
#X connect 20 0 3 0;
#X connect 21 0 23 0;
#X connect 22 0 12 0;
#X connect 22 0 11 0;
#X connect 23 0 20 0;
#X connect 23 0 24 0;
#X connect 25 0 29 0;
#X connect 26 0 30 1;
#X connect 27 0 26 0;
#X connect 28 0 31 1;
#X connect 29 0 28 0;
#X connect 30 0 13 1;
#X connect 31 0 13 0;
#X restore 37 -282 pd audio_player;
#X obj 437 -92 change;
#X obj 490 -92 change;
@ -114,136 +99,32 @@
#X obj 708 -67 s \$0-c14;
#X obj 763 -67 s \$0-c15;
#X obj 825 -67 s \$0-c16;
#N canvas 1 104 1366 680 selector 0;
#X obj 669 -356 loadbang;
#X obj 221 455 outlet;
#X obj 591 -142 outlet;
#X obj 559 -423 / 25;
#X obj 280 -218 spigot;
#X msg 375 -295 1;
#X msg 413 -295 0;
#X msg 522 -268 1;
#X msg 562 -268 2;
#X msg 598 -268 3;
#X msg 632 -268 4;
#X obj 559 -353 select 1 2 3 4;
#X msg 666 -268 0;
#X msg 252 142 symbol \$1;
#X text 280 -296 folder;
#X obj 559 -383 int;
#X obj 332 -198 symbol;
#X obj 341 301 t l;
#X obj 253 413 list split 1;
#X obj 222 394 list split;
#X obj 252 166 t b a;
#X obj 330 217 symbol;
#X obj 216 195 t b b;
#X obj 252 222 t b b;
#X obj 222 354 list;
#X obj 252 302 list prepend;
#X obj 384 167 b;
#X msg 332 -130 symbol \$1;
#X obj 202 -124 b;
#X obj 361 -34 t l;
#X obj 224 -3 list;
#X obj 245 -37 list prepend;
#X obj 224 37 list split;
#X obj 252 62 list split 1;
#X obj 252 102 makefilename %s/*;
#X obj 81 307 int;
#X obj 118 302 + 1;
#X msg 20 267 0;
#X msg 115 224 0;
#X msg 149 224 1;
#X obj 81 267 metro 100;
#X obj 189 408 b;
#X obj 221 434 symbol;
#X obj 81 361 select 1;
#X obj 332 -158 makefilename %s/sound/*;
#X obj 280 -258 r \$0-c3;
#X obj 498 100 r \$0-c4;
#X text 531 -95 Tipo de media: 0 Off 1 Playback;
#X obj 559 -463 r \$0-c6;
#X obj 332 -238 r path;
#X obj 245 -77 folder_list;
#X obj 252 262 folder_list;
#X symbolatom 657 55 80 0 0 0 - - -;
#X symbolatom 676 308 80 0 0 0 - - -;
#X connect 0 0 12 0;
#X connect 3 0 15 0;
#X connect 4 0 32 1;
#X connect 4 0 28 0;
#X connect 5 0 4 1;
#X connect 6 0 4 1;
#X connect 7 0 2 0;
#X connect 8 0 2 0;
#X connect 9 0 2 0;
#X connect 10 0 2 0;
#X connect 11 0 7 0;
#X connect 11 0 5 0;
#X connect 11 0 16 0;
#X connect 11 1 8 0;
#X connect 11 1 6 0;
#X connect 11 2 9 0;
#X connect 11 2 6 0;
#X connect 11 3 6 0;
#X connect 11 3 10 0;
#X connect 11 4 6 0;
#X connect 11 4 12 0;
#X connect 12 0 2 0;
#X connect 13 0 20 0;
#X connect 15 0 11 0;
#X connect 16 0 44 0;
#X connect 17 0 25 1;
#X connect 18 0 42 1;
#X connect 19 1 18 0;
#X connect 20 0 22 0;
#X connect 20 0 39 0;
#X connect 20 1 21 0;
#X connect 21 0 51 1;
#X connect 22 0 24 0;
#X connect 22 1 23 0;
#X connect 23 0 51 0;
#X connect 23 1 25 1;
#X connect 24 0 19 0;
#X connect 25 0 17 0;
#X connect 25 0 24 1;
#X connect 26 0 24 0;
#X connect 26 0 39 0;
#X connect 27 0 28 0;
#X connect 27 0 50 1;
#X connect 28 0 31 1;
#X connect 28 0 30 0;
#X connect 28 0 50 0;
#X connect 29 0 31 1;
#X connect 30 0 32 0;
#X connect 31 0 29 0;
#X connect 31 0 30 1;
#X connect 32 1 33 0;
#X connect 33 0 34 0;
#X connect 33 0 52 0;
#X connect 34 0 13 0;
#X connect 35 0 36 0;
#X connect 35 0 43 0;
#X connect 36 0 35 1;
#X connect 37 0 35 1;
#X connect 38 0 40 0;
#X connect 39 0 40 0;
#X connect 40 0 35 0;
#X connect 41 0 42 0;
#X connect 42 0 1 0;
#X connect 42 0 53 0;
#X connect 43 0 38 0;
#X connect 43 0 37 0;
#X connect 43 0 41 0;
#X connect 44 0 27 0;
#X connect 45 0 4 0;
#X connect 46 0 19 1;
#X connect 46 0 26 0;
#X connect 48 0 3 0;
#X connect 49 0 16 0;
#X connect 50 0 31 0;
#X connect 51 0 25 0;
#N canvas 122 209 412 197 selector 0;
#X obj 193 -66 outlet;
#X text 99 -210 folder;
#X obj 95 -193 r \$0-c3;
#X obj 175 -193 r \$0-c4;
#X obj 340 -194 r path;
#X text 186 -209 File;
#X obj 193 -99 fileselector;
#X msg 95 -160 folder \$1;
#X msg 175 -159 file \$1;
#X msg 250 -160 type 256;
#X msg 340 -158 set \$1;
#X obj 250 -192 loadbang;
#X obj 95 -132 b;
#X connect 2 0 7 0;
#X connect 3 0 8 0;
#X connect 4 0 10 0;
#X connect 6 0 0 0;
#X connect 7 0 6 0;
#X connect 7 0 12 0;
#X connect 8 0 6 0;
#X connect 8 0 12 0;
#X connect 9 0 6 0;
#X connect 10 0 6 0;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X restore 37 -342 pd selector;
#X obj 184 -277 list split 16;
#X obj 184 -252 unpack f f f f f f f f f f f f f f f f;
@ -256,6 +137,8 @@
#X text 184 -336 c1 Vol c2 pan c3 folder c4 file c5 playback c6 Control
c7 Volumen fino 8 Entry point Coarse 9 Entry point fine;
#X obj 5 -199 outlet;
#X floatatom 66 -167 5 0 0 0 - - -;
#X symbolatom 189 -176 80 0 0 0 - - -;
#X connect 1 0 40 0;
#X connect 2 0 25 0;
#X connect 3 0 26 0;
@ -275,9 +158,10 @@ c7 Volumen fino 8 Entry point Coarse 9 Entry point fine;
#X connect 17 0 33 0;
#X connect 32 0 0 0;
#X connect 32 0 42 0;
#X connect 32 1 0 1;
#X connect 32 0 44 0;
#X connect 33 0 34 0;
#X connect 34 0 9 0;
#X connect 34 0 43 0;
#X connect 34 1 10 0;
#X connect 34 2 11 0;
#X connect 34 3 12 0;

View file

@ -1,4 +1,4 @@
#N canvas 543 390 611 318 10;
#N canvas 539 410 611 318 10;
#N canvas 315 169 952 599 dmx 0;
#X obj -7 437 list split;
#X obj 99 444 list split;
@ -313,293 +313,319 @@
#X connect 40 0 35 0;
#X connect 41 0 34 0;
#X restore -175 -438 pd window;
#N canvas 621 159 450 300 layer_5 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -177 -80 r layer5;
#X obj -253 -81 r dmx5;
#X msg -253 10 5 \$1;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X msg -421 17 layerimage 15;
#X obj -50 -57 delay 400;
#X obj -43 122 s preview;
#X obj -253 -28 layer;
#X connect 0 0 7 1;
#X connect 1 0 7 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#N canvas 617 179 450 300 layer_5 0;
#X obj -338 -28 layer;
#X msg -209 -32 1;
#X msg -262 -33 0;
#X obj -262 -55 select 0;
#X obj -254 4 spigot;
#X obj -254 34 spigot;
#X msg -196 34 0;
#X msg -192 3 1;
#X obj -254 56 t b;
#X obj -338 32 s textgui;
#X obj -114 148 s preview;
#X obj -346 81 spigot;
#X obj -338 -81 r dmx5;
#X obj -262 -80 r layer5;
#X msg -338 10 5 \$1;
#X msg -346 103 layerimage 15;
#X obj -191 -107 delay 500;
#X obj -191 -128 r metro;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 0 16 1;
#X connect 4 0 16 0;
#X connect 5 0 6 0;
#X connect 7 0 9 0;
#X connect 8 0 14 0;
#X connect 9 0 12 0;
#X connect 9 0 15 0;
#X connect 10 0 9 1;
#X connect 11 0 9 1;
#X connect 12 0 10 0;
#X connect 13 0 15 0;
#X connect 14 0 11 0;
#X connect 14 0 13 0;
#X connect 14 0 15 0;
#X connect 16 0 5 0;
#X connect 16 1 7 0;
#X restore -176 -379 pd layer_5;
#X obj -298 -336 loadbang;
#X obj -407 -259 print togui;
#N canvas 1 101 450 300 layer_6 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X msg -421 17 layerimage 16;
#X obj -253 -81 r dmx6;
#X obj -177 -80 r layer6;
#X msg -253 10 6 \$1;
#X obj -48 -38 delay 500;
#X obj -44 132 s preview;
#X obj -253 -28 layer;
#X connect 0 0 4 1;
#X connect 1 0 4 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 9 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 10 0 15 0;
#X connect 11 0 16 0;
#X connect 12 0 2 0;
#X connect 12 0 16 1;
#X connect 13 0 3 0;
#X connect 14 0 8 0;
#X connect 14 0 10 0;
#X connect 14 0 15 0;
#X connect 16 0 13 0;
#X connect 16 1 4 0;
#X restore -102 -379 pd layer_6;
#N canvas 1 101 450 300 layer_7 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X msg -421 17 layerimage 17;
#X msg -253 10 7 \$1;
#X obj -253 -81 r dmx7;
#X obj -177 -80 r layer7;
#X obj -54 -37 delay 600;
#X obj -46 119 s preview;
#X obj -253 -28 layer;
#X connect 0 0 4 1;
#X connect 1 0 4 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 9 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 10 0 15 0;
#X connect 11 0 3 0;
#X connect 12 0 16 0;
#X connect 13 0 2 0;
#X connect 13 0 16 1;
#X connect 14 0 8 0;
#X connect 14 0 10 0;
#X connect 14 0 15 0;
#X connect 16 0 11 0;
#X connect 16 1 4 0;
#X restore -28 -379 pd layer_7;
#N canvas 1 117 450 300 layer_8 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 -81 r dmx8;
#X obj -177 -80 r layer8;
#X msg -253 10 8 \$1;
#X msg -421 17 layerimage 18;
#X obj -57 -58 delay 700;
#X obj -78 108 s preview;
#X obj -253 -28 layer;
#X connect 0 0 4 1;
#X connect 1 0 4 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 9 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 10 0 16 0;
#X connect 11 0 2 0;
#X connect 11 0 16 1;
#X connect 12 0 3 0;
#X connect 13 0 15 0;
#X connect 14 0 8 0;
#X connect 14 0 13 0;
#X connect 14 0 15 0;
#X connect 16 0 12 0;
#X connect 16 1 4 0;
#X restore 46 -379 pd layer_8;
#N canvas 1 133 450 300 layer_4 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 -81 r dmx4;
#X obj -253 32 print togui;
#X msg -253 10 4 \$1;
#X msg -421 17 layerimage 14;
#X obj -53 -70 delay 300;
#X obj -177 -80 r layer4;
#X obj -39 147 s preview;
#X obj -253 -28 layer;
#X connect 0 0 3 1;
#X connect 1 0 3 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 3 0 5 0;
#X connect 4 0 13 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 15 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 9 0 16 0;
#X connect 11 0 10 0;
#X connect 12 0 15 0;
#X connect 13 0 7 0;
#X connect 13 0 12 0;
#X connect 13 0 15 0;
#X connect 14 0 2 0;
#X connect 14 0 16 1;
#X connect 16 0 11 0;
#X connect 16 1 3 0;
#X restore -250 -379 pd layer_4;
#N canvas 1 101 450 300 layer_3 0;
#X msg -132 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X msg -295 86 layerimage 13;
#X obj -253 -81 r dmx3;
#X obj -177 -80 r layer3;
#X msg -253 10 3 \$1;
#X obj -51 -30 delay 200;
#X obj -82 141 s preview;
#X obj -253 -28 layer;
#X connect 0 0 4 1;
#X connect 1 0 4 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 9 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 10 0 15 0;
#X connect 11 0 16 0;
#X connect 12 0 2 0;
#X connect 12 0 16 1;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 0 0;
#X connect 13 0 3 0;
#X connect 14 0 8 0;
#X connect 14 0 10 0;
#X connect 14 0 15 0;
#X connect 16 0 13 0;
#X connect 16 1 4 0;
#X restore -323 -379 pd layer_3;
#N canvas 1 101 450 300 layer_2 0;
#X msg -132 -32 1;
#X connect 13 0 0 1;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 16 0;
#X restore -176 -379 pd layer_5;
#X obj -298 -336 loadbang;
#X obj -407 -259 print togui;
#N canvas 1 121 450 300 layer_6 0;
#X obj -253 -28 layer;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -253 32 print togui;
#X obj -169 4 spigot;
#X obj -106 -124 r metro;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X msg -421 17 layerimage 12;
#X msg -253 10 2 \$1;
#X obj -253 -81 r dmx2;
#X obj -177 -80 r layer2;
#X obj -106 -96 delay 100;
#X obj -211 67 t b;
#X obj -93 156 s preview;
#X obj -253 -28 layer;
#X connect 0 0 4 1;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -253 -81 r dmx6;
#X obj -177 -80 r layer6;
#X msg -253 10 6 \$1;
#X msg -261 103 layerimage 16;
#X obj -106 -120 r metro;
#X obj -106 -97 delay 600;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 2 0 1 0;
#X connect 2 1 0 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 9 0;
#X connect 6 0 16 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 10 0 15 0;
#X connect 10 0 16 0;
#X connect 11 0 3 0;
#X connect 12 0 17 0;
#X connect 13 0 2 0;
#X connect 13 0 17 1;
#X connect 14 0 8 0;
#X connect 14 0 10 0;
#X connect 15 0 16 0;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 0 0;
#X connect 13 0 3 0;
#X connect 13 0 0 1;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 17 0;
#X connect 17 0 11 0;
#X connect 17 1 4 0;
#X restore -396 -379 pd layer_2;
#N canvas 1 181 450 300 layer_1 0;
#X connect 17 0 7 0;
#X restore -102 -379 pd layer_6;
#N canvas 436 262 450 300 layer_7 0;
#X obj -253 -28 layer;
#X msg -132 -32 1;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -253 -81 r dmx7;
#X obj -177 -80 r layer7;
#X msg -253 10 7 \$1;
#X msg -261 103 layerimage 17;
#X obj -106 -97 delay 700;
#X obj -106 -120 r metro;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 0 0;
#X connect 13 0 3 0;
#X connect 13 0 0 1;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 16 0;
#X restore -28 -379 pd layer_7;
#N canvas 901 259 450 300 layer_8 0;
#X obj -253 -37 layer;
#X msg -124 -41 1;
#X msg -177 -42 0;
#X obj -177 -64 select 0;
#X obj -169 -5 spigot;
#X obj -169 25 spigot;
#X msg -84 11 0;
#X msg -84 -12 1;
#X obj -169 47 t b;
#X obj -253 23 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -253 -90 r dmx8;
#X msg -261 103 layerimage 18;
#X msg -253 1 8 \$1;
#X obj -84 -81 delay 800;
#X obj -84 -112 r metro;
#X obj -177 -89 r layer8;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 13 0;
#X connect 12 0 0 0;
#X connect 13 0 10 0;
#X connect 14 0 9 0;
#X connect 15 0 7 0;
#X connect 15 0 11 0;
#X connect 16 0 15 0;
#X connect 17 0 3 0;
#X connect 17 0 0 1;
#X restore 46 -379 pd layer_8;
#N canvas 1 153 450 300 layer_4 0;
#X obj -253 -28 layer;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -253 -81 r dmx4;
#X obj -177 -80 r layer4;
#X msg -253 10 4 \$1;
#X msg -261 103 layerimage 14;
#X obj -106 -88 delay 400;
#X obj -106 -116 r metro;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 0 0;
#X connect 13 0 3 0;
#X connect 13 0 0 1;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 16 0;
#X restore -250 -379 pd layer_4;
#N canvas 661 163 450 300 layer_3 0;
#X obj -253 -28 layer;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -177 -80 r layer3;
#X obj -253 -81 r dmx3;
#X msg -253 10 3 \$1;
#X msg -261 103 layerimage 13;
#X obj -106 -95 delay 300;
#X obj -107 -119 r metro;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 3 0;
#X connect 12 0 0 1;
#X connect 13 0 0 0;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 16 0;
#X restore -323 -379 pd layer_3;
#N canvas 620 141 450 300 layer_2 0;
#X obj -253 -28 layer;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
#X obj -169 34 spigot;
#X msg -111 34 0;
#X msg -107 3 1;
#X obj -169 56 t b;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X obj -177 -80 r layer2;
#X obj -253 -81 r dmx2;
#X msg -253 10 2 \$1;
#X msg -261 103 layerimage 12;
#X obj -106 -86 delay 200;
#X obj -108 -114 r metro;
#X connect 0 0 14 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 11 1;
#X connect 2 0 4 1;
#X connect 2 0 11 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 5 0;
#X connect 5 0 8 0;
#X connect 5 0 10 0;
#X connect 6 0 5 1;
#X connect 7 0 5 1;
#X connect 8 0 6 0;
#X connect 8 0 10 0;
#X connect 11 0 15 0;
#X connect 12 0 3 0;
#X connect 12 0 0 1;
#X connect 13 0 0 0;
#X connect 14 0 9 0;
#X connect 15 0 10 0;
#X connect 16 0 7 0;
#X connect 16 0 11 0;
#X connect 17 0 16 0;
#X restore -396 -379 pd layer_2;
#N canvas 1 211 450 300 layer_1 0;
#X obj -253 -28 layer;
#X msg -124 -32 1;
#X msg -177 -33 0;
#X obj -177 -55 select 0;
#X obj -169 4 spigot;
@ -611,29 +637,33 @@
#X obj -253 -81 r dmx1;
#X obj -177 -80 r layer1;
#X msg -253 10 1 \$1;
#X msg -258 69 layerimage 11;
#X msg -261 103 layerimage 11;
#X obj -253 32 s textgui;
#X obj -29 148 s preview;
#X obj -261 81 spigot;
#X connect 0 0 12 0;
#X connect 0 1 4 0;
#X connect 1 0 4 1;
#X connect 1 0 16 1;
#X connect 2 0 4 1;
#X connect 2 0 16 1;
#X connect 3 0 2 0;
#X connect 3 1 1 0;
#X connect 4 0 6 0;
#X connect 5 0 8 0;
#X connect 5 0 13 0;
#X connect 5 0 15 0;
#X connect 5 0 16 0;
#X connect 6 0 9 0;
#X connect 6 0 15 0;
#X connect 7 0 6 1;
#X connect 8 0 6 1;
#X connect 9 0 7 0;
#X connect 9 0 15 0;
#X connect 10 0 0 0;
#X connect 11 0 3 0;
#X connect 11 0 0 1;
#X connect 12 0 14 0;
#X connect 13 0 15 0;
#X connect 16 0 13 0;
#X restore -469 -379 pd layer_1;
#X obj -298 -271 metro 1000;
#X obj -298 -237 s metro;

Binary file not shown.

View file

@ -3,10 +3,11 @@
# Script que genera thumbnails de todas las películas en el directorio Media
# Copyright Santi Noreña 2012-2013
# GPL License
cd $0 ||{
echo "Can not change to directory." $0
cd $1 ||{
echo "Can not change to directory." $1
exit $E_XCD;
}
cd video
for folder in $(find -maxdepth 1 -type d); do
rm $folder/thumbs/*
mkdir $folder/thumbs

View file

@ -29,20 +29,15 @@ THE SOFTWARE.
#include "citp-lib.h"
#include "CITPDefines.h"
#include "PacketCreator.h"
//#include "MediaServer.h"
#include <QTimer>
#include <QtDebug>
#include <QNetworkInterface>
#ifdef Q_OS_WIN
#include <winsock2.h>
#include <ws2tcpip.h>
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#endif
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
PeerInformationSocket::PeerInformationSocket(QObject *parent)
: QUdpSocket(parent),
@ -105,8 +100,7 @@ bool PeerInformationSocket::init(const QString &name, const QString &state, quin
// transmitPLoc();
// XXX - don't connect this more than once..
connect(this, SIGNAL(readyRead()),
this, SLOT(handleReadReady()));
// connect(this, SIGNAL(readyRead()),this, SLOT(handleReadReady()));
if (m_timer)
{
@ -124,7 +118,7 @@ void PeerInformationSocket::transmitPLoc()
writeDatagram((const char*)m_packetBuffer, m_packetBufferLen, addr, CITP_PINF_MULTICAST_PORT);
}
}
/*
void PeerInformationSocket::handleReadReady()
{
while (hasPendingDatagrams())
@ -152,7 +146,7 @@ void PeerInformationSocket::processPacket(const QHostAddress &address, const QBy
qDebug() << "No CITP";
return;
}
/*
if (packet->CITPPINFHeader.CITPHeader.VersionMajor != 0x01)
{
qDebug() << "Invalid VersionMajor value:" << packet->CITPPINFHeader.CITPHeader.VersionMajor;
@ -164,7 +158,7 @@ void PeerInformationSocket::processPacket(const QHostAddress &address, const QBy
qDebug() << "Invalid VersionMinor value:" << packet->CITPPINFHeader.CITPHeader.VersionMinor;
return;
}
*/
if (packet->CITPPINFHeader.CITPHeader.ContentType != COOKIE_PINF)
{
qDebug() << "NO PINF";
@ -180,3 +174,4 @@ void PeerInformationSocket::processPacket(const QHostAddress &address, const QBy
// PLoc data
// quint16 listeningPort = packet->ListeningTCPPort;
}
*/

View file

@ -33,7 +33,6 @@ THE SOFTWARE.
#include <QUdpSocket>
class QTimer;
//class MediaServer;
struct PeerDescripton;
@ -49,7 +48,7 @@ public:
private slots:
void transmitPLoc();
void handleReadReady();
// void handleReadReady();
private:
QString m_name;
@ -58,7 +57,7 @@ private:
unsigned char *m_packetBuffer;
int m_packetBufferLen;
void processPacket(const QHostAddress &sender, const QByteArray &packet);
// void processPacket(const QHostAddress &sender, const QByteArray &packet);
signals:

View file

@ -140,10 +140,11 @@ libreMediaServer::libreMediaServer(QWidget *parent)
connect(ui.actionOpen_conf, SIGNAL(triggered()), this, SLOT(openFile()));
connect(ui.actionSave_conf, SIGNAL(triggered()), this, SLOT(saveFile()));
connect(ui.actionChange_Media_Path, SIGNAL(triggered()), this, SLOT(ChangeMediaPath()));
connect(ui.actionInitMSEX, SIGNAL(triggered()), this, SLOT(InitMSEX()));
connect(ui.actionInitMSEX, SIGNAL(triggered()), this, SLOT(initMSEX()));
connect(ui.actionMake_Thumbs, SIGNAL(triggered()), this, SLOT(makeThumbs()));
// Load the configuration
open_start();
// Connect MSEx
// Connect MSEx Timer
connect(m_msex,SIGNAL(frameRequest()), this, SLOT(sendFrame()));
}
@ -346,7 +347,8 @@ void libreMediaServer::open(QFile *file)
qDebug()<<(desc);
file->close();
delete buffer;
// delete fileconf; // Comment due to Seg Fault
// delete file;
// delete fileconf; // Comment due to Seg Fault
}
void libreMediaServer::save(QFile *file)
@ -430,12 +432,6 @@ void libreMediaServer::olastart()
// connect(ola, SIGNAL(finished(int)), this, SLOT(olastart()));
}
/*
* User Interface Stuff
*/
///////////////////////////////////////////////////////////////////
// Menu CITP/MSEx
///////////////////////////////////////////////////////////////////
@ -471,14 +467,14 @@ void libreMediaServer::initMSEX()
ipadd = ipadd + i;
m_msex->startCitp(ipadd);
}
//void setIPAdd();
// Generates the thumbs to transmit by CITP/MSEx
void libreMediaServer::makeThumbs()
{
QProcess *script = new QProcess ();
QStringList arguments;
arguments << m_pathmedia;
script->execute("./scripts/make_thumbs.sh", arguments);
script->execute("../scripts/make_thumbs.sh", arguments);
}
///////////////////////////////////////////////////////////////////
@ -870,10 +866,10 @@ void libreMediaServer::stdout() {
{
ui.textEdit->appendPlainText("Can not read DMX data.");
}
if (out.indexOf("watchdog",0) != -1)
/* if (out.indexOf("watchdog",0) != -1)
{
ui.textEdit->appendPlainText("PD video watchdog detected.");
}
}*/
int j = out.indexOf("togui: ",0);
if ((j >= 0) && (out.size() > (j+7)))
{
@ -931,7 +927,7 @@ void libreMediaServer::stdout() {
}
}
}
// Restart the Pure Data process if crash. Connected wit signal finished of QProcess
// Restart the Pure Data process if crash. Connected with signal finished of QProcess
void libreMediaServer::pdrestart()
{
@ -941,7 +937,7 @@ void libreMediaServer::pdrestart()
}
save_finish();
qDebug()<<"Restarting PD";
ui.textEdit->appendPlainText("PD Restarting...");
ui.textEdit->appendPlainText("PD Video Restarting.");
disconnect(m_pd_video, SIGNAL(finished(int)), this, SLOT(pdrestart()));
pdstart();
}
@ -1048,7 +1044,7 @@ void libreMediaServer::newconexion()
{
// Iniciamos el socket
m_pd_write_video->connectToHost(QHostAddress::LocalHost, PDPORTW);
m_pd_write_video->waitForConnected(300000);
m_pd_write_video->waitForConnected(3000);
if (!(m_pd_write_video->isOpen())){
qErrnoWarning("newconexion:pd write socket not open!:");
return;

View file

@ -7,8 +7,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>773</width>
<height>626</height>
<width>745</width>
<height>636</height>
</rect>
</property>
<property name="windowTitle">
@ -76,7 +76,7 @@
<property name="geometry">
<rect>
<x>10</x>
<y>300</y>
<y>290</y>
<width>55</width>
<height>27</height>
</rect>
@ -91,8 +91,8 @@
<widget class="QSpinBox" name="ipAddress2">
<property name="geometry">
<rect>
<x>510</x>
<y>340</y>
<x>570</x>
<y>170</y>
<width>31</width>
<height>27</height>
</rect>
@ -107,8 +107,8 @@
<widget class="QSpinBox" name="ipAddress4">
<property name="geometry">
<rect>
<x>590</x>
<y>340</y>
<x>650</x>
<y>170</y>
<width>31</width>
<height>27</height>
</rect>
@ -126,8 +126,8 @@
<widget class="QLabel" name="label_3">
<property name="geometry">
<rect>
<x>30</x>
<y>330</y>
<x>20</x>
<y>320</y>
<width>101</width>
<height>17</height>
</rect>
@ -153,7 +153,7 @@
<property name="geometry">
<rect>
<x>20</x>
<y>270</y>
<y>260</y>
<width>87</width>
<height>23</height>
</rect>
@ -230,8 +230,8 @@
<widget class="QLabel" name="label_2">
<property name="geometry">
<rect>
<x>20</x>
<y>380</y>
<x>10</x>
<y>370</y>
<width>121</width>
<height>20</height>
</rect>
@ -244,7 +244,7 @@
<property name="geometry">
<rect>
<x>20</x>
<y>240</y>
<y>230</y>
<width>101</width>
<height>23</height>
</rect>
@ -296,7 +296,7 @@
<property name="geometry">
<rect>
<x>70</x>
<y>350</y>
<y>340</y>
<width>55</width>
<height>27</height>
</rect>
@ -322,7 +322,7 @@
<property name="geometry">
<rect>
<x>20</x>
<y>210</y>
<y>200</y>
<width>55</width>
<height>27</height>
</rect>
@ -345,7 +345,7 @@
<property name="geometry">
<rect>
<x>70</x>
<y>300</y>
<y>290</y>
<width>55</width>
<height>27</height>
</rect>
@ -358,7 +358,7 @@
<property name="geometry">
<rect>
<x>20</x>
<y>190</y>
<y>180</y>
<width>91</width>
<height>20</height>
</rect>
@ -380,24 +380,24 @@
<string>Layer 5</string>
</property>
</widget>
<widget class="QLabel" name="label_4">
<widget class="QLabel" name="CITPaddress_label">
<property name="geometry">
<rect>
<x>500</x>
<y>370</y>
<width>81</width>
<x>480</x>
<y>150</y>
<width>241</width>
<height>21</height>
</rect>
</property>
<property name="text">
<string>IP Address</string>
<string>IP address interface for CITP/MSEx</string>
</property>
</widget>
<widget class="QSpinBox" name="ipAddress3">
<property name="geometry">
<rect>
<x>550</x>
<y>340</y>
<x>610</x>
<y>170</y>
<width>31</width>
<height>27</height>
</rect>
@ -426,7 +426,7 @@
<property name="geometry">
<rect>
<x>10</x>
<y>350</y>
<y>340</y>
<width>55</width>
<height>27</height>
</rect>
@ -438,8 +438,8 @@
<widget class="QSpinBox" name="ipAddress1">
<property name="geometry">
<rect>
<x>470</x>
<y>340</y>
<x>530</x>
<y>170</y>
<width>31</width>
<height>27</height>
</rect>
@ -678,7 +678,7 @@
<zorder>video</zorder>
<zorder>winsizey</zorder>
<zorder>label</zorder>
<zorder>label_4</zorder>
<zorder>CITPaddress_label</zorder>
<zorder>ipAddress3</zorder>
<zorder>winpositionx</zorder>
<zorder>ipAddress1</zorder>
@ -1093,13 +1093,14 @@
<rect>
<x>0</x>
<y>0</y>
<width>751</width>
<width>721</width>
<height>121</height>
</rect>
</property>
<property name="plainText">
<string>LibreMediaServer 0.01-2
<string>LibreMediaServer 0.02-1
(C) 2012-2013 Santiago Noreña libremediaserver@gmail.com
GPL 3 license. See LICENSE.txt and credits.txt for details
This program comes with ABSOLUTELY NO WARRANTY</string>
</property>
</widget>
@ -1110,7 +1111,7 @@ This program comes with ABSOLUTELY NO WARRANTY</string>
<rect>
<x>0</x>
<y>0</y>
<width>773</width>
<width>745</width>
<height>29</height>
</rect>
</property>
@ -1155,7 +1156,7 @@ This program comes with ABSOLUTELY NO WARRANTY</string>
</action>
<action name="actionInitMSEX">
<property name="checkable">
<bool>true</bool>
<bool>false</bool>
</property>
<property name="text">
<string>Init</string>