Class View
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
eu.bandm.music.applications.indisp.View
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,Accessible
The GUI for the Barlow/Härpfer Indispensability demo.
Contains the Java-Swing widgets for user IO and the
check and construction for the NSM data object.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classGUI class which shows the selected meter as a circle of events and can mark the currently active event graphically.static enumSelects between different sound methods.Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final JSliderSlider to set the threshold of the indispensability value to be audible.static final intDistance of the main circle to the margins of the clock panel.(package private) final JComboBoxSwitch visibility of tree inside clock face.(package private) final View.ClockPanelRight part of the toplevel GUI window.static final ColorEvents which are currently active.static final Colorstatic final ColorColor for the borders of circles.static final ColorBackground ofmeterStatusin case of a meter input error.static final ColorBackground of column and row headers of tables.static final ColorEvents which are currently not active.static final Colorstatic final ColorBackground ofmeterStatusfor a neutral logg message.static final ColorBackground ofmeterStatusin case of a valid meter input.(package private) static final int(package private) boolean[](package private) final AbstractTableModelDisplays in rows: level numbers and forall/exists, then the properties.(package private) Object[][](package private) final JTableOutput for the missed/passed constraints and ohter statistics.static final String(package private) booleanGlobal flag whether an input error occured when interpreting the input tometer.static final Stringstatic final Stringstatic final String(package private) static final float(package private) final JPanelLeft part of the toplevel GUI window.(package private) static final Color[](package private) int(package private) static final StrokeLinetype for the borders of circles.(package private) int(package private) final JTextFieldWhere to enter the source text of the NSM.(package private) final JTextFieldDisplay the result of interpreting the source text inmeter.(package private) final JTableOutput for the meter and the calculated indispensability values.The currently selected meter.(package private) boolean[](package private) final PlayPauseButtonWidget to hold and continue the playing process.static final intRadius of the largest circle which represents an event.static final intRadius of the smallest circle which represents an event.(package private) static final StringDisplayed description text.(package private) final EnumPost<View.sound> Widget to select the sound synthesis.static final Stringstatic final String(package private) final AbstractTableModelDisplays in three rows: the event index (zero-based), the metric weights, and the calculated indispensability values.(package private) final JSliderSlider to set the tempo in "events per minute".intRadius of the mark of the tree root in the middle.(package private) final IntPostData point for overall volume.(package private) final IntPost.SwingSliderSlider for overall volume.(package private) final JButton(package private) final JButtonFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidabuseMeterStatus(String text) (package private) void(package private) void(package private) void(package private) static @Opt PreMessagedoPrintFilterings(NSM nsm, NSM.BeamStyle beamStyle) Writes a file into pwd.(package private) voidfillConstraintTexts(NSM nsm) (package private) booleanGeterrorState.(package private) static ColorlevelGray(int i) static voidCreate and start the GUI.(package private) static booleanprintFilterings(String patternText, NSM.BeamStyle beamStyle, MessageReceiver<SimpleMessage<String>> msg) (package private) booleanIs called when user wants to change focus away from meter input textfield, or presses return.(package private) voidsetMeterStatus(boolean error, String text) Set the text of the GUI widgetmeterStatusand the global error flag.(package private) voidshowPhase(int i) Called from the sequencer to update the GUI to the current event.(package private) voidMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, updateMethods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTreeMethods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
STRING_CHECK_BOX
- See Also:
-
STRING_NO_CHECK
- See Also:
-
nsm
The currently selected meter. Is null during power up and after erronuous input. -
leftPart
Left part of the toplevel GUI window. -
clockPanel
Right part of the toplevel GUI window. -
meter
Where to enter the source text of the NSM. May contain digits 0..9, interspersed with blanks and comma. Hitting return or clicking a different widget will start interpretation. The Result is presented inmeterStatus. When this result is an error message, all other input widgets are disabled. (The meter may be changed when playing.) -
meterStatus
Display the result of interpreting the source text inmeter. When this result is an error message, all other input widgets are disabled. If is a valid NSM, the clock display is updated accordingly. -
clockFill
Switch visibility of tree inside clock face. -
playPauseButton
Widget to hold and continue the playing process. This process happens synchronuously in the output audio and in the graphics ofclockPanel. -
writeLilypond
-
writeMusicXml
-
COLUMN0
static final int COLUMN0- See Also:
-
soundSelect
Widget to select the sound synthesis. -
audible
Slider to set the threshold of the indispensability value to be audible. -
tempo
Slider to set the tempo in "events per minute". -
volumePost
Data point for overall volume. Range is 0.0 - 1.0. -
volumeSlider
Slider for overall volume. -
mtable
Output for the meter and the calculated indispensability values. -
ctable
Output for the missed/passed constraints and ohter statistics. -
SHORT_DESCRIPTION
Displayed description text.- See Also:
-
phaseEnabled
boolean[] phaseEnabled -
errorState
boolean errorStateGlobal flag whether an input error occured when interpreting the input tometer. -
CIRCLE_INSETS
public static final int CIRCLE_INSETSDistance of the main circle to the margins of the clock panel.- See Also:
-
RADIUS_MIN
public static final int RADIUS_MINRadius of the smallest circle which represents an event.- See Also:
-
RADIUS_MAX
public static final int RADIUS_MAXRadius of the largest circle which represents an event.- See Also:
-
TREE_ROOT_RADIUS
public int TREE_ROOT_RADIUSRadius of the mark of the tree root in the middle. Can be overridden by subclassing. -
COLOR_ERROR_BG
Background ofmeterStatusin case of a meter input error. -
COLOR_OKAY_BG
Background ofmeterStatusin case of a valid meter input. -
COLOR_LOGG_MESSAGE
Background ofmeterStatusfor a neutral logg message. -
COLOR_HEADER
Background of column and row headers of tables. -
COLOR_INACTIVE
Events which are currently not active. -
COLOR_INACTIVE_MUTED
-
COLOR_ACTIVE
Events which are currently active. -
COLOR_ACTIVE_MUTED
-
COLOR_BORDER
Color for the borders of circles. -
LINE_STROKE
Linetype for the borders of circles. -
GRAY_FACTOR
static final float GRAY_FACTOR- See Also:
-
LEVEL_GRAYS
-
tableModel
Displays in three rows: the event index (zero-based), the metric weights, and the calculated indispensability values. -
constraintsTableModel
Displays in rows: level numbers and forall/exists, then the properties.0 1 2 ∀ ∃ D 1 123 1 H-MXE ✓ - ✓ - ✓( ✓ = Unicode hexadecimal: 0x2713) -
constraintTexts
Object[][] constraintTexts -
LINE_SUBCYCLES
int LINE_SUBCYCLES -
LINE_RELDIFFS
int LINE_RELDIFFS -
cacheSubcyclesText
-
cacheDifferencesText
-
FILTERING_STEM
- See Also:
-
FILTERING_LY_SUFFIX
- See Also:
-
FILTERING_XML_SUFFIX
- See Also:
-
constraintsAll
boolean[] constraintsAll -
DEFAULT_DEMO
- See Also:
-
-
Constructor Details
-
View
View()Main constructor which creates the whole application.
-
-
Method Details
-
reactToMeterInput
boolean reactToMeterInput()Is called when user wants to change focus away from meter input textfield, or presses return. -
updateEnabled
void updateEnabled() -
getErrorState
boolean getErrorState()GeterrorState. -
abuseMeterStatus
-
setMeterStatus
Set the text of the GUI widgetmeterStatusand the global error flag. Clear the clock graphic in case of error. (The table is currently not cleared.) -
showPhase
void showPhase(int i) Called from the sequencer to update the GUI to the current event. -
levelGray
-
fillConstraintTexts
-
conjugate
-
conjugate
-
conjugate
-
doPrintFilterings
Writes a file into pwd.- Returns:
- PreMessage for "file not found", etc.
-
printFilterings
static boolean printFilterings(String patternText, NSM.BeamStyle beamStyle, MessageReceiver<SimpleMessage<String>> msg) -
main
Create and start the GUI.
-