com.frinika.sequencer.gui.tracker
Class TrackerTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by com.frinika.sequencer.gui.tracker.TrackerTableModel
All Implemented Interfaces:
EditHistoryListener, java.io.Serializable, javax.swing.table.TableModel

public class TrackerTableModel
extends javax.swing.table.AbstractTableModel
implements EditHistoryListener

Author:
Peter Johan Salomonsen
See Also:
Serialized Form

Field Summary
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
TrackerTableModel(ProjectFrame frame)
           
 
Method Summary
 void dispose()
          Clean up
 void fireSequenceDataChanged(EditHistoryAction[] edithistoryActions)
           
 MultiEvent getCellEvent(int row, int col)
          Get the MultiEvent for a specific cell
 java.lang.Class<?> getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 java.lang.String getColumnName(int column)
           
 double getEditDuration()
           
 int getEditVelocity()
           
 MultiEvent getMultiEventAt(int row, int column)
           
 int getPlayingRow()
          Get the row of the current sequencer position
 int getRowCount()
           
 java.util.Collection<MultiEvent> getRowEvents(int row)
          Return a subset of MultiEvents for the given table row
 int getRowForTick(long tick)
          Return row for the given tick
 long getTickForRow(int row)
           
 int getTicksPerRow()
           
 java.lang.Object getValueAt(int row, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 void setBeatCount(int beatCount)
           
 void setEditDuration(double editDuration)
           
 void setEditVelocity(int editVelocity)
           
 void setMidiPart(MidiPart part)
           
 void setRowsPerBeat(int rowsPerBeat)
          Set number of tracker rows to be showed for one beat
 void setStartBeat(int startBeat)
           
 void setValueAt(java.lang.Object value, int row, int columnIndex)
           
 int tableColumnToTrackerColumn(int tableColumn)
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TrackerTableModel

public TrackerTableModel(ProjectFrame frame)
Method Detail

setMidiPart

public void setMidiPart(MidiPart part)

setStartBeat

public void setStartBeat(int startBeat)

setBeatCount

public void setBeatCount(int beatCount)

getTicksPerRow

public int getTicksPerRow()

setRowsPerBeat

public void setRowsPerBeat(int rowsPerBeat)
Set number of tracker rows to be showed for one beat

Parameters:
rowsPerBeat -

getEditVelocity

public int getEditVelocity()

setEditVelocity

public void setEditVelocity(int editVelocity)

getEditDuration

public double getEditDuration()

setEditDuration

public void setEditDuration(double editDuration)

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface javax.swing.table.TableModel

getColumnClass

public java.lang.Class<?> getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface javax.swing.table.TableModel
Overrides:
getColumnClass in class javax.swing.table.AbstractTableModel

getColumnName

public java.lang.String getColumnName(int column)
Specified by:
getColumnName in interface javax.swing.table.TableModel
Overrides:
getColumnName in class javax.swing.table.AbstractTableModel

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface javax.swing.table.TableModel

getTickForRow

public final long getTickForRow(int row)

getRowForTick

public final int getRowForTick(long tick)
Return row for the given tick

Parameters:
tick -
Returns:

getPlayingRow

public final int getPlayingRow()
Get the row of the current sequencer position

Returns:

getRowEvents

public final java.util.Collection<MultiEvent> getRowEvents(int row)
Return a subset of MultiEvents for the given table row

Parameters:
row -
Returns:

getCellEvent

public final MultiEvent getCellEvent(int row,
                                     int col)
Get the MultiEvent for a specific cell

Parameters:
row -
col -
Returns:

tableColumnToTrackerColumn

public final int tableColumnToTrackerColumn(int tableColumn)

getMultiEventAt

public MultiEvent getMultiEventAt(int row,
                                  int column)

getValueAt

public java.lang.Object getValueAt(int row,
                                   int columnIndex)
Specified by:
getValueAt in interface javax.swing.table.TableModel

setValueAt

public void setValueAt(java.lang.Object value,
                       int row,
                       int columnIndex)
Specified by:
setValueAt in interface javax.swing.table.TableModel
Overrides:
setValueAt in class javax.swing.table.AbstractTableModel

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Specified by:
isCellEditable in interface javax.swing.table.TableModel
Overrides:
isCellEditable in class javax.swing.table.AbstractTableModel

fireSequenceDataChanged

public void fireSequenceDataChanged(EditHistoryAction[] edithistoryActions)
Specified by:
fireSequenceDataChanged in interface EditHistoryListener

dispose

public void dispose()
Clean up