Skip to content

2.4. Menu UI

Claudius Tiberiu Iacob edited this page Mar 5, 2024 · 6 revisions

Menu UI

What it is

The Menu is the most standardized piece of UI still in use today (despite Microsoft aiming to replace it with the ribbon). It is a horizontal list of categories. On click, each triggers a vertical list of actions that are relevant for the category, optionally forking into sub-actions.

How does it look/behave

The Menu is attached to the top of the main window or primary screen, depending on the operating system used. It provides both standard and custom entries, some of which change label and/or availability based on the current selection. For instance, you will find denial messages in the Edit menu when the current selection cannot be copied, cut or pasted.

The following tree describes in brief the name, job and whereabouts of all the entries currently available in MAIDENS' menu.

  • File

    Groups actions that mostly deal with file and content management.

    • New
      Creates a new, in-memory, untitled project based on the Default.maid template.

    • New from template...
      Opens the Navigator in a predefined folder, letting you select a template to use for creating a new project. Templates are bundled *.maid files that combine predefined score setups and generator configurations. Saving a loaded template will create a new file instead of changing it. If you want to use your own *.maid file as a template, save it to the templates folder.

    • Open...
      Opens the Navigator, letting you browse for previously saved projects (*.maid files) to load.

    • Save
      Causes changes made to currently loaded project to be saved to disk. On first run it will trigger a Save as operation instead, if this is a new/untitled project, or if it was based on a template.

    • Save as...
      Opens the Navigator, letting you browse for a disk location and file name to deposit the current project to. Saved file will always have a *.maid type.

    • Export
      Groups actions that let you transfer musical content to other programs, via various interchange formats. Generator information will not be included. All the actions below first open the Navigator to let you browse for a disk location and file name. The correct type for the saved file will automatically be chosen (e.g., *.mid, *.abc, *.xml, etc.).

      • To MIDI file...
        Exports the current project's score to a MIDI Type 1 file.

      • To ABC notation file...
        Exports the current project's score to an ABC notation file.

      • To MusicXML notation file...
        Exports the current project's score to an MusicXML notation file.

      • To PDF file...
        Exports the current project's score to a PDF file for printing or displaying by PDF compatible devices. The exported PDF will contain the same music as displayed on-screen, but slightly rearranged in a more compact formats. Also, some screen elements will be omitted from the PDF version (most notably section names).

      • To WAV file...
        Silently renders the current project's score to audio and saves it to a WAV file in CD quality format (44.1 kHz, 16-bit stereo).

    • Exit
      Causes MAIDENS to exit. If there are unsaved changes in the current project, MAIDENS will warn you first. Note: on macOS, this item is found under the MAIDENS menu.

  • Edit

    Provides traditional content editing operations. All entries in this menu are dynamic with respect to both content and availability: based on the current selection, the labels will change and/or become disabled.

    • [Undo]
      Available as Cannot undo or Undo (back to previous step name), e.g., Undo (back to project creation). Causes an older snapshot of the project to be restored, effectively erasing the changes brought by the last action performed. MAIDENS has a hard limit of 20 project snapshots that can be stored (which gives you at most 20 undo steps).

    • [Redo]
      Available as Cannot redo or, as soon as an action has been undone, Redo (go to undone action name), e.g., Redo (go to note creation). Causes the next snapshot in history to be restored, effectively doing again what was undone. This only works if no change was made to the project after performing Undo. If you change your project after undoing something, you loose the ability to use redo.

    • [Copy]
      Available as Cannot copy or Copy node type, e.g., Copy measure, based on the current selection. Currently, MAIDENS can only copy measures, voices and clusters, and only one at a time (there is no multiple selection at this point).

    • [Cut]
      Available as Cannot cut or Cut node type, e.g., Cut measure, based on the current selection. Currently, MAIDENS can only cut measures and clusters, and only one at a time (there is no multiple selection at this point). Also, there can be at most one Paste operation following a Cut operation. Cutting a supported node type removes it immediately (not at paste time, as is the case in other implementations).

    • [Paste]
      Available as Cannot paste or Paste type of node in clipboard, e.g., Paste measure, based on what has been previously copied or cut. Currently, MAIDENS requires that the target of a paste operation be of same type as the element in the clipboard. For instance, you cannot copy a Cluster and then expect to select a Voice and paste the cluster inside it (despite the fact that clusters are directly parented by voices). You will need to select another Cluster in order to invoke paste, because in MAIDENS pasting replaces the children of the target with copies of the children of the source. Therefore, if the menu entry displays Cannot paste, this may be either because there is nothing (yet) in the clipboard, or because the type of the currently selected element does not match the type of the element in the clipboard.

  • View

    Groups actions that deal with adjusting the application's appearance.

    • Theme
      Changes the colorization scheme of the UI to suit various lighting conditions. The change will be persisted the next time the application starts.

      • Light (Default)
        Applies the default colorization, consisting in light gray background, dark gray text and various shades of orange for active elements (buttons, list elements and score selectable hotspots).

      • Light High contrast
        Sacrifices detail in the Light (Default) theme to obtain improved contrast. Some hard edges might occur, especially on text.

      • Dark
        Applies a reverted colorization, consisting in dark gray background, light gray text and bright shades of orange for active elements (buttons, list elements and score selectable hotspots).

      • Dark High Contrast
        Sacrifices detail in the Dark theme to obtain improved contrast. Some hard edges might occur, especially on text.

  • Macros

    All MAIDENS' registered macros will have an entry point in this menu. Macros persist your preferences for the current session. If you want to execute a macro several times with the same configuration, you only need to click its name in this menu and press Apply.

    • Transpose...
      Invokes the Transpose Music macro, letting you perform chromatic transposition or create isomorphic harmonies.

    • Scale intervals...
      Invokes the Scale Intervals macro, letting you creatively alter the intervalics of an existing melodic line.

  • Help

    Groups various actions that could support you in better understanding or using the program. Historically, this menu kept changing from version to version, which makes describing it rather impractical.

What to Use it For

You mostly use the Menu to trigger actions that are either not exposed by the rest of the UI or not easily reachable.

Clone this wiki locally