class library: SynthDef - lazy implementation of removeUGen
[supercollider.git] / HelpSource / Classes / ContiguousBlockAllocator.schelp
blob0cde3dabfc10d5459ecda4fb7e8b52db2dd2d507
1 class:: ContiguousBlockAllocator
2 summary:: for better handling of dynamic allocation
3 related:: Classes/Server, Classes/PowerOfTwoAllocator
4 categories:: Control
6 description::
8 A more robust replacement for the default server block allocator, link::Classes/PowerOfTwoAllocator::. May be used in the link::Classes/Server:: class to allocate audio/control bus numbers and buffer numbers.
10 To configure a server to use ContiguousBlockAllocator, execute the following:
11 code::
12 aServer.options.blockAllocClass = ContiguousBlockAllocator;
14 Normally you will not need to address the allocators directly. However, ContiguousBlockAllocator adds one feature not present in PowerOfTwoAllocator, namely the emphasis::reserve:: method.
16 ClassMethods::
18 method::new
19 Create a new allocator with emphasis::size:: slots. You may block off the first emphasis::pos:: slots (the server's audioBusAllocator does this to reserve the hardware input and output buses).
21 InstanceMethods::
23 private::prReserve, prSplit
25 method::alloc
26 Return the starting index of a free block that is emphasis::n:: slots wide. The default is 1 slot.
28 method::free
29 Free a previously allocated block starting at emphasis::address::.
31 method::reserve
32 Mark a specific range of addresses as used so that the alloc method will not return any addresses within that range.