ConvertDialog

gui

## Class ConvertDialog

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Dialog
        - - javax.swing.JDialog
          - - gui.ConvertDialog

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

      public class ConvertDialog
      extends javax.swing.JDialog

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JDialog

      `javax.swing.JDialog.AccessibleJDialog`

    - ### Nested classes/interfaces inherited from class java.awt.Dialog

      `java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType`

    - ### Nested classes/interfaces inherited from class java.awt.Window

      `java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private javax.swing.JButton` | `btnCancel`
    `private javax.swing.JButton` | `btnConvert`
    `private javax.swing.JButton` | `btnMidi`
    `private javax.swing.JButton` | `btnPlay`
    `private javax.swing.JButton` | `btnPlayOriginal`
    `private javax.swing.JButton` | `btnSave`
    `private javax.swing.JButton` | `btnStop`
    `private java.util.HashMap<java.lang.String,java.lang.Integer>` | `categories`
    `private javax.swing.JComboBox` | `cmbGenre`
    `private javax.swing.JComboBox` | `cmbKey`
    `private javax.swing.JComboBox` | `cmbPrevGenre`
    `private java.util.ArrayList<IInstrument>` | `iinew`
    `private java.util.ArrayList<IInstrument>` | `iiold`
    `private IScore` | `iScr`
    `private javax.swing.JLabel` | `jLabel1`
    `private javax.swing.JLabel` | `jLabel2`
    `private javax.swing.JLabel` | `jLabel3`
    `private javax.swing.JLabel` | `jLabel4`
    `private javax.swing.JScrollPane` | `jScrollPane1`
    `private jm.music.data.Score` | `newScr`
    `private javax.swing.JPanel` | `panDown`
    `private javax.swing.JPanel` | `panMiddle`
    `private javax.swing.JPanel` | `panUp`
    `private java.lang.String` | `path`
    `private java.lang.String` | `pw`
    `private jm.music.data.Score` | `scr`
    `private boolean` | `StartStop`
    `private javax.swing.JTable` | `tabParts`
    `private java.lang.String[]` | `transposeStep`
    `private javax.swing.JTextField` | `txtMidi`
    `private java.lang.String` | `url`
    `private java.lang.String` | `user`

    - ### Fields inherited from class javax.swing.JDialog

      `accessibleContext, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Dialog

      `DEFAULT_MODALITY_TYPE`

    - ### Fields inherited from class java.awt.Component

      `BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConvertDialog(java.awt.Frame parent, boolean modal, java.lang.String user, java.lang.String pw, java.lang.String url, java.lang.String path)` Creates new form ConvertDialog

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `private void` | `btnCancelActionPerformed(java.awt.event.ActionEvent evt)`
    `private void` | `btnConvertActionPerformed(java.awt.event.ActionEvent evt)`
    `private void` | `btnMidiActionPerformed(java.awt.event.ActionEvent evt)` oeffnet einen Filechooser zur Auswahl eines MIDI-Files
    `private void` | `btnPlayActionPerformed(java.awt.event.ActionEvent evt)`
    `private void` | `btnPlayOriginalActionPerformed(java.awt.event.ActionEvent evt)`
    `private void` | `btnSaveActionPerformed(java.awt.event.ActionEvent evt)` speichert das konvertierte MIDI-File ab
    `private void` | `btnStopActionPerformed(java.awt.event.ActionEvent evt)`
    `private void` | `cmbGenreActionPerformed(java.awt.event.ActionEvent evt)` fuellt die Comboboxen im Mittelteil mit Keys und Instrumenten
    `private void` | `cmbPrevGenreActionPerformed(java.awt.event.ActionEvent evt)` befuellt die Combobox mit den Kategorien
    `private void` | `fillTable()` befuellt die Tabelle mit den neuen gemappten Instrumentengruppen (pro Kanal)
    `private java.lang.String` | `FormatKeys(java.lang.String s)` replace key by MIDI-key-name
    `private void` | `formWindowClosing(java.awt.event.WindowEvent evt)`
    `private int` | `getHalftoneSteps(java.lang.String From, java.lang.String To)` gibt die Anzahl der Halbtoene zurueck um von der Ursprungstonart in die Zieltonart zu gelangen der geringere Unterschied wird verwendet (man kann auf beide Seiten transponieren, nur die Oktave aendert sich)
    `private int` | `getInstrumentFromGroup(java.lang.String group)` gibt das erste Instrument der Instrumentengruppe zurueck
    `private java.lang.String` | `getInstrumentGroup(int instrument)` liefert die Instrumentengruppe zum uebergebenen Instrument
    `private java.lang.String` | `getTargetInstrument(int instrument)` liefert die neue Instrumentengruppe des Instruments des MIDI-Kanals
    `private void` | `initComponents()` This method is called from within the constructor to initialize the form.
    `static void` | `main(java.lang.String[] args)`
    `private jm.music.data.Score` | `TransposeScore(jm.music.data.Score s)` transponiert den Score in eine andere Tonart

    - ### Methods inherited from class javax.swing.JDialog

      `addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update`

    - ### Methods inherited from class java.awt.Dialog

      `addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack`

    - ### Methods inherited from class java.awt.Window

      `addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### user

          private java.lang.String user

    - #### pw

          private java.lang.String pw

    - #### url

          private java.lang.String url

    - #### path

          private java.lang.String path

    - #### categories

          private java.util.HashMap<java.lang.String,java.lang.Integer> categories

    - #### scr

          private jm.music.data.Score scr

    - #### iinew

          private java.util.ArrayList<IInstrument> iinew

    - #### iiold

          private java.util.ArrayList<IInstrument> iiold

    - #### newScr

          private jm.music.data.Score newScr

    - #### iScr

          private IScore iScr

    - #### transposeStep

          private java.lang.String[] transposeStep

    - #### StartStop

          private boolean StartStop

    - #### btnCancel

          private javax.swing.JButton btnCancel

    - #### btnConvert

          private javax.swing.JButton btnConvert

    - #### btnMidi

          private javax.swing.JButton btnMidi

    - #### btnPlay

          private javax.swing.JButton btnPlay

    - #### btnPlayOriginal

          private javax.swing.JButton btnPlayOriginal

    - #### btnSave

          private javax.swing.JButton btnSave

    - #### btnStop

          private javax.swing.JButton btnStop

    - #### cmbGenre

          private javax.swing.JComboBox cmbGenre

    - #### cmbKey

          private javax.swing.JComboBox cmbKey

    - #### cmbPrevGenre

          private javax.swing.JComboBox cmbPrevGenre

    - #### jLabel1

          private javax.swing.JLabel jLabel1

    - #### jLabel2

          private javax.swing.JLabel jLabel2

    - #### jLabel3

          private javax.swing.JLabel jLabel3

    - #### jLabel4

          private javax.swing.JLabel jLabel4

    - #### jScrollPane1

          private javax.swing.JScrollPane jScrollPane1

    - #### panDown

          private javax.swing.JPanel panDown

    - #### panMiddle

          private javax.swing.JPanel panMiddle

    - #### panUp

          private javax.swing.JPanel panUp

    - #### tabParts

          private javax.swing.JTable tabParts

    - #### txtMidi

          private javax.swing.JTextField txtMidi

  - ### Constructor Detail

    - #### ConvertDialog

          public ConvertDialog(java.awt.Frame parent,
                       boolean modal,
                       java.lang.String user,
                       java.lang.String pw,
                       java.lang.String url,
                       java.lang.String path)

      Creates new form ConvertDialog

  - ### Method Detail

    - #### initComponents

          private void initComponents()

      This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The content of this method is always regenerated by the Form Editor.

    - #### btnConvertActionPerformed

          private void btnConvertActionPerformed(java.awt.event.ActionEvent evt)

    - #### TransposeScore

          private jm.music.data.Score TransposeScore(jm.music.data.Score s)

      transponiert den Score in eine andere Tonart
      Parameters:
        `s` - der Score
      Returns:
        der transponierte Score

    - #### FormatKeys

          private java.lang.String FormatKeys(java.lang.String s)

      replace key by MIDI-key-name
      Parameters:
        `s` - key to check
      Returns:
        the correspondent key or the key passed through

    - #### getHalftoneSteps

          private int getHalftoneSteps(java.lang.String From,
                             java.lang.String To)

      gibt die Anzahl der Halbtoene zurueck um von der Ursprungstonart in die Zieltonart zu gelangen der geringere Unterschied wird verwendet (man kann auf beide Seiten transponieren, nur die Oktave aendert sich)
      Parameters:
        `From` - Ursprungstonart
        `To` - Zieltonart
      Returns:
        Verschiebung in Halbtoenen

    - #### btnCancelActionPerformed

          private void btnCancelActionPerformed(java.awt.event.ActionEvent evt)

    - #### btnMidiActionPerformed

          private void btnMidiActionPerformed(java.awt.event.ActionEvent evt)

      oeffnet einen Filechooser zur Auswahl eines MIDI-Files
      Parameters:
        `evt` -

    - #### cmbPrevGenreActionPerformed

          private void cmbPrevGenreActionPerformed(java.awt.event.ActionEvent evt)

      befuellt die Combobox mit den Kategorien
      Parameters:
        `evt` -

    - #### cmbGenreActionPerformed

          private void cmbGenreActionPerformed(java.awt.event.ActionEvent evt)

      fuellt die Comboboxen im Mittelteil mit Keys und Instrumenten
      Parameters:
        `evt` -

    - #### formWindowClosing

          private void formWindowClosing(java.awt.event.WindowEvent evt)

    - #### btnPlayActionPerformed

          private void btnPlayActionPerformed(java.awt.event.ActionEvent evt)

    - #### btnStopActionPerformed

          private void btnStopActionPerformed(java.awt.event.ActionEvent evt)

    - #### btnPlayOriginalActionPerformed

          private void btnPlayOriginalActionPerformed(java.awt.event.ActionEvent evt)

    - #### btnSaveActionPerformed

          private void btnSaveActionPerformed(java.awt.event.ActionEvent evt)

      speichert das konvertierte MIDI-File ab
      Parameters:
        `evt` -

    - #### fillTable

          private void fillTable()

      befuellt die Tabelle mit den neuen gemappten Instrumentengruppen (pro Kanal)

    - #### getTargetInstrument

          private java.lang.String getTargetInstrument(int instrument)

      liefert die neue Instrumentengruppe des Instruments des MIDI-Kanals
      Parameters:
        `instrument` - Instrument des MIDI-Kanals
      Returns:
        gemappte Instrumentengruppe

    - #### getInstrumentFromGroup

          private int getInstrumentFromGroup(java.lang.String group)

      gibt das erste Instrument der Instrumentengruppe zurueck
      Parameters:
        `group` - Instrumentengruppe (MIDI)
      Returns:
        erste Instrument der Gruppe

    - #### getInstrumentGroup

          private java.lang.String getInstrumentGroup(int instrument)

      liefert die Instrumentengruppe zum uebergebenen Instrument
      Parameters:
        `instrument` - Instrument (MIDI)
      Returns:
        Instrumentengruppe (MIDI)

    - #### main

          public static void main(java.lang.String[] args)

      Parameters:
        `args` - the command line arguments