Fluxo de mensagens do pidgin no PD


Esta experiência torna possível ler saídas de dados do software mensageiro Pidgin, dentro do puredata com um socket pyhton fazendo a ponte.

Com isso é possível er mensagens enviadas pra você por msn, gtalk, irc e outros dentro do puredata.

No python:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import socket
 
mySocket = socket.socket ( socket.AF_INET, socket.SOCK_STREAM )
mySocket.connect ( ( 'localhost', 2727 ) ) #socket a ser aberto no puredata
 
 
def recebe_pidgin(account, sender, message, conversation, flags):
    print sender, "disse:", message
    #m= sender + ' - '+ message + ';\n;'
    m=message + ';\n;'
    m=m.encode('utf-8')
    m=m.replace('<body>','').replace('</body>','')
    mySocket.send ( m )
 
 
import dbus, gobject
from dbus.mainloop.glib import DBusGMainLoop
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
bus = dbus.SessionBus()
 
bus.add_signal_receiver(recebe_pidgin,dbus_interface="im.pidgin.purple.PurpleInterface",
signal_name="ReceivedImMsg")
 
loop = gobject.MainLoop()
loop.run()

Salve como socket.py

rode com
#python socket.py

Inicie o Puredata.

no puredata:

1
2
3
4
5
6
#N canvas 0 0 450 300 10;
#X obj 116 106 netreceive 2727;
#X floatatom 220 127 5 0 0 0 - - -;
#X obj 120 128 print;
#X connect 0 0 2 0;
#X connect 0 1 1 0;

Salve este aquivo como pidgin.pd e abra no puredata.

Você verá todas as saídas de texto das pessoas que você conversar, saindo no puredata, agora basta tratalas dentro de qualquer outro patch.

Comments are closed.