README.md 1.95 KB
Newer Older
Roman Haefeli's avatar
Roman Haefeli committed
1
## tpf-server
Roman Haefeli's avatar
Roman Haefeli committed
2

3
4
NOTE: tpf-server is still in an experimental state and does not guarantuee
      backwards compatibility yet.
Roman Haefeli's avatar
Roman Haefeli committed
5
6


Roman Haefeli's avatar
Roman Haefeli committed
7
### About
Roman Haefeli's avatar
Roman Haefeli committed
8

9
**[tpf-server](https://github.com/zhdk/tpf-server)** is used to connect instances
Roman Haefeli's avatar
Roman Haefeli committed
10
of tpf-clients. It is supposed to run on server with a public IP address.
Roman Haefeli's avatar
Roman Haefeli committed
11

12
**[tpf-client](https://github.com/zhdk/tpf-client)** is a low-latency audio
Roman Haefeli's avatar
Roman Haefeli committed
13
transmission software based on the jacktrip protocol and built in Pure Data.
Roman Haefeli's avatar
Roman Haefeli committed
14
15
16
17


For more information visit:

18
19
  * https://github.com/zhdk/tpf-server
  * https://github.com/zhdk/tpf-client
Roman Haefeli's avatar
Roman Haefeli committed
20
21


Roman Haefeli's avatar
Roman Haefeli committed
22
### Installation
Roman Haefeli's avatar
Roman Haefeli committed
23

Roman Haefeli's avatar
Roman Haefeli committed
24
25
NOTE: Find detailed instructions in [here](INSTALL.md).

26
27
Install Pure Data with your package manager or get binaries
from:
Roman Haefeli's avatar
Roman Haefeli committed
28
29
30

  https://puredata.info/downloads/

Roman Haefeli's avatar
Roman Haefeli committed
31
You need the following externals to run tpf-server
Roman Haefeli's avatar
Roman Haefeli committed
32

Roman Haefeli's avatar
Roman Haefeli committed
33
34
35
36
37
  * iemnet
  * osc
  * slip

You can install externals through the Pd menu:
Roman Haefeli's avatar
Roman Haefeli committed
38
`Help` -> `Find Externals`
Roman Haefeli's avatar
Roman Haefeli committed
39

Roman Haefeli's avatar
Roman Haefeli committed
40
**tpf-server** uses **netpd-server** as a git submodule, thus make
41
42
sure to clone the repository like this:

Roman Haefeli's avatar
Roman Haefeli committed
43
```
44
git clone --recursive https://github.com/zhdk/tpf-server
Roman Haefeli's avatar
Roman Haefeli committed
45
```
46

Roman Haefeli's avatar
Roman Haefeli committed
47
### Run tpf-server
48
49
50
51
52

For the server to be reachable by the clients, it should run on
a machine with a public IP address. On a head-less machine, you
probably want to run it in nogui mode:

Roman Haefeli's avatar
Roman Haefeli committed
53
54
55
```
pd -nogui -open tpf-server/tpf-server.pd
```
56
57
58
59
60
61
62

The server opens a listening socket on TCP-port 3025. So make
sure that this port is open in your firewall configuration.
The TCP-Port 3025 is only used for client communication and not for
audio transmission. The audio transmission is using UDP-Port 4460
and requires a separate Python script to be running:

Roman Haefeli's avatar
Roman Haefeli committed
63
64
65
```
./tpf-udp-proxy.py
```
66
67
68
69

This waits for incoming client connections and relays UDP packets
between clients.

70
### Issues
71

72
For any bug, issue or suggestion, please open an issue [here](https://github.com/zhdk/tpf-server/issues).
Roman Haefeli's avatar
Roman Haefeli committed
73

Roman Haefeli's avatar
Roman Haefeli committed
74
### Authors
Roman Haefeli's avatar
Roman Haefeli committed
75
76
77
78

  * Roman Haefeli <roman.haefeli@zhdk.ch>
  * Johannes Schütt <johannes.schuett@zhdk.ch>

Roman Haefeli's avatar
Roman Haefeli committed
79
### License
Roman Haefeli's avatar
Roman Haefeli committed
80

Roman Haefeli's avatar
Roman Haefeli committed
81
  GPL 3.0 (see LICENSE.txt)
Roman Haefeli's avatar
Roman Haefeli committed
82