at.tuwien.ifs.somtoolbox.apps.viewer.controls.player
Class PlaySOMPlayer

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
                      extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
                          extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
                              extended by at.tuwien.ifs.somtoolbox.apps.viewer.controls.player.PlaySOMPlayer
All Implemented Interfaces:
PlayerListener, UnitSelectionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ListSelectionListener

public class PlaySOMPlayer
extends AbstractSelectionPanel
implements PlayerListener

Version:
$Id: PlaySOMPlayer.java 3752 2010-08-10 15:37:18Z frank $
Author:
Jakob Frank
See Also:
Serialized Form

Nested Class Summary
private  class PlaySOMPlayer.SearchThread
           
 
Nested classes/interfaces inherited from class at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
TitledCollapsiblePanel.Orientation
 
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
private  JButton btnSearch
           
private  JCheckBox chkShowHH
           
private  edu.umd.cs.piccolo.nodes.PPath circle
           
private static Color CIRCLE_COLOR
           
private static int CIRCLE_STROKE_WIDTH
           
private static float CIRCLE_TRANSPARENCY
           
static int DEFAULT_PLAYING_MARKER
          0 == none, 1 == highlight, 2 == circle;
private  Vector<GeneralUnitPNode> foundUnits
           
(package private)  int[][] hitHist
           
private  org.jdesktop.swingx.JXBusyLabel lblFindBusy
           
private  JLabel lblFindLabel
           
private static Logger log
           
private  Hashtable<File,GeneralUnitPNode> nodePos
           
private  int playing_marker
           
private  GeneralUnitPNode playingNode
           
private  PlayList playList
           
private  List<AbstractVectorMetaData> searchList
           
private  PlaySOMPlayer.SearchThread searchThread
           
private static long serialVersionUID
           
static String TITLE
           
private  JTextField txtSearch
           
 
Fields inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
absPathVectors, currentSelectionArea, itemListener, listScrollers, markedUnits, playlistmodels, playlists, selections, unitsInPlaylist
 
Fields inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
SMALL_INSETS, smallerFont, smallFont, state
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface at.tuwien.ifs.somtoolbox.apps.viewer.controls.player.PlayerListener
START_MODE_NEW, START_MODE_RESUME, STOP_REASON_ENDED, STOP_REASON_PAUSED, STOP_REASON_STOPPED
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
PlaySOMPlayer(CommonSOMViewerStateData state)
           
 
Method Summary
 void addPlayerListener(PlayerListener l)
           
 void addPlayListListener(PlayListListener pll)
           
 void addToList(String elementName, String fileNamePrefix, Unit u)
          adds an element to the current playlist and the absPathVectors
 void addToList(String elementName, Unit u)
          adds an element to the current playlist and the absPathVectors
 void clearList()
          Clears the current playlist and the absPathVectors.
If there are units currently marked on the map, the mark is removed.
private  edu.umd.cs.piccolo.nodes.PPath createCircle()
           
private  JButton createExportPlaylistButton(JList liste)
           
private  JPanel createExtraFuncPanel(JList liste)
           
private  JButton createRhythmPatternButton(JList liste)
           
private  JPanel createSearchPanel()
           
private  JPanel createVisualisationPanel(JList list)
           
 double[] getCurrentPos()
           
 AudioVectorMetaData getCurrentSong()
           
 String getCurrentSongID()
           
 Dimension getMinimumSize()
           
 List<String> getPlayList()
           
private  void initialize()
           
 boolean isPlaying()
           
private  void oldSearchFor(String query)
           
 void playStarted(int mode, AudioVectorMetaData song)
           
 void playStopped(int reason, AudioVectorMetaData song)
           
 void removePlayerListener(PlayerListener l)
           
 void removePlayListListener(PlayListListener pll)
           
 void showRhythmPattern(double[] vector, String dispname)
          show RhythmPattern(s) of weight vector(s) of currently selected unit(s)
 void showRhythmPattern(String[] vecNames)
          show RhythmPattern(s) of selected vector(s)
 void skipPlayer(int count)
           
 void startPlaying()
           
 void startPlaying(String dataItem)
           
 void stopPlaying()
           
 void unitSelectionChanged(Object[] selection, boolean newSelection)
          called whenever the selection has changed, the new selection is added to the JList and to the list of the file's absolute pathnames
 
Methods inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractSelectionPanel
addListScrollPanels, addSingleListScrollPanel, getItemListener, getSelectedSongs, getSelectedSongs, markUnit, setItemListener, unmarkUnits, valueChanged
 
Methods inherited from class at.tuwien.ifs.somtoolbox.apps.viewer.controls.AbstractViewerControl
isFullFunctional, setIcon, setSelected, setVisible
 
