The Project Hierarchy

MAIDENS organizes your work in autonomous units, named projects. Conceptually, a project is somewhat like a musical opus. It assembles your musical score’s sections, and the additional assets you might be using — in our case, these translate to bound generators (read more about binding generators).

The project has a fixed hierarchic structure. Some members in this hierarchy are recipients that can be populated, some are end-points to specific configurations, and some are neither (they exist just for grouping purposes). The diagram and table below document in detail the anatomy of a project. Square brackets where used to depict optional items.

  • project
    • generators
      • [generator 1]
      • [generator 2]
      • [generator N]
    • score
      • section 1
        • part 1
          • measure 1
            • voice 1
              • cluster 1
                • [note 1]
                • [note 2]
                • [note N]
              • [cluster 2]
              • [cluster N]
            • [voice 2]
            • [voice N]
          • [measure 2]
          • [measure N]
        • [part 2]
        • [part N]
      • [section 2]
      • [section N]
Node Name Parent Children Editable Description
project generators, score  Yes Houses music and generators.
generators project [generator]  — Houses bindable generators.
generator generators  Yes Binds a bindable generator.
score project section  — Houses sections of music.
section score part Yes Groups music and accepts generators output.
part section measure Yes Represents a musical instrument playing in a section, ex. Flute.
measure part voice Yes Represents a musical measure.
voice measure cluster Yes Represents a polyphonic layer.
cluster voice [note] Yes Represents a note, rest or chord.
note cluster Yes Represents a musical pitch.


The Project panel represents this hierarchy as a tree with selectable items. Selecting an item will enable buttons for adding, removing, or reordering children where applicable. Also, if the item is editable, its parameters will be loaded in the Editor, with their current values.