Show - Displaying music in jMusic
This tutorial introduces you to one of the
jMusic music utilities - ShowScore. ShowScore displays a score as pseudo
notation - half way between a piano roll display and common practice
notation. A score, part, or phrase can be viewed with ShowScore with
the command View.show(score) . The View class is part of the jm.util packagage so
classes using the Show utility will need to include the line import jm.util.*; (This will
already be in many classes which require the Write utility for MIDI
files.) When a score is viewed in this way it looks like this:
The ShowScore display has a number of features:
- Each part has a random colour. Notes in the one part will
be displayed with the same colour.
- The intensity of colour indicates the dynamic value of the
note. Lighter is louder.
- Chromatic notes are indicated with a sharp '#' symbol just
before their onset.
- Each phrase has a retangle around it so you can visualise
phrase groupings.
- The ruler bar along the bottom the window is divided into
beat increments. Every two beats a taller line is drawn.
- Clicking and dragging on the ruler bar can expand or
contract the horizontal scale of the display.
- Beat numbers will appear in the ruler bar every two beats
when the horizontal scale allows enough space.
At present showing only displays jMusic data and
connot be used to edit it. If you want to add that feature, all in the
jMusic community would be most grateful to you :-)
Click here to view source.
Lets have a closer look.
import jm.JMC; import jm.music.data.*; import jm.util.*;
|
Import statements will give us acess to certain
classes and packages:
jm.music.data.* for the Score,
Parts, Phrases etc.
jm.JMC
for constants like PIANO
jm.util.* for
View
public final class ShowFractal implements JMC{ public static void main(String[] args){ Score s = new Score("JMDemo - Show Fractal"); Part p = new Part("Piano", PIANO, 0); Phrase phr = new Phrase(0.0); . . . . Fractal generating code goes here . . . p.addPhrase(phr); s.addPart(p);
|
This code segment is simplified from the Fractal tutorial.
Here it is! Easy isn't it. To display the score
simply ask the View class to show an instance of Score, in this case
's'. An optional constructor can take two integer arguments which
specify the x,y location of the display window, eg. s.show(50, 20);
Note: We've left out any MIDIfile and jm file
saving routines from this explanation, to focus on the visualisation.
|