Class RP_SYS_CustomPhraseValue
java.lang.Object
org.jjazz.rhythm.api.rhythmparameters.RP_SYS_CustomPhraseValue
- All Implemented Interfaces:
PropertyChangeListener
,EventListener
,MutableRpValue
public class RP_SYS_CustomPhraseValue
extends Object
implements MutableRpValue, PropertyChangeListener
A RhythmParameter to replace one or more RhythmVoice phrases by custom phrases.
All custom phrases start at beat 0. This is a mutable class which fires a ChangeEvent when a phrase is added/removed, or when an added phrase content is modified.
-
Constructor Summary
ConstructorDescriptionCreate a deep copy of the specified value. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addChangeListener
(ChangeListener listener) Be notified of value mutations (state changes).boolean
Get the custom phrase for the specified RhythmVoice.Get the RhythmVoices for which there is a custom phrase.Get the Rhythm which uses this RhythmParameter instance.int
hashCode()
static RP_SYS_CustomPhraseValue
loadFromString
(Rhythm r, String s) Create an object from a string.void
void
removeChangeListener
(ChangeListener listener) Remove the customized phrase for the specified RhythmVoice.static String
Save the specified object state as a string.void
set
(RP_SYS_CustomPhraseValue value) Set the customized phrases from the specified value (phrases are directly reused, not cloned).void
setCustomizedPhrase
(RhythmVoice rv, Phrase p) Set the customized phrase for the specified RhythmVoice.The list of RhythmVoice names sorted by preferred channel.toString()
-
Constructor Details
-
RP_SYS_CustomPhraseValue
-
RP_SYS_CustomPhraseValue
Create a deep copy of the specified value.- Parameters:
value
-
-
-
Method Details
-
set
Set the customized phrases from the specified value (phrases are directly reused, not cloned).- Parameters:
value
- Must share the same rhythm
-
getRhythmParameter
-
setCustomizedPhrase
Set the customized phrase for the specified RhythmVoice.- Parameters:
rv
- Must belong to the rhythmp
- Can't be null. Phrase starts at beat 0.
-
removeCustomizedPhrase
Remove the customized phrase for the specified RhythmVoice.- Parameters:
rv
-- Returns:
- The removed phrase, or null
-
getRhythm
Get the Rhythm which uses this RhythmParameter instance.- Returns:
-
getCustomizedPhrase
Get the custom phrase for the specified RhythmVoice.- Parameters:
rv
-- Returns:
- Null if no customized phrase for rv. Phrase starts at beat 0.
-
getCustomizedRhythmVoices
Get the RhythmVoices for which there is a custom phrase.- Returns:
- Empty set if no custom phrase.
-
toDescriptionString
The list of RhythmVoice names sorted by preferred channel.- Returns:
-
saveAsString
Save the specified object state as a string.Example "Bass%[PhraseString]&Piano%[PhraseString]" means 2 RhythmVoices/Phrases. "" means no custom phrase.
- Parameters:
v
-- Returns:
- See Also:
-
loadFromString()
-
loadFromString
Create an object from a string.- Parameters:
r
-s
-- Returns:
- Throws:
ParseException
- If s is invalid- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-
addChangeListener
Description copied from interface:MutableRpValue
Be notified of value mutations (state changes).Note that listeners won't be notified if a new RhythmParameter value instance is replaced by another one. Use SongStructure RpChangedEvent to get all types of RP value changes.
- Specified by:
addChangeListener
in interfaceMutableRpValue
-
removeChangeListener
- Specified by:
removeChangeListener
in interfaceMutableRpValue
-
propertyChange
- Specified by:
propertyChange
in interfacePropertyChangeListener
-