Methods inherited from class at.tuwien.ifs.commons.gui.controls.TitledCollapsiblePanel
add, add, add, add, add, getContentBackground, getContentBorder, getContentPane, getDecoratorPadding, getHorizontalTitleAlignment, getHorizontalTitleTextPosition, getIcon, getIconTitleGap, getLayout, getOrientation, getPreferredSize, getShowTitleDecoration, getTitle, getTitleBackground, getTitleBorder, isAnimated, isCollapsed, pack, remove, remove, removeAll, setAnimated, setCollapsed, setContentBackground, setContentBorder, setContentPane, setDecoratorPadding, setHorizontalTitleAlignment, setHorizontalTitleTextPosition, setIcon, setIconTitleGap, setLayout, setOrientation, setShowTitleDecoration, setTitle, setTitleBackground, setTitleBorder
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods 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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

CIRCLE_COLOR

private static final Color CIRCLE_COLOR

CIRCLE_STROKE_WIDTH

private static final int CIRCLE_STROKE_WIDTH
See Also:
Constant Field Values

CIRCLE_TRANSPARENCY

private static final float CIRCLE_TRANSPARENCY
See Also:
Constant Field Values

TITLE

public static final String TITLE
See Also:
Constant Field Values

DEFAULT_PLAYING_MARKER

public static final int DEFAULT_PLAYING_MARKER
0 == none, 1 == highlight, 2 == circle;

See Also:
Constant Field Values

playing_marker

private int playing_marker

playList

private PlayList playList

circle

private edu.umd.cs.piccolo.nodes.PPath circle

nodePos

private Hashtable<File,GeneralUnitPNode> nodePos

txtSearch

private JTextField txtSearch

btnSearch

private JButton btnSearch

foundUnits

private Vector<GeneralUnitPNode> foundUnits

playingNode

private GeneralUnitPNode playingNode

lblFindLabel

private JLabel lblFindLabel

log

private static Logger log

searchList

private List<AbstractVectorMetaData> searchList

lblFindBusy

private org.jdesktop.swingx.JXBusyLabel lblFindBusy

hitHist

int[][] hitHist

chkShowHH

private JCheckBox chkShowHH

searchThread

private PlaySOMPlayer.SearchThread searchThread
Constructor Detail

PlaySOMPlayer

public PlaySOMPlayer(CommonSOMViewerStateData state)
Method Detail

createCircle

private edu.umd.cs.piccolo.nodes.PPath createCircle()

clearList

public void clearList()
Description copied from class: AbstractSelectionPanel
Clears the current playlist and the absPathVectors.
If there are units currently marked on the map, the mark is removed.

Overrides:
clearList in class AbstractSelectionPanel

getPlayList

public List<String> getPlayList()

startPlaying

public void startPlaying()

startPlaying

public void startPlaying(String dataItem)

stopPlaying

public void stopPlaying()

skipPlayer

public void skipPlayer(int count)

initialize

private void initialize()

createExtraFuncPanel

private JPanel createExtraFuncPanel(JList liste)

createExportPlaylistButton

private JButton createExportPlaylistButton(JList liste)

createRhythmPatternButton

private JButton createRhythmPatternButton(JList liste)

createVisualisationPanel

private JPanel createVisualisationPanel(JList list)

showRhythmPattern

public void showRhythmPattern(String[] vecNames)
show RhythmPattern(s) of selected vector(s)


showRhythmPattern

public void showRhythmPattern(double[] vector,
                              String dispname)
show RhythmPattern(s) of weight vector(s) of currently selected unit(s)


createSearchPanel

private JPanel createSearchPanel()

oldSearchFor

private void oldSearchFor(String query)

addToList

public void addToList(String elementName,
                      Unit u)
Description copied from class: AbstractSelectionPanel
adds an element to the current playlist and the absPathVectors

Overrides:
addToList in class AbstractSelectionPanel

addToList

public void addToList(String elementName,
                      String fileNamePrefix,
                      Unit u)
Description copied from class: AbstractSelectionPanel
adds an element to the current playlist and the absPathVectors

Overrides:
addToList in class AbstractSelectionPanel
fileNamePrefix - an alternative fileNamePrefix

unitSelectionChanged

public void unitSelectionChanged(Object[] selection,
                                 boolean newSelection)
Description copied from class: AbstractSelectionPanel
called whenever the selection has changed, the new selection is added to the JList and to the list of the file's absolute pathnames

Specified by:
unitSelectionChanged in interface UnitSelectionListener
Overrides:
unitSelectionChanged in class AbstractSelectionPanel

playStarted

public void playStarted(int mode,
                        AudioVectorMetaData song)
Specified by:
playStarted in interface PlayerListener

playStopped

public void playStopped(int reason,
                        AudioVectorMetaData song)
Specified by:
playStopped in interface PlayerListener

getMinimumSize

public Dimension getMinimumSize()
Overrides:
getMinimumSize in class JComponent

getCurrentSongID

public String getCurrentSongID()

getCurrentSong

public AudioVectorMetaData getCurrentSong()

getCurrentPos

public double[] getCurrentPos()

addPlayerListener

public void addPlayerListener(PlayerListener l)

removePlayerListener

public void removePlayerListener(PlayerListener l)

addPlayListListener

public void addPlayListListener(PlayListListener pll)

removePlayListListener

public void removePlayListListener(PlayListListener pll)

isPlaying

public boolean isPlaying()