2016-05-05 16 views
2

Ich möchte Pure Data mit VLC verbinden, um es zu steuern (Dateien laden, abspielen, anhalten usw.).Wie steuert man VLC von Pd Vanilla> 0.46 mit nativem Netzwerksystem?

Es gibt eine Möglichkeit, dies zu tun, indem Sie pyext in https://github.com/mxa/AudioVideoPatches (Datei 15c-remote-vlc_python.pd), aber ich denke, dass es nicht notwendig ist, externen Code zu verwenden (auch ich konnte nicht bekommen es zu arbeiten). Ab Version 0.48 hat Pd (Vanilla) netsend und netreceive, um sich nativ mit Sockets zu verbinden.

Ich bin nicht vertraut mit Sockets, also weiß ich nicht, wie es geht.

Ich bin auf Ubuntu-Mate x64, Pd 0.46.7, VLC 2.1.6.

+1

Nun, nach einigen Tests habe ich dieses Problem gelöst (es ist einfach und direkt) ... aber es gibt ein Problem. Jede an VLC gesendete Nachricht hat ein ";" am Ende ("add file.avi" ist "add file.avi;"). Und bis ich dieses Problem gelöst habe, kann ich die Antwort auf diese Frage nicht veröffentlichen. –

+1

IOhannes sagte mir, dass das letzte ";" ist normal, es ist das Format, in dem Pd-Nachrichten übertragen werden, genannt FUDI: https://en.wikipedia.org/wiki/FUDI –

Antwort

1

Mit etwas Hilfe von #dataflow (dank undah und dpro) und von der pd-Liste (danke an Jack) konnte ich den Patch machen.

enter image description here

  • Das Update war Nachrichten mit [netsend b] (als binär) zu senden.
  • Ich konvertierte einige Abstracts in Subpatches, um alles in einer Datei zu haben.
  • Es läuft auf Vanille, es benötigt keine externe.
  • Wenn die Playlist lang ist, wird sie nicht vollständig angezeigt. Das Gleiche wie Hilfe.

Denken Sie daran, VLC auf diese Weise zu öffnen:

vlc -I rc --rc-host=localhost:1234 

Und dann, diesen Patch öffnen:

