From f55e7f160f3542d5108ccf01cacebf1e1960cfab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Santi=20Nore=C3=B1a?= Date: Sun, 3 Mar 2013 13:32:14 +0100 Subject: [PATCH] - Set the video engine frame rate --- puredata/lms-video.pd | 211 +++++++++++++++++-------------------- scripts/install_precise.sh | 2 - src/libremediaserver.cpp | 10 ++ src/libremediaserver.h | 2 + src/libremediaserver.ui | 21 +++- 5 files changed, 126 insertions(+), 120 deletions(-) diff --git a/puredata/lms-video.pd b/puredata/lms-video.pd index 68f7227..7058ed8 100644 --- a/puredata/lms-video.pd +++ b/puredata/lms-video.pd @@ -1,4 +1,4 @@ -#N canvas 630 304 611 318 10; +#N canvas 750 110 611 318 10; #N canvas 315 169 952 599 dmx 0; #X obj -7 437 list split; #X obj 99 444 list split; @@ -120,7 +120,7 @@ #X connect 54 0 26 0; #X coords 0 -1 1 1 10 10 1 10 10; #X restore -354 -438 pd dmx; -#N canvas 63 274 240 272 fondo 0; +#N canvas 61 311 240 272 fondo 0; #X obj -452 -118 color 0 0 0; #X obj -452 -150 alpha; #X text -486 -209 Pantalla fondo Negra; @@ -136,7 +136,7 @@ #X connect 5 0 7 0; #X connect 7 0 4 3; #X restore -309 -438 pd fondo; -#N canvas 69 349 1134 358 receive 0; +#N canvas 65 369 1134 358 receive 1; #X obj 22 -242 s winposx; #X obj 90 -242 s winposy; #X obj 158 -242 s winsizex; @@ -161,18 +161,22 @@ #X obj 563 -265 float; #X obj 624 -265 float; #X obj 685 -265 float; -#X obj 847 -264 float; -#X obj 847 -239 s ola; -#X obj 898 -263 float; -#X obj 898 -239 s universe; +#X obj 807 -266 float; +#X obj 807 -241 s ola; +#X obj 847 -265 float; +#X obj 847 -241 s universe; #X obj 950 -432 s path; #X obj -39 -265 float; #X obj 787 -449 unpack f f s; #X obj 787 -477 netreceive 9195; #X obj -39 -242 s window; -#X obj -39 -408 select 1 2 3 4 5 11 12 13 14 15 16 17 18 20 21 22; -#X obj 986 -264 float; -#X obj 986 -242 s previewswitch; +#X obj 922 -264 float; +#X obj 922 -242 s previewswitch; +#X obj -39 -408 select 1 2 3 4 5 11 12 13 14 15 16 17 18 20 21 22 23 +; +#X obj 1040 -263 float; +#X obj 1040 -241 s fps; +#X floatatom 1012 -184 5 0 0 0 - - -; #X connect 4 0 0 0; #X connect 5 0 1 0; #X connect 6 0 2 0; @@ -188,7 +192,7 @@ #X connect 24 0 25 0; #X connect 26 0 27 0; #X connect 29 0 32 0; -#X connect 30 0 33 0; +#X connect 30 0 35 0; #X connect 30 1 4 1; #X connect 30 1 5 1; #X connect 30 1 6 1; @@ -204,44 +208,44 @@ #X connect 30 1 24 1; #X connect 30 1 26 1; #X connect 30 1 29 1; -#X connect 30 1 34 1; +#X connect 30 1 33 1; +#X connect 30 1 36 1; #X connect 30 2 28 0; #X connect 31 0 30 0; -#X connect 33 0 29 0; -#X connect 33 1 4 0; -#X connect 33 2 5 0; -#X connect 33 3 6 0; -#X connect 33 4 7 0; -#X connect 33 5 16 0; -#X connect 33 6 17 0; -#X connect 33 7 18 0; -#X connect 33 8 19 0; -#X connect 33 9 21 0; -#X connect 33 10 22 0; -#X connect 33 11 23 0; -#X connect 33 12 20 0; -#X connect 33 13 24 0; -#X connect 33 14 26 0; -#X connect 33 15 34 0; -#X connect 34 0 35 0; +#X connect 33 0 34 0; +#X connect 35 0 29 0; +#X connect 35 1 4 0; +#X connect 35 2 5 0; +#X connect 35 3 6 0; +#X connect 35 4 7 0; +#X connect 35 5 16 0; +#X connect 35 6 17 0; +#X connect 35 7 18 0; +#X connect 35 8 19 0; +#X connect 35 9 21 0; +#X connect 35 10 22 0; +#X connect 35 11 23 0; +#X connect 35 12 20 0; +#X connect 35 13 24 0; +#X connect 35 14 26 0; +#X connect 35 15 33 0; +#X connect 35 16 36 0; +#X connect 36 0 37 0; +#X connect 36 0 38 0; #X restore -249 -438 pd receive; -#N canvas 687 175 450 564 window 0; -#X msg 987 -347 color 0 0 0; -#X msg 117 -352 create; -#X msg 192 -352 destroy; -#X msg 721 -349 print; -#X msg 561 -352 border \$1; -#X msg 467 -352 fullscreen \$1; -#X msg 641 -350 topmost \$1; -#X msg 773 -349 cursor 0; -#X obj 698 -474 loadbang; -#X msg 918 -348 title PMS; +#N canvas 820 178 450 333 window 0; +#X msg 809 -348 color 0 0 0; +#X msg 620 -350 print; +#X msg 466 -352 border \$1; +#X msg 540 -351 topmost \$1; +#X msg 665 -350 cursor 0; +#X obj 603 -474 loadbang; #X obj 368 -400 pack f f; #X msg 368 -355 offset \$1 \$2; #X obj 264 -401 pack f f; #X msg 264 -354 dimen \$1 \$2; #X obj 19 -349 s init; -#X msg 840 -348 profile 2; +#X msg 733 -349 profile 2; #X obj 8 -425 select 1; #X obj 76 -424 select 0; #X obj 365 -473 r winposx; @@ -250,73 +254,54 @@ #X obj 212 -474 r winsizex; #X obj 288 -475 r winsizey; #X obj 274 -433 t b; -#X msg 605 -427 0; +#X msg 510 -427 0; #X obj 122 -473 gemkeyboard; #X obj 160 -425 select 9; -#X msg 117 -261 1; -#X obj 117 -293 delay 10; -#X obj 117 -323 t b; #X obj 40 -467 r window; -#X floatatom 120 33 0 0 0 0 - - -; -#X obj 120 -55 cputime; -#X obj 120 -195 loadbang; -#X floatatom 120 -139 0 0 0 0 - - -; -#X obj 120 -83 t b b; -#X obj 120 5 * 0.1; -#X obj 120 -26 int; -#X text 165 -139 <-- on/off; #X obj 308 -220 gemwin 30; -#X obj 120 -111 metro 1000; -#X msg 120 -167 0; -#X connect 0 0 39 0; -#X connect 1 0 29 0; -#X connect 1 0 39 0; -#X connect 2 0 39 0; -#X connect 3 0 39 0; -#X connect 4 0 39 0; -#X connect 5 0 39 0; -#X connect 6 0 39 0; -#X connect 7 0 39 0; -#X connect 8 0 0 0; +#X msg 86 -350 create \, 1; +#X msg 161 -350 0 \, destroy; +#X msg 93 -265 frame \$1; +#X msg 225 -323 0; +#X obj 55 -290 r fps; +#X floatatom 50 -249 5 0 0 0 - - -; +#X connect 0 0 24 0; +#X connect 1 0 24 0; +#X connect 2 0 24 0; +#X connect 3 0 24 0; +#X connect 4 0 24 0; +#X connect 5 0 0 0; +#X connect 5 0 20 0; +#X connect 5 0 4 0; +#X connect 5 0 11 0; +#X connect 6 0 7 0; +#X connect 7 0 24 0; #X connect 8 0 9 0; -#X connect 8 0 24 0; -#X connect 8 0 7 0; -#X connect 8 0 15 0; -#X connect 9 0 39 0; -#X connect 10 0 11 0; -#X connect 11 0 39 0; -#X connect 12 0 13 0; -#X connect 13 0 39 0; -#X connect 15 0 39 0; -#X connect 16 0 1 0; -#X connect 16 0 14 0; -#X connect 17 0 2 0; -#X connect 18 0 10 0; -#X connect 19 0 10 1; -#X connect 19 0 20 0; -#X connect 20 0 10 0; -#X connect 21 0 12 0; -#X connect 22 0 12 1; -#X connect 22 0 23 0; +#X connect 9 0 24 0; +#X connect 11 0 24 0; +#X connect 12 0 25 0; +#X connect 12 0 10 0; +#X connect 13 0 26 0; +#X connect 14 0 6 0; +#X connect 15 0 6 1; +#X connect 15 0 16 0; +#X connect 16 0 6 0; +#X connect 17 0 8 0; +#X connect 18 0 8 1; +#X connect 18 0 19 0; +#X connect 19 0 8 0; +#X connect 20 0 3 0; +#X connect 20 0 2 0; +#X connect 21 0 22 0; +#X connect 22 0 26 0; #X connect 23 0 12 0; -#X connect 24 0 6 0; -#X connect 24 0 4 0; -#X connect 25 0 26 0; -#X connect 26 0 2 0; -#X connect 27 0 39 0; -#X connect 28 0 27 0; -#X connect 29 0 28 0; -#X connect 30 0 16 0; -#X connect 30 0 17 0; -#X connect 32 0 37 0; -#X connect 33 0 41 0; -#X connect 34 0 40 0; -#X connect 35 0 32 0; -#X connect 35 1 32 1; -#X connect 36 0 31 0; -#X connect 37 0 36 0; -#X connect 40 0 35 0; -#X connect 41 0 34 0; +#X connect 23 0 13 0; +#X connect 25 0 24 0; +#X connect 26 0 24 0; +#X connect 27 0 24 0; +#X connect 28 0 24 0; +#X connect 29 0 27 0; +#X connect 29 0 30 0; #X restore -175 -438 pd window; #N canvas 820 209 450 300 layer_5 0; #X msg -209 -32 1; @@ -648,19 +633,19 @@ #X text -384 -470 (c) 2012-2013 Santi NoreƱa libremediaserver@gmail.com GPL License; #X obj -418 -336 r previewswitch; -#N canvas 154 292 274 273 fps 0; -#X obj 22 62 realtime; -#X obj 22 41 t b b; -#X obj 22 19 gemhead; -#X msg 22 84 1000 \$1; -#X obj 22 105 /; -#X obj 22 126 + 0.5; -#X obj 22 147 i; -#X obj 22 244 s textgui; -#X msg 22 218 9 \$1; +#N canvas 150 366 274 273 fps 0; +#X obj 22 82 realtime; +#X obj 22 61 t b b; +#X obj 22 39 gemhead; +#X msg 22 104 1000 \$1; +#X obj 22 125 /; +#X obj 22 146 + 0.5; +#X obj 22 167 i; +#X obj 22 242 s textgui; +#X msg 22 216 9 \$1; #X obj 111 134 metro 500; #X msg 111 161 1; -#X obj 22 194 spigot; +#X obj 22 192 spigot; #X obj 111 86 loadbang; #X msg 111 109 1; #X msg 111 108; diff --git a/scripts/install_precise.sh b/scripts/install_precise.sh index 007a797..e831de5 100644 --- a/scripts/install_precise.sh +++ b/scripts/install_precise.sh @@ -24,5 +24,3 @@ if [ "$?" -eq "0" ]; then else "apt-get return errors!" fi - - diff --git a/src/libremediaserver.cpp b/src/libremediaserver.cpp index 2d34ff7..010368b 100644 --- a/src/libremediaserver.cpp +++ b/src/libremediaserver.cpp @@ -848,6 +848,16 @@ void libreMediaServer::on_video_stateChanged(int state) } } +// Change the Frame Rate +void libreMediaServer::on_fpsRate_valueChanged() +{ + QString desc = tr("0023 %1;").arg(ui.fpsRate->value()); + if (!sendPacket(desc.toAscii().constData(),desc.size())) + { + errorsending(); + } +} + /////////////////////////////////////////////////////////////////// // Pure Data Video /////////////////////////////////////////////////////////////////// diff --git a/src/libremediaserver.h b/src/libremediaserver.h index 9ddcea8..c2ddc05 100644 --- a/src/libremediaserver.h +++ b/src/libremediaserver.h @@ -125,11 +125,13 @@ private slots: void on_layer7Check_stateChanged (int state); void on_layer8Add_valueChanged(); void on_layer8Check_stateChanged (int state); + void on_fpsRate_valueChanged(); void pdrestart(); void stdout(); void on_video_stateChanged(int state); void on_previewMaster_stateChanged(int state); void on_previewLayer_stateChanged(int state); + //Audio void newPeer_audio(); void newmessage_audio(); diff --git a/src/libremediaserver.ui b/src/libremediaserver.ui index a243476..a9f869a 100644 --- a/src/libremediaserver.ui +++ b/src/libremediaserver.ui @@ -696,20 +696,30 @@ - 3 + 2 - 550 - 340 - 31 + 480 + 370 + 161 21 - FPS + Real FPS Pretend FPS + + + + + + 560 + 320 + 59 + 41 + layer7Check @@ -757,6 +767,7 @@ previewMaster fpsCounter fpsLabel + fpsRate