Groups

Select the Group node in the project tree to show a list of groups in the Sound Set tab.
The list is split and displayed in upper and lower sections in the Sound Set tab.
The upper part of this split tab is called the group list and the lower part the group item list.

The Role of Groups

Items for the same sound set are registered in a group. The items registered here are called group items.

When the application loads waveform data and other data from the sound archive into memory, the programmer can gather all the items required for a particular scene and load them as a group.

The sound designer can make better use of memory by classifying items according to scenes and the timing at which they are needed and then efficiently registering them into different groups.

Group List and Group Item List

The group list is used to create groups. The group item list displays a list of items currently registered in the selected group.

Creating and Adding Groups

To create or add a group, select the list region in the Sound Set tab and then select ProjectAdd ItemGroup....

It is possible to create a new group or to add a group using the shortcut menu that appears by right-clicking the group list.

Registering Items in Groups

The group item list is used to register items to a group.

From the group list, select the group with which you want to register the item and then select ProjectAdd ItemGroup Item....

An item can also be registered to a group by dragging the item to the group item list from the sound list or the Search Result window.

Elements Defining a Group List

This section describes the meaning of each of the elements that define a group list.

Name

Specifies the group name.
There are restrictions on the characters that can be used in a name. The following characters can be used.
- The first character must be a single-byte letter or an underscore. [a-zA-Z_]
- Other characters must be single-byte alphanumeric or an underscore. [a-zA-Z0-9_]

Data size

The group list data size indicates the size when the group is loaded into the sound heap.

The data size display is updated automatically when conversion is executed.

The group data size is displayed, but its value cannot be edited.

Output Method

Sets the method for outputting the sound data registered in group items to sound archives.

Elements Defining a Group Item List

This section describes the meaning of each of the elements that define a group item list.

Name

Displays the names of the items registered in the group.
The drop-down menu can be used to change other items in the sound list.

Sound Set

Displays the name of the sound set that contains the item.

Register Related Items

Specifies how related waveform archives should be loaded when the given item is loaded.

By default, when a sequence sound, wave sound, or bank is loaded, any related waveform archives will also be loaded at the same time. The "Register Related Items" drop-down menu lets you specify that certain items or combinations of items (for example, "SEQ/SEQSET and BANK only" or "WARC only") should be loaded individually.

If the "Waveform Archive" setting for a wave sound set or a bank is set to either "Automatic (Shared)" or "Automatic (Individual)," only "ALL" can be selected.

Supplemental Information on Group Operations

Relation to Files

When items such as banks and sequences are registered to a group, what actually is being registered are the files which those items reference. Note that when snd library loads a group into the sound heap, what is being loaded are individual files.


For example, consider a sequence sound that references a text sequence file.

This text sequence file (which the sequence sound uses as its reference file) can describe multiple sequences.

If such a sequence sound (that is, one that references a text sequence file containing multiple sequences) is loaded into the sound heap as part of a group, all of the sequences described in the text sequence file are loaded, and even sequence sounds that are not registered with that particular group but that reference the same text sequence file can be played.


Multiple items that reference the same file can be registered in the same group. When that group is loaded, duplicate content is not loaded.


Wave sound sets can be edited in the Sound Set window without their reference files. However, if this is done, each wave sound set is handled internally as a separate file.

Relation Between Waveform Archive Automatic (Shared, Separate) Setting and Method of Group Output

Here we explain by way of example the relationship between the Waveform Archive of banks and wave sound sets and the Output Method for groups.

To simplify the explanation, we concentrate on the relation between banks and groups. By substituting wave sounds set for bank, this same explanation can be read to understand the relation between wave sounds sets and groups.

Link Group and Automatic (Shared) Bank

First we explain the behavior of the Link group.

In the example below, three Automatic (Shared) banks are registered to a Link group.

Group -- Output Method Bank -- Waveform Archive
GROUP_0 [Link] BANK_0 [Automatic (Shared)]
BANK_1 [Automatic (Shared)]
BANK_2 [Automatic (Shared)]

