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 29 30
|
This file describes the protocol used for communicating packets.
See include/pdp.h and the sources in this directory for more info.
There are 3 kinds of pdp messages:
[pdp register_ro <packet_id>]
[pdp register_rw <packet_id>]
[pdp process]
Together they form the pdp protocol. An object can receive a packet
by catching the 3 kinds of messages:
When a register_ro message is received, the object can call
pdp_packet_copy_ro(packet) to reserve a read only copy for itself.
The same goes for handling the register_rw message. You can
reserve a read/write copy by using pdp_packet_copy_rw(packet)
When a process message is received, the object is allowed to start
processing the packet data end send the resulting packet(s) out.
To send out a packet, use the pdp_packet_pass_if_valid(outlet, &packet)
method. It passes a packet, and sets the reference to -1 (the undefined
packet id).
If you want to write pdp externs, consider using the pdp_base object
to derive your object from. Have a look at pdp_add, pdp_gain, pdp_noise
to see how to do this.
|