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 voidactionPerformed(java.awt.event.ActionEvent e)voidaddBinaryCopyBufferTransform(PVMenu menu, BinaryCopyBufferTransform transform, int shortCutKey)Add a custom BinaryCopyBufferTransform to this ScoreFrame's "Binary Copy Buffer Transforms" menu.voidaddBinaryCopyBufferTransform(BinaryCopyBufferTransform transform)voidaddBinaryCopyBufferTransform(BinaryCopyBufferTransform transform, int shortCutKey)PVMenuaddBinaryTransformsSubMenu(java.lang.String name)Add a submenu to to this ScoreFrame's "Binary Transforms" menu.voidaddInstrument(Instrument ins)Add an Instrument to the current score in this ScoreFrame.voidaddInstrument(Instrument ins, java.lang.String name)Same as addInstrument(ins), calls ins.setName() firstvoidaddInstrumentLibrary(com.jsyn.util.InstrumentLibrary insLib)voidaddNoteOrnament(NoteOrnament noteOrnament)voidaddNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform)voidaddNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey)voidaddNotePropertiesTransform(PVMenu menu, NotePropertiesTransform transform, int shortCutKey, boolean useShift)Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.voidaddNotePropertiesTransform(NotePropertiesTransform transform)Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.voidaddNotePropertiesTransform(NotePropertiesTransform transform, int shortCutKey)Add a custom NotePropertiesTransform to this ScoreFrame's "Note Property Transforms" menu.PVMenuaddNoteSubMenu(java.lang.String name)Add a submenu to to this ScoreFrame's "Note Property Transforms" menu.voidaddScore(Score score)voidaddScoreOperator(PVMenu menu, ScoreOperator operator)voidaddScoreOperator(ScoreOperator operator)voidaddUnaryCopyBufferTransform(PVMenu menu, UnaryCopyBufferTransform transform, int shortCutKey)Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu.voidaddUnaryCopyBufferTransform(UnaryCopyBufferTransform transform)Add a custom UnaryCopyBufferTransform to this ScoreFrame's "Unary Copy Buffer Transforms" menu.voidaddUnaryCopyBufferTransform(UnaryCopyBufferTransform transform, int shortCutKey)PVMenuaddUnaryTransformsSubMenu(java.lang.String name)Add a submenu to to this ScoreFrame's "Unary Transforms" menu.voidalert(java.lang.String msg)voidalert(java.lang.String title, java.lang.String msg)voidbuildHierachicalMenus()voiddisplayCurrentScore()voiddisplayScore(Score score)voiddispose()voidendOfScore()ScoreLoaderListener interfacevoidfileDoneLoading(java.lang.String msg)FileLoaderListener interface , for loading SamplesvoidfileLoading(java.lang.String msg)FileLoaderListener interface , for loading SamplesbooleangetAutoOpenMixerFrame()ScoregetCurrentScore()PVMenuBargetMainMenuBar()PVFramegetMixerFrame()java.lang.StringgetMusPrefix()java.lang.StringgetTemplateName()voidhandleEditInstrument()After instrument is edited in BeanEditor, objectEdited is calledvoidhandleExportLilyPond()voidhandleExportMIDIFile()voidhandleExportMusicXML()voidhandleExportScoreMUS()voidhandleImportJSynUnitVoice()voidhandleImportSignalProcessor()voidhandleLoadIns()voidhandleLoadOrch()voidhandleLoadSMuFLFile()voidhandleNewOrchestra()voidhandlePatchLurkers()voidhandlePatchOrch()voidhandleRemoveIns()voidhandleSaveIns()voidhandleSaveOrch()voidhandleScoreOperator(ScoreOperator scoreOperator)voidhierarchicalMenuItemSelected(PVMenu menu, java.lang.String className)voidisApplet(boolean flag)Deprecated.Instead, call JMSL.setIsApplet(flag) before creating a ScoreFrame.voiditemStateChanged(java.awt.event.ItemEvent e)voidloadPrefs()static voidmain(java.lang.String[] args)voidnoSound()voidnotifyDirty(Score score, boolean flag, java.lang.String msg)voidnotifyNewScore(Score score)NewScoreListener interfacevoidnotifyUndoRedoStackChange(java.lang.String undoName, java.lang.String redoName)voidobjectEdited(java.lang.Object obj)This is called when BeanEditor OK or Editable object calls backvoidpatchEditorOK(PatchEditorPanel p)voidprocessTempoResult(double bpm, boolean b)voidprocessTimeSigResult(int numer, int denom, boolean b)voidquit()voidremoveScore(Score score)voidreportMIDIFileWritten(boolean flag, java.lang.String message)voidsavePrefs()java.lang.StringscanForClasses(java.util.Vector searchPaths)Scan for plugins in searchpathsvoidscoreLoaderMessage(java.lang.String msg)ScoreLoaderListener interfacevoidsetAutoOpenMixerFrame(boolean b)voidsetMusPrefix(java.lang.String s)voidsetTemplateName(java.lang.String s)voidsetVisible(boolean f)voidundoStackRestoredScore(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, validateMethods 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:
notifyDirtyin interfaceDirtyListener
-
addScore
-
removeScore
-
displayCurrentScore
public void displayCurrentScore() -
displayScore
-
notifyUndoRedoStackChange
public void notifyUndoRedoStackChange(java.lang.String undoName, java.lang.String redoName)- Specified by:
notifyUndoRedoStackChangein interfaceUndoRedoStackListener
-
undoStackRestoredScore
- Specified by:
undoStackRestoredScorein interfaceUndoRedoStackListener
-
getCurrentScore
-
processTimeSigResult
public void processTimeSigResult(int numer, int denom, boolean b)- Specified by:
processTimeSigResultin interfaceTimeSigResultProcessor
-
processTempoResult
public void processTempoResult(double bpm, boolean b)- Specified by:
processTempoResultin interfaceTempoResultProcessor
-
notifyNewScore
NewScoreListener interface- Specified by:
notifyNewScorein 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:
reportMIDIFileWrittenin 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:
patchEditorOKin 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:
objectEditedin 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:
actionPerformedin interfacejava.awt.event.ActionListener
-
itemStateChanged
public void itemStateChanged(java.awt.event.ItemEvent e)- Specified by:
itemStateChangedin 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.ClassNotFoundExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationExceptionjava.io.IOException
-
buildHierachicalMenus
public void buildHierachicalMenus() -
hierarchicalMenuItemSelected
- Specified by:
hierarchicalMenuItemSelectedin 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:
setVisiblein interfacePVFrame- Overrides:
setVisiblein classPVFrameAdapter
-
dispose
public void dispose()- Specified by:
disposein interfacePVFrame- Overrides:
disposein 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:
fileLoadingin interfaceFileLoaderListener
-
fileDoneLoading
public void fileDoneLoading(java.lang.String msg)FileLoaderListener interface , for loading Samples- Specified by:
fileDoneLoadingin interfaceFileLoaderListener
-
scoreLoaderMessage
public void scoreLoaderMessage(java.lang.String msg)ScoreLoaderListener interface- Specified by:
scoreLoaderMessagein interfaceScoreLoaderListener
-
endOfScore
public void endOfScore()ScoreLoaderListener interface- Specified by:
endOfScorein 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)
-