Package com.softsynth.jmsl.score
Class ScoreFrame
java.lang.Object
com.softsynth.jmsl.view.PVFrameAdapter
com.softsynth.jmsl.score.ScoreFrame
- All Implemented Interfaces:
PVComponent
,PVFrame
,Alertable
,EditListener
,FileLoaderListener
,DirtyListener
,ScoreMIDIFileWriterListener
,NewScoreListener
,ScoreLoaderListener
,TempoResultProcessor
,TimeSigResultProcessor
,UndoRedoStackListener
,HierarchicalMenuListener
,PatchEditorListener
,java.awt.event.ActionListener
,java.awt.event.ItemListener
,java.util.EventListener
- Direct Known Subclasses:
ScoreFrameJavaSound
public class ScoreFrame extends PVFrameAdapter implements DirtyListener, java.awt.event.ActionListener, java.awt.event.ItemListener, TimeSigResultProcessor, TempoResultProcessor, NewScoreListener, EditListener, PatchEditorListener, HierarchicalMenuListener, FileLoaderListener, ScoreLoaderListener, Alertable, ScoreMIDIFileWriterListener, UndoRedoStackListener
A PVFrame (ie dual purpose Swing or AWT frame), which hosts numerous Scores, and provides Menus
for interaction.
- Author:
- Nick Didkovsky , copyright 2000 Nick Didkovsky
-
Field Summary
-
Constructor Summary
Constructors Constructor Description ScoreFrame()
ScoreFrame(java.lang.String title)
-
Method Summary
Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
void
addBinaryCopyBufferTransform(PVMenu menu, BinaryCopyBufferTransform transform, int shortCutKey)
Add a custom BinaryCopyBufferTransform to this ScoreFrame's "Binary Copy Buffer Transforms" menu.void
addBinaryCopyBufferTransform(BinaryCopyBufferTransform transform)
void
addBinaryCopyBufferTransform(BinaryCopyBufferTransform transform, int shortCutKey)
PVMenu
addBinaryTransformsSubMenu(java.lang.String name)
Add a submenu to to this ScoreFrame's "Binary Transforms" menu.void
addInstrument(Instrument ins)
Add an Instrument to the current score in this ScoreFrame.void
addInstrument(Instrument ins, java.lang.String name)
Same as addInstrument(ins), calls ins.setName() firstvoid
addInstrumentLibrary(com.jsyn.util.InstrumentLibrary insLib)
void
addNoteOrnament(NoteOrnament noteOrnament)
void
addNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform)
void
addNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey)
void
addNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey, boolean useShift)
Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.void
addNotePropertiesTransform(NotePropertiesTransform transform)
Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.void
addNotePropertiesTransform(NotePropertiesTransform transform, int shortCutKey)
Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.PVMenu
addNoteSubMenu(java.lang.String name)
Add a submenu to to this ScoreFrame's "Note Property Transforms" menu.void
addScore(Score score)
void
addScoreOperator(PVMenu menu, ScoreOperator operator)
void
addScoreOperator(ScoreOperator operator)
void
addUnaryCopyBufferTransform(PVMenu menu, UnaryCopyBufferTransform transform, int shortCutKey)
Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu.void
addUnaryCopyBufferTransform(UnaryCopyBufferTransform transform)
Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu.void
addUnaryCopyBufferTransform(UnaryCopyBufferTransform transform, int shortCutKey)
PVMenu
addUnaryTransformsSubMenu(java.lang.String name)
Add a submenu to to this ScoreFrame's "Unary Transforms" menu.void
alert(java.lang.String msg)
void
alert(java.lang.String title, java.lang.String msg)
void
buildHierachicalMenus()
void
displayCurrentScore()
void
displayScore(Score score)
void
dispose()
void
endOfScore()
ScoreLoaderListener interfacevoid
fileDoneLoading(java.lang.String msg)
FileLoaderListener interface , for loading Samplesvoid
fileLoading(java.lang.String msg)
FileLoaderListener interface , for loading Samplesboolean
getAutoOpenMixerFrame()
Score
getCurrentScore()
PVMenuBar
getMainMenuBar()
PVFrame
getMixerFrame()
java.lang.String
getMusPrefix()
java.lang.String
getTemplateName()
void
handleEditInstrument()
After instrument is edited in BeanEditor, objectEdited is calledvoid
handleExportLilyPond()
void
handleExportMIDIFile()
void
handleExportMusicXML()
void
handleExportScoreMUS()
void
handleImportJSynUnitVoice()
void
handleImportSignalProcessor()
void
handleLoadIns()
void
handleLoadOrch()
void
handleLoadSMuFLFile()
void
handleNewOrchestra()
void
handlePatchLurkers()
void
handlePatchOrch()
void
handleRemoveIns()
void
handleSaveIns()
void
handleSaveOrch()
void
handleScoreOperator(ScoreOperator scoreOperator)
void
hierarchicalMenuItemSelected(PVMenu menu, java.lang.String className)
void
isApplet(boolean flag)
Deprecated.Instead, call JMSL.setIsApplet(flag) before creating a ScoreFrame.void
itemStateChanged(java.awt.event.ItemEvent e)
void
loadPrefs()
static void
main(java.lang.String[] args)
void
noSound()
void
notifyDirty(Score score, boolean flag, java.lang.String msg)
void
notifyNewScore(Score score)
NewScoreListener interfacevoid
notifyUndoRedoStackChange(java.lang.String undoName, java.lang.String redoName)
void
objectEdited(java.lang.Object obj)
This is called when BeanEditor OK or Editable object calls backvoid
patchEditorOK(PatchEditorPanel p)
void
processTempoResult(double bpm, boolean b)
void
processTimeSigResult(int numer, int denom, boolean b)
void
quit()
void
removeScore(Score score)
void
reportMIDIFileWritten(boolean flag, java.lang.String message)
void
savePrefs()
java.lang.String
scanForClasses(java.util.Vector searchPaths)
Scan for plugins in searchpathsvoid
scoreLoaderMessage(java.lang.String msg)
ScoreLoaderListener interfacevoid
setAutoOpenMixerFrame(boolean b)
void
setMusPrefix(java.lang.String s)
void
setTemplateName(java.lang.String s)
void
setVisible(boolean f)
void
undoStackRestoredScore(Score score)
Methods inherited from class com.softsynth.jmsl.view.PVFrameAdapter
add, add, addKeyListener, addWindowListener, equals, getBackground, getBounds, getComponent, getFont, getFontMetrics, getLocation, getParent, getPVMenuBar, hashCode, isEnabled, isShowing, pack, removeAll, removeKeyListener, setBackground, setEnabled, setFont, setFrameLayout, setLocation, setPVMenuBar, setResizable, setSize, setSize, setTitle, toBack, toFront, toString, validate
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
-
Field Details
-
DEBUG
public boolean DEBUG -
copyright
public static final java.lang.String copyright- See Also:
- Constant Field Values
-
-
Constructor Details
-
ScoreFrame
public ScoreFrame() -
ScoreFrame
public ScoreFrame(java.lang.String title)
-
-
Method Details
-
getMainMenuBar
- Returns:
- main MenuBar of this ScoreFrame. This will either be a Swing JMenuBar or AWT MenuBar
-
noSound
public void noSound() -
isApplet
public void isApplet(boolean flag)Deprecated.Instead, call JMSL.setIsApplet(flag) before creating a ScoreFrame.Set flag to indicate whether or not this is operating in an applet. If so, various menu items are disabled and writing System.err to a StringBuffer is disabled (stuff that that would throw security exceptions in an Applet). -
addNoteSubMenu
Add a submenu to to this ScoreFrame's "Note Property Transforms" menu. Hold on to the Menu it returns this for adding your own transforms to it with public void addNotePropertiesTransform(Menu menu, NotePropertiesTransform transform, int shortCutKey)
Example:
Menu mySubMenu = addSubMenu("MyTransforms"); addNotePropertiesTransform(mySubMenu, new MyTransform(), KeyEvent.VK_xxx);
- Returns:
- the new Menu, which shall be a submenu in this ScoreFrame's "Note Property Transforms" menu.
-
addScoreOperator
-
addNoteOrnament
-
addScoreOperator
-
addUnaryTransformsSubMenu
Add a submenu to to this ScoreFrame's "Unary Transforms" menu. Hold on to the Menu it returns this for adding your own transforms to it with public void addUnaryCopyBufferTransform(Menu menu, UnaryCopyBufferTransform transform, int shortCutKey)
Example:
Menu mySubMenu = addUnaryTransformsSubMenu("MyUnaryTransforms"); addUnaryCopyBufferTransform(mySubMenu, mytransform, KeyEvent.VK_xxx) {
- Returns:
- the new Menu, which shall be a submenu in this ScoreFrame's "Binary Transforms" menu.
-
addBinaryTransformsSubMenu
Add a submenu to to this ScoreFrame's "Binary Transforms" menu. Hold on to the Menu it returns this for adding your own transforms to it with public void addBinaryCopyBufferTransform(Menu menu, BinaryCopyBufferTransform transform, int shortCutKey)
Example:
Menu mySubMenu = addBinaryTransformsSubMenu("MyTransforms"); addBinaryCopyBufferTransform(mySubMenu, mytransform, KeyEvent.VK_xxx) {
- Returns:
- the new Menu, which shall be a submenu in this ScoreFrame's "Binary Transforms" menu.
-
addNotePropertiesTransform
Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu. No shortcut key -
addNotePropertiesTransform
Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu. With shortcut key. Example: addNotePropertiesTransform(new TranspositionTransform(1), KeyEvent.VK_U); -
addNotePropertiesTransform
-
addNotePropertiesTransform
public void addNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey) -
addNotePropertiesTransform
public void addNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey, boolean useShift)Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu. Use shortcut key (See KeyEvent.VK_xxx)
Example: addNotePropertiesTransform(myGroupOfTransformsSubMenu, new TranspositionTransform(1), KeyEvent.VK_U); -
addUnaryCopyBufferTransform
Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu. with no shortcut key
Example: addUnaryCopyBufferTransform(new MyZTransform()); -
addUnaryCopyBufferTransform
-
addUnaryCopyBufferTransform
public void addUnaryCopyBufferTransform(PVMenu menu, UnaryCopyBufferTransform transform, int shortCutKey)Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu. Use shortcut key (See KeyEvent.VK_xxx) , or -1 for no short cut key
Example: addUnaryCopyBufferTransform(new MyZTransform(), KeyEvent.VK_Z); -
addBinaryCopyBufferTransform
-
addBinaryCopyBufferTransform
-
addBinaryCopyBufferTransform
public void addBinaryCopyBufferTransform(PVMenu menu, BinaryCopyBufferTransform transform, int shortCutKey)Add a custom BinaryCopyBufferTransform to this ScoreFrame's "Binary Copy Buffer Transforms" menu. Use shortcut key (See KeyEvent.VK_xxx)
Example: addBinaryCopyBufferTransform(new MyZTransform(), KeyEvent.VK_Z); -
addInstrumentLibrary
public void addInstrumentLibrary(com.jsyn.util.InstrumentLibrary insLib) -
notifyDirty
- Specified by:
notifyDirty
in interfaceDirtyListener
-
addScore
-
removeScore
-
displayCurrentScore
public void displayCurrentScore() -
displayScore
-
notifyUndoRedoStackChange
public void notifyUndoRedoStackChange(java.lang.String undoName, java.lang.String redoName)- Specified by:
notifyUndoRedoStackChange
in interfaceUndoRedoStackListener
-
undoStackRestoredScore
- Specified by:
undoStackRestoredScore
in interfaceUndoRedoStackListener
-
getCurrentScore
-
processTimeSigResult
public void processTimeSigResult(int numer, int denom, boolean b)- Specified by:
processTimeSigResult
in interfaceTimeSigResultProcessor
-
processTempoResult
public void processTempoResult(double bpm, boolean b)- Specified by:
processTempoResult
in interfaceTempoResultProcessor
-
notifyNewScore
NewScoreListener interface- Specified by:
notifyNewScore
in interfaceNewScoreListener
-
handleLoadSMuFLFile
public void handleLoadSMuFLFile() -
handleExportScoreMUS
public void handleExportScoreMUS() -
handleExportMusicXML
public void handleExportMusicXML() -
handleExportLilyPond
public void handleExportLilyPond() -
reportMIDIFileWritten
public void reportMIDIFileWritten(boolean flag, java.lang.String message)- Specified by:
reportMIDIFileWritten
in interfaceScoreMIDIFileWriterListener
-
handleExportMIDIFile
public void handleExportMIDIFile() -
setTemplateName
public void setTemplateName(java.lang.String s) -
getTemplateName
public java.lang.String getTemplateName() -
setMusPrefix
public void setMusPrefix(java.lang.String s) -
getMusPrefix
public java.lang.String getMusPrefix() -
handleNewOrchestra
public void handleNewOrchestra() -
handleLoadOrch
public void handleLoadOrch() -
patchEditorOK
- Specified by:
patchEditorOK
in interfacePatchEditorListener
-
handlePatchOrch
public void handlePatchOrch() -
handlePatchLurkers
public void handlePatchLurkers() -
handleSaveOrch
public void handleSaveOrch() -
handleLoadIns
public void handleLoadIns() -
addInstrument
Add an Instrument to the current score in this ScoreFrame. Adds to the Score's orchestra and updates menus and mixer frame -
addInstrument
Same as addInstrument(ins), calls ins.setName() first -
handleImportJSynUnitVoice
public void handleImportJSynUnitVoice() -
handleImportSignalProcessor
public void handleImportSignalProcessor() -
handleSaveIns
public void handleSaveIns() -
objectEdited
public void objectEdited(java.lang.Object obj)This is called when BeanEditor OK or Editable object calls back- Specified by:
objectEdited
in interfaceEditListener
-
handleEditInstrument
public void handleEditInstrument()After instrument is edited in BeanEditor, objectEdited is called -
handleRemoveIns
public void handleRemoveIns() -
handleScoreOperator
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)- Specified by:
actionPerformed
in interfacejava.awt.event.ActionListener
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent e)- Specified by:
itemStateChanged
in interfacejava.awt.event.ItemListener
-
scanForClasses
public java.lang.String scanForClasses(java.util.Vector searchPaths) throws java.lang.ClassNotFoundException, java.lang.IllegalAccessException, java.lang.InstantiationException, java.io.IOExceptionScan for plugins in searchpaths- Returns:
- missing paths
- Throws:
java.lang.ClassNotFoundException
java.lang.IllegalAccessException
java.lang.InstantiationException
java.io.IOException
-
buildHierachicalMenus
public void buildHierachicalMenus() -
hierarchicalMenuItemSelected
- Specified by:
hierarchicalMenuItemSelected
in interfaceHierarchicalMenuListener
-
alert
public void alert(java.lang.String msg) -
alert
public void alert(java.lang.String title, java.lang.String msg) -
setVisible
public void setVisible(boolean f)- Specified by:
setVisible
in interfacePVFrame
- Overrides:
setVisible
in classPVFrameAdapter
-
dispose
public void dispose()- Specified by:
dispose
in interfacePVFrame
- Overrides:
dispose
in classPVFrameAdapter
-
savePrefs
public void savePrefs() -
loadPrefs
public void loadPrefs() -
quit
public void quit() -
fileLoading
public void fileLoading(java.lang.String msg)FileLoaderListener interface , for loading Samples- Specified by:
fileLoading
in interfaceFileLoaderListener
-
fileDoneLoading
public void fileDoneLoading(java.lang.String msg)FileLoaderListener interface , for loading Samples- Specified by:
fileDoneLoading
in interfaceFileLoaderListener
-
scoreLoaderMessage
public void scoreLoaderMessage(java.lang.String msg)ScoreLoaderListener interface- Specified by:
scoreLoaderMessage
in interfaceScoreLoaderListener
-
endOfScore
public void endOfScore()ScoreLoaderListener interface- Specified by:
endOfScore
in interfaceScoreLoaderListener
-
getAutoOpenMixerFrame
public boolean getAutoOpenMixerFrame()- Returns:
- flag if mixer frame automatically opens when score is displayed or an instrument is added
-
setAutoOpenMixerFrame
public void setAutoOpenMixerFrame(boolean b)- Parameters:
b
- Set flag to signal whether Mixer Frame is automatically made visible when score is displayed or an instrument is added
-
getMixerFrame
- Returns:
- Frame used to display score.getOrchestra().getPanAmpControlPanel() Contents are removed and reloaded whenever displayScore() is called
-
main
public static void main(java.lang.String[] args)
-