Chapter 21. Score File Support
For much of the rest of this book, we will be concerned with creating the Minicomposer module. This module will allow you to enter a series of musical notes into a “score file,” “compile” them down to an audio file, and “execute” that audio file in the sense of playing it via the JavaSound API.
While no serious musician would find this module very useful, it is possible to explore a broad range of the NetBeans Open APIs in its implementation. Most importantly, you will learn how to use the different APIs in concert. (Excuse the pun!) Many real, complex modules follow the patterns shown in these chapters.
Overview—Functionality to be Implemented
The work flow for using the Minicomposer module should be familiar to you if you have used the NetBeans IDE. Its basic functionality is to support score files: an intentionally simple, artificial text format listing notes and durations. You have the choice of editing a score file in the text editor as a list of notes and values, or in a custom score editor component (GUI). A score file and its associated .au file will appear as a single node in the Explorer. Changes in the GUI editor will be synchronized with changes in the text editor. Score files will expose a set of editable properties and subnodes in the Explorer, and editing actions will be available from the context menu.
Samples of the code involved are given as we go. The complete source code for this example is available in the downloadable sources ...