#N canvas 302 295 1008 615 10; 
#X obj 645 278 tgl 30 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 
1; 
#X msg 74 105 disconnect; 
#X obj 672 186 list prepend send; 
#X obj 672 207 list trim; 
#X msg 246 51 list play; 
#X msg 250 127 list stop; 
#X obj 40 282 bng 30 250 50 0 empty empty empty 17 7 0 10 -262144 -1 
-1; 
#X obj 40 327 openpanel; 
#X msg 40 408 list add \$1; 
#X obj 672 144 list fromsymbol; 
#X obj 672 165 list append 10; 
#X msg 33 79 connect localhost 1234; 
#X msg 250 88 list pause; 
#X obj 782 328 list prepend; 
#X obj 782 358 t l l; 
#X obj 738 398 list; 
#X obj 795 450 list tosymbol; 
#X obj 795 502 print; 
#X obj 40 430 s \$0-vlc; 
#X obj 336 234 s \$0-vlc; 
#X obj 672 51 r \$0-vlc; 
#X obj 33 191 s \$0-to-netsend; 
#X obj 645 14 r \$0-to-netsend; 
#X obj 33 52 loadbang; 
#X text 795 527 Messages from VLC, f 18; 
#N canvas 1 62 766 673 list2symbol 0; 
#X obj 168 348 list fromsymbol; 
#N canvas 387 559 668 519 create_list 0; 
#X obj 205 47 inlet; 
#X msg 205 98 set; 
#X obj 205 69 route clear bang; 
#X obj 205 385 outlet; 
#X msg 205 143 115 116 111 112 32; 
#X obj 298 92 list prepend add2; 
#X obj 298 114 list trim; 
#X connect 0 0 2 0; 
#X connect 1 0 4 0; 
#X connect 2 0 1 0; 
#X connect 2 1 4 0; 
#X connect 2 2 5 0; 
#X connect 4 0 3 0; 
#X connect 5 0 6 0; 
#X connect 6 0 4 0; 
#X restore 168 449 pd create_list; 
#X msg 484 230 clear; 
#X obj 168 513 list tosymbol; 
#X obj 168 545 outlet; 
#X obj 429 45 inlet; 
#X obj 168 46 inlet; 
#X obj 168 68 list; 
#X obj 168 103 t l b; 
#X obj 168 250 t b s; 
#X obj 168 297 t s s; 
#X obj 456 299 loadbang; 
#X msg 456 321 symbol; 
#X obj 387 348 sel [symbol]; 
#X msg 387 370 0; 
#X msg 456 370 -1; 
#N canvas 1 84 450 300 remove_last_separator_if_it_exists 0; 
#X obj 168 179 list split; 
#X obj 168 110 t l l; 
#X obj 195 136 list length; 
#X obj 195 158 +; 
#X obj 168 81 inlet; 
#X obj 168 211 outlet; 
#X obj 298 81 inlet; 
#X connect 0 0 5 0; 
#X connect 1 0 0 0; 
#X connect 1 1 2 0; 
#X connect 2 0 3 0; 
#X connect 3 0 0 1; 
#X connect 4 0 1 0; 
#X connect 6 0 3 1; 
#X restore 168 482 pd remove_last_separator_if_it_exists; 
#X obj 168 370 route float list; 
#X obj 168 175 route symbol; 
#X obj 479 40 loadbang; 
#X obj 429 157 route float; 
#X obj 549 192 symbol; 
#X obj 168 275 symbol; 
#X text 482 551 Jack/RYBN 2014; 
#X obj 479 63 list append \$1; 
#X obj 479 85 route 0; 
#X msg 479 107 32; 
#X obj 479 129 makefilename %c; 
#N canvas 1 60 553 698 float2symbol 0; 
#X obj 168 635 outlet; 
#X obj 168 46 inlet; 
#X obj 168 201 pack f s; 
#X msg 168 223 \$1\$2; 
#X obj 168 245 symbol; 
#X obj 300 112 loadbang; 
#N canvas 46 628 450 300 remove_last_element 0; 
#X obj 168 179 list split; 
#X obj 168 110 t l l; 
#X obj 195 136 list length; 
#X obj 168 81 inlet; 
#X obj 168 211 outlet; 
#X obj 195 158 - 1; 
#X connect 0 0 4 0; 
#X connect 1 0 0 0; 
#X connect 1 1 2 0; 
#X connect 2 0 5 0; 
#X connect 3 0 1 0; 
#X connect 5 0 0 1; 
#X restore 168 291 pd remove_last_element; 
#X obj 168 313 list tosymbol; 
#X obj 168 267 list fromsymbol; 
#X obj 168 175 route float; 
#X msg 300 153 symbol :; 
#X text 335 474 Jack/RYBN 2014; 
#X connect 1 0 9 0; 
#X connect 2 0 3 0; 
#X connect 3 0 4 0; 
#X connect 4 0 8 0; 
#X connect 5 0 10 0; 
#X connect 6 0 7 0; 
#X connect 7 0 0 0; 
#X connect 8 0 6 0; 
#X connect 9 0 2 0; 
#X connect 10 0 2 1; 
#X restore 237 214 pd float2symbol; 
#N canvas 1 58 757 540 list-drip 0; 
#X obj 63 84 t a a; 
#X obj 63 241 spigot; 
#X obj 102 149 bang; 
#X obj 102 168 1; 
#X obj 223 149 route bang; 
#X obj 183 150 bang; 
#X obj 183 169 0; 
#X obj 102 114 list split 2; 
#X obj 232 379 list split; 
#X obj 299 328 list length; 
#X obj 299 350 >> 1; 
#X obj 63 260 t a a a a; 
#X obj 63 446 list split; 
#X obj 130 398 list length; 
#X obj 130 423 >> 1; 
#X obj 31 19 inlet; 
#X obj 290 175 outlet; 
#X text 73 19 Copyright 2009 by Mathieu Bouchard; 
#X obj 31 53 t b a; 
#X obj 465 119 outlet; 
#X text 520 121 signal end of list; 
#X text 381 23 made compatible with [list-drip]: fbar 2009; 
#X connect 0 0 1 0; 
#X connect 0 1 7 0; 
#X connect 1 0 11 0; 
#X connect 2 0 3 0; 
#X connect 3 0 1 1; 
#X connect 4 1 16 0; 
#X connect 5 0 6 0; 
#X connect 6 0 1 1; 
#X connect 7 0 2 0; 
#X connect 7 2 4 0; 
#X connect 7 2 5 0; 
#X connect 8 0 0 0; 
#X connect 9 0 10 0; 
#X connect 10 0 8 1; 
#X connect 11 0 12 0; 
#X connect 11 1 13 0; 
#X connect 11 2 8 0; 
#X connect 11 3 9 0; 
#X connect 12 1 0 0; 
#X connect 13 0 14 0; 
#X connect 14 0 12 1; 
#X connect 15 0 18 0; 
#X connect 18 0 19 0; 
#X connect 18 1 0 0; 
#X restore 168 145 pd list-drip; 
#N canvas 1 60 553 698 float2symbol 0; 
#X obj 168 635 outlet; 
#X obj 168 46 inlet; 
#X obj 168 201 pack f s; 
#X msg 168 223 \$1\$2; 
#X obj 168 245 symbol; 
#X obj 300 112 loadbang; 
#N canvas 46 628 450 300 remove_last_element 0; 
#X obj 168 179 list split; 
#X obj 168 110 t l l; 
#X obj 195 136 list length; 
#X obj 168 81 inlet; 
#X obj 168 211 outlet; 
#X obj 195 158 - 1; 
#X connect 0 0 4 0; 
#X connect 1 0 0 0; 
#X connect 1 1 2 0; 
#X connect 2 0 5 0; 
#X connect 3 0 1 0; 
#X connect 5 0 0 1; 
#X restore 168 291 pd remove_last_element; 
#X obj 168 313 list tosymbol; 
#X obj 168 267 list fromsymbol; 
#X obj 168 175 route float; 
#X msg 300 153 symbol :; 
#X text 335 474 Jack/RYBN 2014; 
#X connect 1 0 9 0; 
#X connect 2 0 3 0; 
#X connect 3 0 4 0; 
#X connect 4 0 8 0; 
#X connect 5 0 10 0; 
#X connect 6 0 7 0; 
#X connect 7 0 0 0; 
#X connect 8 0 6 0; 
#X connect 9 0 2 0; 
#X connect 10 0 2 1; 
#X restore 429 189 pd float2symbol; 
#X connect 0 0 17 0; 
#X connect 1 0 16 0; 
#X connect 2 0 1 0; 
#X connect 3 0 4 0; 
#X connect 5 0 20 0; 
#X connect 6 0 7 0; 
#X connect 7 0 8 0; 
#X connect 8 0 29 0; 
#X connect 8 1 2 0; 
#X connect 9 0 22 0; 
#X connect 9 1 0 0; 
#X connect 10 0 0 0; 
#X connect 10 1 13 0; 
#X connect 11 0 12 0; 
#X connect 12 0 13 1; 
#X connect 13 0 14 0; 
#X connect 13 1 15 0; 
#X connect 14 0 16 1; 
#X connect 15 0 16 1; 
#X connect 16 0 3 0; 
#X connect 17 0 1 0; 
#X connect 17 1 1 0; 
#X connect 18 0 9 0; 
#X connect 18 1 28 0; 
#X connect 19 0 24 0; 
#X connect 20 0 30 0; 
#X connect 20 1 21 0; 
#X connect 21 0 22 1; 
#X connect 22 0 10 0; 
#X connect 24 0 25 0; 
#X connect 25 0 26 0; 
#X connect 25 1 20 0; 
#X connect 26 0 27 0; 
#X connect 27 0 20 0; 
#X connect 28 0 9 0; 
#X connect 29 0 18 0; 
#X connect 29 1 1 0; 
#X connect 30 0 22 1; 
#X restore 672 119 pd list2symbol; 
#X obj 179 282 bng 30 250 50 0 empty empty empty 17 7 0 10 -262144 
-1 -1; 
#X obj 179 386 openpanel; 
#X obj 179 431 s \$0-vlc; 
#X msg 179 408 list enqueue \$1; 
#X text 412 50 Clear Playlist; 
#X msg 336 50 list clear; 
#X text 75 288 Open one file; 
#X msg 67 386 list clear; 
#X text 213 281 Enqueue file to the playlist, f 15; 
#X obj 40 360 t a b; 
#X obj 645 251 netsend -b, f 11; 
#X obj 719 276 route 10 13; 
#X obj 719 304 t b b b; 
#X obj 738 420 route bang; 
#X msg 401 157 list quit; 
#X msg 401 174 list logout; 
#X msg 401 191 list shutdown; 
#X msg 382 109 list help; 
#X msg 372 85 list playlist; 
#X text 463 85 Print Playlist; 
#X text 446 109 Print Help (incomplete); 
#X msg 795 472 \$1; 
#X connect 1 0 21 0; 
#X connect 2 0 3 0; 
#X connect 3 0 36 0; 
#X connect 4 0 19 0; 
#X connect 5 0 19 0; 
#X connect 6 0 7 0; 
#X connect 7 0 35 0; 
#X connect 8 0 18 0; 
#X connect 9 0 10 0; 
#X connect 10 0 2 0; 
#X connect 11 0 21 0; 
#X connect 12 0 19 0; 
#X connect 13 0 14 0; 
#X connect 14 0 15 1; 
#X connect 14 1 13 1; 
#X connect 15 0 39 0; 
#X connect 16 0 47 0; 
#X connect 20 0 25 0; 
#X connect 22 0 36 0; 
#X connect 23 0 11 0; 
#X connect 25 0 9 0; 
#X connect 26 0 27 0; 
#X connect 27 0 29 0; 
#X connect 29 0 28 0; 
#X connect 31 0 19 0; 
#X connect 33 0 18 0; 
#X connect 35 0 8 0; 
#X connect 35 1 33 0; 
#X connect 36 0 0 0; 
#X connect 36 1 37 0; 
#X connect 37 0 38 0; 
#X connect 37 1 38 0; 
#X connect 37 2 13 0; 
#X connect 38 0 15 1; 
#X connect 38 1 15 0; 
#X connect 38 2 13 1; 
#X connect 39 1 16 0; 
#X connect 40 0 19 0; 
#X connect 41 0 19 0; 
#X connect 42 0 19 0; 
#X connect 43 0 19 0; 
#X connect 44 0 19 0; 
#X connect 47 0 17 0; 

EDIT: Ich habe eine neuere Version PatchStorage hochgeladen, genannt VLC Controller.

+0

Funktioniert nicht für mich. connecting stream socket: Verbindung verweigert (111) –

+0

Haben Sie VLC als "vlc -I rc --rc-host = localhost: 1234" gestartet? Wenn ich VLC nicht auf diese Weise benutze, sagt Pd "connecting stream socket: Connection refused (111)". –

+0

Ja. VLC Media Player 2.1.6 Rincewind (Revision 2.1.6 + git20160115 + r54594 + 20 + 11 ~ ubuntu14.04.1) auf Minz Zimt –