Package net.sf.fmj.ui.wizards

Source Code of net.sf.fmj.ui.wizards.AudioFormatPanel

/*
* AudioFormtPanel.java
*
* Created on June 12, 2007, 4:32 PM
*/

package net.sf.fmj.ui.wizards;

import javax.media.format.AudioFormat;

/**
*
* @author  Ken Larson
*/
public class AudioFormatPanel extends javax.swing.JPanel
{
   
    /** Creates new form AudioFormtPanel */
    public AudioFormatPanel()
    {
        initComponents();
    }
   
   
   
    public javax.swing.JComboBox getComboAudioEncoding()
    {
    return comboAudioEncoding;
  }
   
   



  public javax.swing.JComboBox getComboAudioSampleRate()
  {
    return comboAudioSampleRate;
  }



  public void setAudioFormat(AudioFormat f)
    {
        // encoding
        comboAudioEncoding.setSelectedItem(f.getEncoding());
       
       
        // disable the controls, since we can't change the format for now
        comboAudioSampleRate.setEnabled(false);
        radioAudioChannelsMono.setEnabled(false);
        radioAudioChannelsStereo.setEnabled(false);
        radioAudioEndianLittle.setEnabled(false);
        radioAudioEndianBig.setEnabled(false);
        radioAudioBitsPerSample8.setEnabled(false);
        radioAudioBitsPerSample16.setEnabled(false);
        checkBoxAudioSigned.setEnabled(false);
       
        comboAudioSampleRate.setSelectedItem("" + (int) f.getSampleRate()); // TODO: hard-coded trunc to int
       
        if (f.getChannels() == 1)
            radioAudioChannelsMono.setSelected(true);
        else if (f.getChannels() == 2)
            radioAudioChannelsStereo.setSelected(true);
        else
            throw new IllegalArgumentException();
       
        if (f.getEndian() == AudioFormat.LITTLE_ENDIAN)
            radioAudioEndianLittle.setSelected(true);
        else if (f.getEndian() == AudioFormat.BIG_ENDIAN)
            radioAudioEndianBig.setSelected(true);
        else
        {   if (f.getSampleSizeInBits() > 8)
            throw new IllegalArgumentException("Unknown or unspecified endian: " + f.getEndian() + " format: " + f);
          radioAudioEndianLittle.setSelected(false);
          radioAudioEndianBig.setSelected(false);
        }
       
        if (f.getSampleSizeInBits() == 8)
            radioAudioBitsPerSample8.setSelected(true);
        else if (f.getSampleSizeInBits() == 16)
            radioAudioBitsPerSample16.setSelected(true);
        else
            throw new IllegalArgumentException();
       
        if (f.getSigned() == AudioFormat.SIGNED)
            checkBoxAudioSigned.setSelected(true);
        else if (f.getSigned() == AudioFormat.UNSIGNED)
            checkBoxAudioSigned.setSelected(false);
        else
            throw new IllegalArgumentException();
       
    }
   
    public AudioFormat getAudioFormat()
    {
      final String encoding = (String) comboAudioEncoding.getSelectedItem();
     
      final double sampleRate = Integer.parseInt((String) comboAudioSampleRate.getSelectedItem());
     
      final int sampleSizeInBits;
      if (radioAudioBitsPerSample8.isSelected())
        sampleSizeInBits = 8;
      else if (radioAudioBitsPerSample16.isSelected())
        sampleSizeInBits = 16;
      else
        throw new RuntimeException();
     
      final int channels;
      if (radioAudioChannelsMono.isSelected())
            channels = 1;
        else if (radioAudioChannelsStereo.isSelected())
            channels = 2;
        else
          throw new RuntimeException();
     
      final int endian;
      if (sampleSizeInBits <= 8)
        endian = -1;
      else if (radioAudioEndianLittle.isSelected())
        endian = AudioFormat.LITTLE_ENDIAN;
      else if (radioAudioEndianBig.isSelected())
        endian = AudioFormat.BIG_ENDIAN;
      else
        throw new RuntimeException();
     
      final int signed = checkBoxAudioSigned.isSelected() ? AudioFormat.SIGNED : AudioFormat.UNSIGNED;

     
      return new AudioFormat(encoding, sampleRate, sampleSizeInBits, channels, endian, signed);

    }
   
   
    /** 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.
     */
    // <editor-fold defaultstate="collapsed" desc=" Generated Code ">//GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        buttonGroupAudioBitsPerSample = new javax.swing.ButtonGroup();
        buttonGroupAudioChannels = new javax.swing.ButtonGroup();
        buttonGroupAudioEndian = new javax.swing.ButtonGroup();
        labelAudioEncoding = new javax.swing.JLabel();
        comboAudioSampleRate = new javax.swing.JComboBox();
        comboAudioEncoding = new javax.swing.JComboBox();
        labelAudioSampleRate = new javax.swing.JLabel();
        labelAudioBitsPerSample = new javax.swing.JLabel();
        radioAudioBitsPerSample8 = new javax.swing.JRadioButton();
        radioAudioBitsPerSample16 = new javax.swing.JRadioButton();
        radioAudioChannelsStereo = new javax.swing.JRadioButton();
        radioAudioChannelsMono = new javax.swing.JRadioButton();
        labelChannels = new javax.swing.JLabel();
        labelAudioEndian = new javax.swing.JLabel();
        radioAudioEndianBig = new javax.swing.JRadioButton();
        radioAudioEndianLittle = new javax.swing.JRadioButton();
        checkBoxAudioSigned = new javax.swing.JCheckBox();

