public class Phrase extends java.lang.Object implements JMC, java.lang.Cloneable, java.io.Serializable
Part inst = new Part("Flute"); //Phrase for the right hand Phrase rightHand = new Phrase(0.0) //start this phrase on the first beat //Phrase for the left hand Phrase leftHane = new Phrase(4.0) //start this phrase on the fifth beat inst.addPhrase(rightHand); inst.addPhrase(leftHand);
Note
,
Part
,
Serialized FormModifier and Type | Field and Description |
---|---|
static boolean |
DEFAULT_APPEND |
static int |
DEFAULT_DENOMINATOR |
static int |
DEFAULT_INSTRUMENT |
static int |
DEFAULT_NUMERATOR |
static double |
DEFAULT_PAN |
static double |
DEFAULT_START_TIME |
static double |
DEFAULT_TEMPO |
static java.lang.String |
DEFAULT_TITLE |
static double |
MIN_START_TIME
The smallest start time in beats
|
AMPLITUDE, DEBUG, DYNAMIC, EIGHT_BIT, FREQUENCY, KEY_SIG_EVT, MONO, NO_DENOMINATOR, NO_INSTRUMENT, NO_KEY_QUALITY, NO_KEY_SIGNATURE, NO_NUMERATOR, OCTAPHONIC, PAN, PITCH, PROG_EVT, QUADRAPHONIC, RHYTHM, SIXTEEN_BIT, STEREO, TEMP_EVT, THIRTY_TWO_BIT, TIME_SIG_EVT, VERBOSE
C, CD, CDD, CROTCHET, CROTCHET_TRIPLET, CT, DC, DDC, DDEN, DDHN, DDM, DDQ, DDQN, DEMI_SEMI_QUAVER, DEMI_SEMI_QUAVER_TRIPLET, DEN, DHN, DM, DOTTED_CROTCHET, DOTTED_EIGHTH_NOTE, DOTTED_HALF_NOTE, DOTTED_MINIM, DOTTED_QUARTER_NOTE, DOTTED_QUAVER, DOTTED_SEMI_QUAVER, DOTTED_SIXTEENTH_NOTE, DOUBLE_DOTTED_CROTCHET, DOUBLE_DOTTED_EIGHTH_NOTE, DOUBLE_DOTTED_HALF_NOTE, DOUBLE_DOTTED_MINIM, DOUBLE_DOTTED_QUARTER_NOTE, DOUBLE_DOTTED_QUAVER, DQ, DQN, DSN, DSQ, DSQT, EIGHTH_NOTE, EIGHTH_NOTE_TRIPLET, EN, ENT, HALF_NOTE, HALF_NOTE_TRIPLET, HN, HNT, M, MD, MDD, MINIM, MINIM_TRIPLET, MT, Q, QD, QDD, QN, QNT, QT, QUARTER_NOTE, QUARTER_NOTE_TRIPLET, QUAVER, QUAVER_TRIPLET, SB, SEMI_QUAVER, SEMI_QUAVER_TRIPLET, SEMIBREVE, SIXTEENTH_NOTE, SIXTEENTH_NOTE_TRIPLET, SN, SNT, SQ, SQD, SQT, THIRTYSECOND_NOTE, THIRTYSECOND_NOTE_TRIPLET, TN, TNT, TSN, TSNT, WHOLE_NOTE, WN
a0, A0, a1, A1, a2, A2, a3, A3, a4, A4, a5, A5, a6, A6, a7, A7, a8, A8, af0, AF0, af1, AF1, af2, AF2, af3, AF3, af4, AF4, af5, AF5, af6, AF6, af7, AF7, af8, AF8, afn1, AFN1, an1, AN1, as0, AS0, as1, AS1, as2, AS2, as3, AS3, as4, AS4, as5, AS5, as6, AS6, as7, AS7, as8, AS8, asn1, ASN1, b0, B0, b1, B1, b2, B2, b3, B3, b4, B4, b5, B5, b6, B6, b7, B7, b8, B8, bf0, BF0, bf1, BF1, bf2, BF2, bf3, BF3, bf4, BF4, bf5, BF5, bf6, BF6, bf7, BF7, bf8, BF8, bfn1, BFN1, bn1, BN1, bs0, BS0, bs1, BS1, bs2, BS2, bs3, BS3, bs4, BS4, bs5, BS5, bs6, BS6, bs7, BS7, bs8, BS8, bsn1, BSN1, c0, C0, c1, C1, c2, C2, c3, C3, c4, C4, c5, C5, c6, C6, c7, C7, c8, C8, c9, C9, cf0, CF0, cf1, CF1, cf2, CF2, cf3, CF3, cf4, CF4, cf5, CF5, cf6, CF6, cf7, CF7, cf8, CF8, cf9, CF9, cn1, CN1, cs0, CS0, cs1, CS1, cs2, CS2, cs3, CS3, cs4, CS4, cs5, CS5, cs6, CS6, cs7, CS7, cs8, CS8, cs9, CS9, csn1, CSN1, d0, D0, d1, D1, d2, D2, d3, D3, d4, D4, d5, D5, d6, D6, d7, D7, d8, D8, d9, D9, df0, DF0, df1, DF1, df2, DF2, df3, DF3, df4, DF4, df5, DF5, df6, DF6, df7, DF7, df8, DF8, df9, DF9, dfn1, DFN1, dn1, DN1, ds0, DS0, ds1, DS1, ds2, DS2, ds3, DS3, ds4, DS4, ds5, DS5, ds6, DS6, ds7, DS7, ds8, DS8, ds9, DS9, dsn1, DSN1, e0, E0, e1, E1, e2, E2, e3, E3, e4, E4, e5, E5, e6, E6, e7, E7, e8, E8, e9, E9, ef0, EF0, ef1, EF1, ef2, EF2, ef3, EF3, ef4, EF4, ef5, EF5, ef6, EF6, ef7, EF7, ef8, EF8, ef9, EF9, efn1, EFN1, en1, EN1, es0, ES0, es1, ES1, es2, ES2, es3, ES3, es4, ES4, es5, ES5, es6, ES6, es7, ES7, es8, ES8, es9, ES9, esn1, ESN1, f0, F0, f1, F1, f2, F2, f3, F3, f4, F4, f5, F5, f6, F6, f7, F7, f8, F8, f9, F9, ff0, FF0, ff1, FF1, ff2, FF2, ff3, FF3, ff4, FF4, ff5, FF5, ff6, FF6, ff7, FF7, ff8, FF8, ff9, FF9, ffn1, FFN1, fn1, FN1, fs0, FS0, fs1, FS1, fs2, FS2, fs3, FS3, fs4, FS4, fs5, FS5, fs6, FS6, fs7, FS7, fs8, FS8, fs9, FS9, fsn1, FSN1, g0, G0, g1, G1, g2, G2, g3, G3, g4, G4, g5, G5, g6, G6, g7, G7, g8, G8, g9, G9, gf0, GF0, gf1, GF1, gf2, GF2, gf3, GF3, gf4, GF4, gf5, GF5, gf6, GF6, gf7, GF7, gf8, GF8, gf9, GF9, gfn1, GFN1, gn1, GN1, gs0, GS0, gs1, GS1, gs2, GS2, gs3, GS3, gs4, GS4, gs5, GS5, gs6, GS6, gs7, GS7, gs8, GS8, gsn1, GSN1, REST
FRQ
EQUAL, JUST, MEAN, PYTHAGOREAN
F, FF, FFF, FORTE, FORTISSIMO, MEZZO_FORTE, MEZZO_PIANO, MF, MP, P, PIANISSIMO, PP, PPP, SILENT
PAN_CENTER, PAN_CENTRE, PAN_LEFT, PAN_RIGHT
AAH, ABASS, AC_GUITAR, ACCORDION, ACOUSTIC_BASS, ACOUSTIC_GRAND, ACOUSTIC_GUITAR, AGOGO, AHHS, ALTO, ALTO_SAX, ALTO_SAXOPHONE, APPLAUSE, ATMOSPHERE, BAG_PIPES, BAGPIPE, BAGPIPES, BANDNEON, BANJO, BARI, BARI_SAX, BARITONE, BARITONE_SAX, BARITONE_SAXOPHONE, BASS, BASSOON, BELL, BELLS, BIRD, BOTTLE, BOTTLE_BLOW, BOWED_GLASS, BRASS, BREATH, BREATHNOISE, BRIGHT_ACOUSTIC, BRIGHTNESS, CALLOPE, CELESTA, CELESTE, CELLO, CGUITAR, CHARANG, CHIFFER, CHIFFER_LEAD, CHOIR, CHURCH_ORGAN, CLAR, CLARINET, CLAV, CLAVINET, CLEAN_GUITAR, CONCERTINA, CONTRA_BASS, CONTRABASS, CRYSTAL, CYMBAL, DGUITAR, DIST_GUITAR, DISTORTED_GUITAR, DOUBLE_BASS, DROPS, DRUM, DX_EPIANO, EBASS, ECHO, ECHO_DROP, ECHO_DROPS, ECHOS, EL_BASS, EL_GUITAR, ELECTRIC_BASS, ELECTRIC_GRAND, ELECTRIC_GUITAR, ELECTRIC_ORGAN, ELECTRIC_PIANO, ELPIANO, ENGLISH_HORN, EPIANO, EPIANO2, FANTASIA, FBASS, FIDDLE, FINGERED_BASS, FLUTE, FRENCH_HORN, FRET, FRET_NOISE, FRETLESS, FRETLESS_BASS, FRETNOISE, FRETS, GLOCK, GLOCKENSPIEL, GMSAW_WAVE, GMSQUARE_WAVE, GOBLIN, GT_HARMONICS, GUITAR, GUITAR_HARMONICS, GUNSHOT, HALO, HALO_PAD, HAMMOND_ORGAN, HARMONICA, HARMONICS, HARP, HARPSICHORD, HELICOPTER, HONKYTONK, HONKYTONK_PIANO, HORN, ICE_RAIN, ICERAIN, JAZZ_GUITAR, JAZZ_ORGAN, JGUITAR, KALIMBA, KOTO, MARIMBA, METAL_PAD, MGUITAR, MUSIC_BOX, MUTED_GUITAR, MUTED_TRUMPET, NGUITAR, NYLON_GUITAR, OBOE, OCARINA, OGUITAR, OOH, OOHS, ORCHESTRA_HIT, ORGAN, ORGAN2, ORGAN3, OVERDRIVE_GUITAR, PAD, PAN_FLUTE, PANFLUTE, PBASS, PHONE, PIANO, PIANO_ACCORDION, PIC, PICC, PICCOLO, PICKED_BASS, PIPE_ORGAN, PIPES, PITZ, PIZZ, PIZZICATO_STRINGS, POLY_SYNTH, POLYSYNTH, PSTRINGS, RAIN, RECORDER, REED_ORGAN, REVERSE_CYMBAL, RHODES, SAW, SAWTOOTH, SAX, SAXOPHONE, SBASS, SEA, SEASHORE, SFX, SGUITAR, SHAKUHACHI, SHAMISEN, SHANNAI, SITAR, SLAP, SLAP_BASS, SLAP_BASS_1, SLAP_BASS_2, SLOW_STRINGS, SOLO_VOX, SOP, SOPRANO, SOPRANO_SAX, SOPRANO_SAXOPHONE, SOUNDEFFECTS, SOUNDFX, SOUNDTRACK, SPACE_VOICE, SQUARE, STAR_THEME, STEEL_DRUM, STEEL_DRUMS, STEEL_GUITAR, STEELDRUM, STEELDRUMS, STR, STREAM, STRING_ENSEMBLE_1, STRING_ENSEMBLE_2, STRINGS, SWEEP, SWEEP_PAD, SYN_CALLIOPE, SYNTH_BASS, SYNTH_BASS_1, SYNTH_BASS_2, SYNTH_BRASS, SYNTH_BRASS_1, SYNTH_BRASS_2, SYNTH_CALLIOPE, SYNTH_DRUM, SYNTH_DRUMS, SYNTH_STRINGS, SYNTH_STRINGS_1, SYNTH_STRINGS_2, SYNVOX, TAIKO, TELEPHONE, TENOR, TENOR_SAX, TENOR_SAXOPHONE, THUMB_PIANO, THUNDER, TIMP, TIMPANI, TINKLE_BELL, TOM, TOM_TOM, TOM_TOMS, TOMS, TREMOLO, TREMOLO_STRINGS, TROMBONE, TRUMPET, TUBA, TUBULAR_BELL, TUBULAR_BELLS, VIBES, VIBRAPHONE, VIOLA, VIOLIN, VIOLIN_CELLO, VOICE, VOX, WARM_PAD, WHISTLE, WIND, WOODBLOCK, WOODBLOCKS, XYLOPHONE
ACOUSTIC_BASS_DRUM, ACOUSTIC_SNARE, BASS_DRUM_1, CABASA, CHINESE_CYMBAL, CLAVES, CLOSED_HI_HAT, COWBELL, CRASH_CYMBAL_1, CRASH_CYMBAL_2, ELECTRIC_SNARE, HAND_CLAP, HI_BONGO, HI_MID_TOM, HI_WOOD_BLOCK, HIGH_AGOGO, HIGH_FLOOR_TOM, HIGH_TIMBALE, HIGH_TOM, LONG_GUIRO, LONG_WHISTLE, LOW_AGOGO, LOW_BONGO, LOW_CONGA, LOW_FLOOR_TOM, LOW_MID_TOM, LOW_TIMBALE, LOW_TOM, LOW_WOOD_BLOCK, MARACAS, MUTE_CUICA, MUTE_HI_CONGA, MUTE_TRIANGLE, OPEN_CUICA, OPEN_HI_CONGA, OPEN_HI_HAT, OPEN_TRIANGLE, PEDAL_HI_HAT, RIDE_BELL, RIDE_CYMBAL_1, RIDE_CYMBAL_2, SHORT_GUIRO, SHORT_WHISTLE, SIDE_STICK, SPLASH_CYMBAL, TAMBOURINE, VIBRASLAP
AEOLIAN_SCALE, BLUES_SCALE, CHROMATIC_SCALE, DIATONIC_MINOR_SCALE, DORIAN_SCALE, HARMONIC_MINOR_SCALE, INDIAN_SCALE, LYDIAN_SCALE, MAJOR_SCALE, MELODIC_MINOR_SCALE, MINOR_SCALE, MIXOLYDIAN_SCALE, NATURAL_MINOR_SCALE, PENTATONIC_SCALE, TURKISH_SCALE
COSINE_WAVE, PULSE_WAVE, SABERSAW_WAVE, SAWDOWN_WAVE, SAWTOOTH_WAVE, SINE_WAVE, SQUARE_WAVE, TRIANGLE_WAVE
BROWN_NOISE, FRACTAL_NOISE, SMOOTH_NOISE, STEP_NOISE, WHITE_NOISE
AFTER, BEFORE, CENTER_ALIGN, CENTER_ON_END, CENTER_ON_START, CENTRE_ALIGN, CENTRE_ON_END, CENTRE_ON_START, END_ON_CENTER, END_ON_CENTRE, END_TOGETHER, START_ON_CENTER, START_ON_CENTRE, START_TOGETHER
Constructor and Description |
---|
Phrase()
Creates an empty Phrase.
|
Phrase(double startTime)
Creates an empty Phrase starting at the specified beat.
|
Phrase(double startTime,
int instrument)
Creates an empty Phrase
|
Phrase(Note note)
Constructs a new Phrase containing the specified
note . |
Phrase(Note[] notes)
Constructs a new Phrase containing the specified
notes . |
Phrase(Note[] notes,
java.lang.String title)
Constructs a new Phrase containing the specified
notes with
the specified title . |
Phrase(Note note,
double startTime)
Constructs a new Phrase containing the specified
note with
the specified title . |
Phrase(Note note,
java.lang.String title)
Constructs a new Phrase containing the specified
note with
the specified title . |
Phrase(java.lang.String title)
Creates an empty Phrase
|
Phrase(java.lang.String title,
double startTime)
Creates an empty Phrase.
|
Phrase(java.lang.String title,
double startTime,
int instrument)
Creates an empty Phrase.
|
Phrase(java.lang.String title,
double startTime,
int instrument,
boolean append)
Creates an empty Phrase.
|
Modifier and Type | Method and Description |
---|---|
void |
add(Note note)
Add a note to this Phrase
|
void |
addChord(int[] pitches,
double rv)
Adds Multiple notes to the phrase all of which start at the same time
and share the same duration.
|
void |
addNote(int pitch,
double rv)
Add a note to this Phrase
|
void |
addNote(Note note)
Add a note to this Phrase
|
void |
addNoteList(double[] pitchAndRhythmArray)
Adds Multiple notes to the phrase from one array of pitch, rhythm pairs
|
void |
addNoteList(double[] freqArray,
double rhythmValue)
Adds Multiple notes to the phrase from an array of frequency values
|
void |
addNoteList(double[] freqArray,
double[] rhythmArray)
Adds Multiple notes to the phrase from several arrays
|
void |
addNoteList(double[] freqArray,
double[] rhythmArray,
int[] dynamic)
Adds Multiple notes to the phrase from several arrays
|
void |
addNoteList(double[] freqArray,
double[] rhythmArray,
int[] dynamic,
boolean append)
Adds Multiple notes to the phrase from several arrays
A boolean option when true appends the notes to the end of the list
if non true the current list is errased and replaced by the new notes
|
void |
addNoteList(double frequency,
double[] rhythms)
Adds Multiple notes to the phrase from one pitch and an array of rhythm values
|
void |
addNoteList(int[] pitchArray,
double rhythmValue)
Adds Multiple notes to the phrase from a pitch array and rhythm value
|
void |
addNoteList(int[] pitchArray,
double[] rhythmArray)
Adds Multiple notes to the phrase from several arrays
|
void |
addNoteList(int[] pitchArray,
double[] rhythmArray,
int[] dynamic)
Adds Multiple notes to the phrase from several arrays
|
void |
addNoteList(int[] pitchArray,
double[] rhythmArray,
int[] dynamic,
boolean append)
Adds Multiple notes to the phrase from several arrays
A boolean option when true appends the notes to the end of the list
if non true the current list is errased and replaced by the new notes
|
void |
addNoteList(int[] pitchArray,
double rhythmValue,
int dynamic)
Adds Multiple notes to the phrase from a pitch array, rhythm value, and dynmaic value
|
void |
addNoteList(int pitch,
double[] rhythms)
Adds Multiple notes to the phrase from one pitch and an array of rhythm values
|
void |
addNoteList(Note[] notes)
Appends the specified notes to the end of this Phrase.
|
void |
addNoteList(Note[] noteArray,
boolean append)
Adds an array of notes to the phrase.
|
void |
addNoteList(java.util.Vector noteVector,
boolean append)
Adds a vector of notes to the phrase.
|
void |
addRest(Rest newRest)
Add a rest to this Phrase
|
Phrase |
alias()
Returns a carbon copy of a specified Phrase
Changes to notes in the original or the alias will be echoed in the other.
|
boolean |
attemptAnchoringTo(Phrase anchor,
Alignment alignment,
double offset)
The positions tries the phrase relative to another using the
alignment specified.
|
Phrase |
copy()
Returns a copy of the entire Phrase
|
Phrase |
copy(double startLoc,
double endLoc)
Returns a copy of a specified section of the Phrase,
pads beginning and end with shortedend notes and rests
if notes or phrase boundaries don't align with locations.
|
Phrase |
copy(double startLoc,
double endLoc,
boolean requireNoteStart)
Returns a copy of a specified section of the Phrase,
pads beginning and end with shortedend notes and rests
if notes or phrase boundaries don't align with locations.
|
Phrase |
copy(double startLoc,
double endLoc,
boolean trimmed,
boolean truncated,
boolean startTimeShifts)
Returns a copy of a specified section of the Phrase,
pads beginning and end with shortedend notes and rests
if notes or phrase boundaries don't align with locations.
|
Phrase |
copy(int highestPitch,
int lowestPitch)
Returns a copy of the entire Phrase only ontaining notes
between highest and lowset specified pitch.
|
Note |
createNote()
Generates and returns a new note with default values
and adds it to this phrase.
|
void |
empty()
Empty removes all elements in the note list vector
|
Anchoring |
getAnchoring()
Returns details of how this is aligned relative to another phrase.
|
boolean |
getAppend()
Return this phrases append status
|
double |
getBeatLength()
Return the Duration of the phrase in beats.
|
int |
getDenominator()
Returns the denominator of the Phrase's time signature
|
int[] |
getDynamicArray() |
double |
getEndTime()
Return the phrases endTime
|
int |
getHighestPitch()
Return the pitch value of the highest note in the phrase.
|
int |
getInstrument()
Return the program change assigned by this phrase
|
Phrase |
getLinkedPhrase()
Return this phrases this phrase is linked to
|
double |
getLongestRhythmValue()
Return the value of the longest rhythm value in the phrase.
|
int |
getLowestPitch()
Return the pitch value of the lowest note in the phrase.
|
boolean |
getMute()
Retrieve the current mute status.
|
Part |
getMyPart()
returns a reference to the part that contains this phrase
|
Note |
getNote(int number)
Get an individual note object by its number
|
Note[] |
getNoteArray()
Returns the all notes in the phrase as a array of notes
|
java.util.Vector |
getNoteList()
Returns the entire note list contained in a single voice
|
double |
getNoteStartTime(int noteIndex)
Calculate the start time, in beats, of the note at the specified index.
|
int |
getNumerator()
Returns the numerator of the Phrase's time signature
|
double |
getPan()
Return the pan position for this phrase
|
int[] |
getPitchArray() |
double[] |
getRhythmArray() |
double |
getShortestRhythmValue()
Return the value of the shortest rhythm value in the phrase.
|
int |
getSize()
Get the number of notes in this phrase
|
double |
getStartTime()
Return the phrase's startTime
|
double |
getTempo()
Return the tempo in beats per minute for this phrase
|
java.lang.String |
getTitle()
Return this phrases title
|
int |
length()
Get the number of notes in this phrase
|
void |
removeLastNote()
Deletes the last note in the phrase
|
void |
removeNote(int noteNumb)
Deletes the specified note in the phrase
|
void |
removeNote(Note note)
Deletes the first occurence of the specified note in the phrase
|
void |
setAppend(boolean append)
Gives the Phrase a new append status
|
void |
setDenominator(int dem)
Specifies the denominator of the Phrase's time signature
|
void |
setDuration(double val)
Change the Duration value of each note in the phrase.
|
void |
setDynamic(int dyn)
Change the dynamic value of each note in the phrase.
|
void |
setInstrument(int value)
Sets the program change value
|
void |
setLength(double newLength)
Change both the rhythmValue and duration of each note in the phrase.
|
void |
setLinkedPhrase(Phrase link)
Make a link from this phrase to another
|
void |
setMute(boolean state)
Specify the mute status of this phrase.
|
void |
setMyPart(Part part)
Sets a reference to the part containing this phrase
|
void |
setNote(Note n,
int index) |
void |
setNoteList(java.util.Vector newNoteList)
Replaces the entire note list with a new note list vector
|
void |
setNumerator(int num)
Specifies the numerator of the Phrase's time signature
|
void |
setPan(double pan)
Determine the pan position for all notes in this phrase.
|
void |
setPitch(int val)
Change the pitch value of each note in the phrase.
|
void |
setRhythmValue(double val)
Change the rhythmValue value of each note in the phrase.
|
void |
setStartTime(double startTime)
Sets the phrases startTime
|
void |
setTempo(double newTempo)
Determine the tempo in beats per minute for this phrase
|
void |
setTitle(java.lang.String title)
Gives the Phrase a new title
|
int |
size()
Get the number of notes in this phrase
|
java.lang.String |
toString()
Prints the tracks attributes to stdout
|
public static final double MIN_START_TIME
public static final java.lang.String DEFAULT_TITLE
public static final double DEFAULT_START_TIME
public static final int DEFAULT_INSTRUMENT
public static final boolean DEFAULT_APPEND
public static final double DEFAULT_TEMPO
public static final double DEFAULT_PAN
public static final int DEFAULT_NUMERATOR
public static final int DEFAULT_DENOMINATOR
public Phrase()
public Phrase(double startTime)
startTime
- The beat at which the phrase will be positioned in its part.public Phrase(double startTime, int instrument)
startTime
- The beat at which the phrase will be positioned in its part.instrument
- The sound or instrument number to be used for this phrase.public Phrase(java.lang.String title)
title
- The name for the phrase.public Phrase(java.lang.String title, double startTime)
title
- The name for the phrase.startTime
- The beat at which the phrase will be positioned in its part.public Phrase(java.lang.String title, double startTime, int instrument)
title
- The name for the phrase.startTime
- The beat at which the phrase will be positioned in its part.instrument
- The sound or instrument number to be used for this phrase.public Phrase(java.lang.String title, double startTime, int instrument, boolean append)
title
- The name for the phrase.startTime
- The beat at which the phrase will be positioned in its part.instrument
- The sound or instrument number to be used for this phrase.append
- A flag specifying wheather or not this phrase should be added to the
end of the part it is added too, or should use its start time value.public Phrase(Note note)
note
.note
- Note to be containing by the phrase.public Phrase(Note[] notes)
notes
.notes
- array of Note to be contained by the phrase.public Phrase(Note note, java.lang.String title)
note
with
the specified title
.note
- Note to be containing by the phrase.title
- String describing the title of the Phrase.public Phrase(Note[] notes, java.lang.String title)
notes
with
the specified title
.notes
- array of Note to be contained by the phrase.title
- String describing the title of the Phrase.public Phrase(Note note, double startTime)
note
with
the specified title
.note
- Note to be containing by the phrase.title
- String describing the title of the Phrase.public int getInstrument()
public void setInstrument(int value)
int
- program changepublic void addNote(Note note)
Note
- note - add a note to this phrasepublic void addNote(int pitch, double rv)
pitch
- -the pitch of the noterv
- - the rhythmValue of the notepublic void add(Note note)
Note
- note - add a note to this phrasepublic void addRest(Rest newRest)
Rest
- rest - The rest to be added to this phrasepublic void addNoteList(Note[] notes)
array
- of Notes to append.public void addNoteList(java.util.Vector noteVector, boolean append)
noteVector
- the vector of notes to addappend
- do we append or not?public void addNoteList(Note[] noteArray, boolean append)
noteArray
- the array of notes to addappend
- do we append or not?public void addNoteList(int[] pitchArray, double rhythmValue)
pitchArray
- array of pitch valuesrhythmValue
- a rhythmic valuepublic void addNoteList(int[] pitchArray, double rhythmValue, int dynamic)
pitchArray
- - An array of pitch valuesrhythmValue
- - A rhythmic valuedynamic
- - A dynmaic value (1-127)public void addNoteList(double[] freqArray, double rhythmValue)
freqArray
- array of freequency valuesrhythmValue
- a rhythmic valuepublic void addNoteList(int[] pitchArray, double[] rhythmArray)
pitchArray
- array of pitch valuesrhythmArray
- array of rhythmic valuespublic void addNoteList(double[] freqArray, double[] rhythmArray)
freqArray
- array of frequency valuesrhythmArray
- array of rhythmic valuespublic void addNoteList(int[] pitchArray, double[] rhythmArray, int[] dynamic)
pitchArray
- array of pitch valuesrhythmArray
- array of rhythmic valuesdynmaic
- array of dynamic valuespublic void addNoteList(double[] freqArray, double[] rhythmArray, int[] dynamic)
freqArray
- array of frequency valuesrhythmArray
- array of rhythmic valuesdynmaic
- array of dynamic valuespublic void addNoteList(int[] pitchArray, double[] rhythmArray, int[] dynamic, boolean append)
pitchArray
- array of pitch valuesrhythmArray
- array of rhythmic valuesdynamic
- intappend
- do we append or not?public void addNoteList(double[] freqArray, double[] rhythmArray, int[] dynamic, boolean append)
freqArray
- array of frequency valuesrhythmArray
- array of rhythmic valuesdynamic
- intappend
- do we append or not?public void addNoteList(double[] pitchAndRhythmArray)
pitchAndRhythmArray
- - an array of pitch and rhythm valuespublic void addNoteList(int pitch, double[] rhythms)
pitch
- The pitch values for the notesrhythms
- An array of rhythm valuespublic void addNoteList(double frequency, double[] rhythms)
frequency
- The pitch values for the notes in hertzrhythms
- An array of rhythm valuespublic void addChord(int[] pitches, double rv)
pitches
- An array of pitch valuesrv
- the rhythmValuepublic int[] getPitchArray()
public double[] getRhythmArray()
public int[] getDynamicArray()
public void removeNote(int noteNumb)
int
- noteNumb the index of the note to be deletedpublic void removeNote(Note note)
note
- the note object to be deleted.public void removeLastNote()
public java.util.Vector getNoteList()
public void setNoteList(java.util.Vector newNoteList)
Vector
- of notespublic Note[] getNoteArray()
public double getStartTime()
public void setStartTime(double startTime)
This positions the phrase absolutely. If this phrase is currently positioned relative to another phrase that anchoring will be lost.
To position this relative to another class use the
anchor
method instead.
double
- the time at which to start the phrasepublic boolean attemptAnchoringTo(Phrase anchor, Alignment alignment, double offset)
The positions tries the phrase relative to another using the alignment specified. If the arrangement causes this class to start before a start time of 0.0, the repositioning is considered invalid and will fail. The original positioning will be restored and this method will return false. If successful, the previous positioning whether absolute or relative will be lost.
To position this absolutely use the setStartTime
method instead.
anchor
- the phrase against which this should be positionedalignment
- how this should be positioned relative to anchorpublic Anchoring getAnchoring()
public double getEndTime()
public java.lang.String getTitle()
public void setTitle(java.lang.String title)
phrases
- titlepublic boolean getAppend()
public void setAppend(boolean append)
boolean
- the append statuspublic Phrase getLinkedPhrase()
public void setLinkedPhrase(Phrase link)
Phrase
- the phrase to link topublic double getPan()
public void setPan(double pan)
double
- the phrase's pan settingpublic double getTempo()
public void setTempo(double newTempo)
double
- the phrase's tempopublic Note getNote(int number)
int
- number - the number of the Track to returnpublic int length()
public int size()
public int getSize()
public int getNumerator()
public void setNumerator(int num)
int
- time signature numeratorpublic int getDenominator()
public void setDenominator(int dem)
int
- time signature denominatorpublic void setMyPart(Part part)
public Part getMyPart()
public Phrase copy()
public Phrase copy(double startLoc, double endLoc)
double
- start locationdouble
- end locationpublic Phrase copy(double startLoc, double endLoc, boolean requireNoteStart)
double
- start locationdouble
- end locationboolean
- requireNoteStart If true, only notes that start inside
the copy range are included in the copy. Notes starting prior but
overlapping are replaced by rests. Otherwise sections of notes inseide
the bounds are included.public Phrase copy(double startLoc, double endLoc, boolean trimmed, boolean truncated, boolean startTimeShifts)
boolean
- trimmed wether to truncte notes (as per the
other versions of copy) or notboolean
- startTimeShifts wether to shift the start
time or to add a rest if if the start is afte startlocdouble
- start locationdouble
- end locationpublic Phrase copy(int highestPitch, int lowestPitch)
public java.lang.String toString()
toString
in class java.lang.Object
public void empty()
public Phrase alias()
public int getHighestPitch()
public int getLowestPitch()
public double getLongestRhythmValue()
public double getShortestRhythmValue()
public void setDynamic(int dyn)
public void setPitch(int val)
public void setRhythmValue(double val)
public void setDuration(double val)
public double getBeatLength()
public Note createNote()
public void setNote(Note n, int index)
public void setMute(boolean state)
state
- True or False, muted or not.public boolean getMute()
public void setLength(double newLength)
newLength
- The new rhythmValue for the note (Duration is a proportion of this value)public double getNoteStartTime(int noteIndex)
noteIndex
- The note's position in the phrase.