A separate waveform archive is implicitly created automatically for each of the banks, BANK_0 ~ BANK_2.
Even if the same waveform is referenced among the banks BANK_0 ~ BANK_2, it is not shared but rather placed redundantly in ROM. A single collective waveform archive is not created for the group, and the duplicate waveforms in the waveform archive are not collected together.

If you want waveforms to be shared, you need to either use Embed Group and Automatic (Shared) or explicitly specify the bank's waveform archive as shown below.:

Explicitly Specifying Bank's Waveform Archive

Group -- Output Method Bank -- Waveform Archive
GROUP_0
[Embed or Link]
BANK_0 - WARC_0
BANK_1 - WARC_0
BANK_2 - WARC_0

In the above configuration, WARC_0 contains the waveforms of banks BANK_0 ~ BANK_2 without any duplicates (i.e., one waveform is shared by multiple banks).

The Load Individually flag for waveform archives can be set either on or off.

LinkGroup and Automatic (Separate) Bank

Group -- Output Method Bank -- Waveform Archive
GROUP_0 [Link] BANK_0 [Automatic (Separate)]
BANK_1 [Automatic (Separate)]
BANK_2 [Automatic (Separate)]

A separate waveform archive is implicitly created automatically for each of the banks, BANK_0 ~ BANK_2, just as was the case for LinkGroup and Automatic (Shared) Bank. The waveforms shared by banks are not collected together into a single waveform archive.

In other words, regardless of whether the banks registered to a Link group are Automatic (Shared) or Automatic (Separate), in either case a waveform archive is created for each individual bank, and duplicated waveforms are not shared inside a group.

Uses for Automatic (Separate) Banks

Although it may seem at first glance like there are no good uses for Automatic (Separate) banks, the following configuration yields a benefit:

Group -- Output Method Bank -- Waveform Archive
GROUP_1 [Embed or Link] BANK_0 [Automatic (Separate)]
GROUP_2 [Link] BANK_0 [Automatic (Separate)]

With this configuration, only one kind of waveform archive is automatically created for BANK_0 and you can economize on ROM size.

However, if GROUP_1 and GROUP_2 are both [Embed] then the waveform archive for BANK_1 will be created in two locations in ROM.

EmbedGroup and Automatic (Shared) Bank

Group -- Output Method Bank -- Waveform Archive
GROUP_0 [Embed] BANK_0 [Automatic (Shared)]
BANK_1 [Automatic (Shared)]
BANK_2 [Automatic (Shared)]

In this case, the waveforms are collected together and a single waveform archive is created for banks BANK_0 ~ BANK_2. This waveform archive is referenced by three banks and contains no redundant waveforms (i.e., a single waveform is shared by multiple banks).

Compared to the explicit specification of waveform archives, this configuration has the merit of not going out of the way to create waveform archives. But on the downside, the waveforms can only be shared inside the group. There is also a downside to adding the following to the above configuration:

Group -- Output Method Bank -- Waveform Archive
GROUP_1 [Embed] BANK_0 [Automatic (Shared)]
BANK_3 [Automatic (Shared)]

In this case, the [Embed] groups GROUP_0 and GROUP_1 both contain BANK_0, and the waveform archives of GROUP_0 and GROUP_1 both contain waveforms that are referenced by BANK_0 (placed in duplicate locations in ROM), so the size of ROM becomes larger.

EmbedGroup and Automatic (Separate) Bank

Group -- Output Method Bank -- Waveform Archive
GROUP_0 [Embed] BANK_0 [Automatic (Separate)]
BANK_1 [Automatic (Separate)]
BANK_2 [Automatic (Separate)]

In this case, a separate waveform archive is implicitly created automatically for each of the banks, BANK_0 ~ BANK_2.

This configuration has merit when it is used in the way mentioned above in Uses for Automatic (Separate) Banks.


CONFIDENTIAL