        setLayout(new java.awt.GridBagLayout());

        labelAudioEncoding.setText("Encoding:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(labelAudioEncoding, gridBagConstraints);

        comboAudioSampleRate.setModel(new javax.swing.DefaultComboBoxModel(new String[] {}));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(comboAudioSampleRate, gridBagConstraints);

        comboAudioEncoding.setModel(new javax.swing.DefaultComboBoxModel(new String[] {}));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(comboAudioEncoding, gridBagConstraints);

        labelAudioSampleRate.setText("Sample rate (Hz):");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(labelAudioSampleRate, gridBagConstraints);

        labelAudioBitsPerSample.setText("Bits per sample:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(labelAudioBitsPerSample, gridBagConstraints);

        buttonGroupAudioBitsPerSample.add(radioAudioBitsPerSample8);
        radioAudioBitsPerSample8.setText("8");
        radioAudioBitsPerSample8.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioBitsPerSample8.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioBitsPerSample8, gridBagConstraints);

        buttonGroupAudioBitsPerSample.add(radioAudioBitsPerSample16);
        radioAudioBitsPerSample16.setText("16");
        radioAudioBitsPerSample16.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioBitsPerSample16.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioBitsPerSample16, gridBagConstraints);

        buttonGroupAudioChannels.add(radioAudioChannelsStereo);
        radioAudioChannelsStereo.setText("Stereo");
        radioAudioChannelsStereo.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioChannelsStereo.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioChannelsStereo, gridBagConstraints);

        buttonGroupAudioChannels.add(radioAudioChannelsMono);
        radioAudioChannelsMono.setText("Mono");
        radioAudioChannelsMono.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioChannelsMono.setMargin(new java.awt.Insets(0, 0, 0, 0));
        radioAudioChannelsMono.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                radioAudioChannelsMonoActionPerformed(evt);
            }
        });

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioChannelsMono, gridBagConstraints);

        labelChannels.setText("Channels:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(labelChannels, gridBagConstraints);

        labelAudioEndian.setText("Endian:");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(labelAudioEndian, gridBagConstraints);

        buttonGroupAudioEndian.add(radioAudioEndianBig);
        radioAudioEndianBig.setText("Big");
        radioAudioEndianBig.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioEndianBig.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioEndianBig, gridBagConstraints);

        buttonGroupAudioEndian.add(radioAudioEndianLittle);
        radioAudioEndianLittle.setText("Little");
        radioAudioEndianLittle.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        radioAudioEndianLittle.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(radioAudioEndianLittle, gridBagConstraints);

        checkBoxAudioSigned.setText("Signed");
        checkBoxAudioSigned.setBorder(javax.swing.BorderFactory.createEmptyBorder(0, 0, 0, 0));
        checkBoxAudioSigned.setMargin(new java.awt.Insets(0, 0, 0, 0));
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 6;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(4, 4, 4, 4);
        add(checkBoxAudioSigned, gridBagConstraints);

    }// </editor-fold>//GEN-END:initComponents

    private void radioAudioChannelsMonoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioAudioChannelsMonoActionPerformed
// TODO add your handling code here:
    }//GEN-LAST:event_radioAudioChannelsMonoActionPerformed
   
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup buttonGroupAudioBitsPerSample;
    private javax.swing.ButtonGroup buttonGroupAudioChannels;
    private javax.swing.ButtonGroup buttonGroupAudioEndian;
    private javax.swing.JCheckBox checkBoxAudioSigned;
    private javax.swing.JComboBox comboAudioEncoding;
    private javax.swing.JComboBox comboAudioSampleRate;
    private javax.swing.JLabel labelAudioBitsPerSample;
    private javax.swing.JLabel labelAudioEncoding;
    private javax.swing.JLabel labelAudioEndian;
    private javax.swing.JLabel labelAudioSampleRate;
    private javax.swing.JLabel labelChannels;
    private javax.swing.JRadioButton radioAudioBitsPerSample16;
    private javax.swing.JRadioButton radioAudioBitsPerSample8;
    private javax.swing.JRadioButton radioAudioChannelsMono;
    private javax.swing.JRadioButton radioAudioChannelsStereo;
    private javax.swing.JRadioButton radioAudioEndianBig;
    private javax.swing.JRadioButton radioAudioEndianLittle;
    // End of variables declaration//GEN-END:variables
   
}
TOP

Related Classes of net.sf.fmj.ui.wizards.AudioFormatPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.