The Harmonizer
®
Programmer’s Manual
© 1999-2008 Eventide, Inc. Page 91 of 97 Release 1.3
MENUPAGES AND PARAMETER PLACEMENT
The use of menupage modules to create menu pages in the PARAMETER area is crucial for creating
easy to use programs. This section discusses many of the fine points of menu creation and the care and
feeding of userobjects. There are several important points regarding PARAMETER area menu pages and
their construction in the Patch Editor area:
• Null userobjects are invisible. They do not take space on
a menu page in the PARAMETER area. Having the head
module or a menupage module include a nullobj
(sometimes titled adc-nullobj (as shown to the right) or
head-nullobj) creates null userobjects.
• Any userobject that is connected to the head module
creates a SOFT KEY (with the exceptions of those
userobjects that are null).
• The order that a userobject is listed in the head module
determines what location the SOFT KEY will appear in the
PARAMETER menu. The first userobject gets the first
SOFT KEY. The fifth userobject gets the fifth SOFT KEY
and so on.
• The order that a userobject is listed in a menupage
module determines where on a PARAMETER area menu
page it will appear.
• Objects are placed on a menu in upper left to lower right
order, as listed in the menupage module.
• If a module’s
PARAMETER area graphic is too large to
appear on a menu page with other modules’ graphics, it is
placed on a later menu page in a menu stack, thus creating
a
SOFT KEY stack.
• menupage modules may be connected to other
menupage modules! A menupage userobject output is the same as any other module’s userobject
output, except that a menupage userobject output is always big enough to warrant being placed on
its own menu page or pages in the
PARAMETER area.
•
A userobject output may be connected to multiple userobject inputs. This means a single module’s
userobject output can show up in several menu pages in the
PARAMETER area. Note: If an module’s
PARAMETER area graphic is shown more than once on a single menu page, the second instance might not be updated
when the first instance’s value changes and vice versa.