mirror of
https://github.com/serialexperiments0815/SlowedAndReverbed.git
synced 2026-07-12 15:32:30 +00:00
Continued
This commit is contained in:
commit
0abb6de81b
1 changed files with 73 additions and 0 deletions
73
SlowedAndReverbed.java
Normal file
73
SlowedAndReverbed.java
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
import java.awt.BorderLayout;
|
||||
import java.io.File;
|
||||
import javax.swing.*;
|
||||
import javax.swing.filechooser.FileFilter;
|
||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||
|
||||
public class SlowedAndReverbed {
|
||||
|
||||
public static void main(String[] args){
|
||||
JFrame frame = new JFrame("SlowedAndReverbed");
|
||||
JPanel panel = new JPanel();
|
||||
JPanel panelMid = new JPanel();
|
||||
JButton newButton = new JButton("Select file");
|
||||
JButton saveButton = new JButton("Save file");
|
||||
JSlider sliderSpeed = new JSlider(0, 200, 100);
|
||||
JSlider sliderReverb = new JSlider(0, 100, 0);
|
||||
JLabel pathLabel = new JLabel("No file selected");
|
||||
JLabel speedLabel = new JLabel("Speed: 100%");
|
||||
JLabel reverbLabel = new JLabel("Reverb: 0%");
|
||||
|
||||
newButton.addActionListener(e -> {
|
||||
String filePath = getFile(frame);
|
||||
String pathLabelText = new java.io.File(filePath).getName(); //Object has no references after, garbage collector kills it.
|
||||
pathLabel.setText(pathLabelText);
|
||||
newButton.setText("Select new file");
|
||||
});
|
||||
|
||||
sliderSpeed.addChangeListener(e -> {
|
||||
String valueSpeed = String.valueOf(sliderSpeed.getValue());
|
||||
speedLabel.setText("Speed: " + valueSpeed + "%");
|
||||
});
|
||||
|
||||
sliderReverb.addChangeListener(e -> {
|
||||
String valueReverb = String.valueOf(sliderReverb.getValue());
|
||||
reverbLabel.setText("Reverb: " + valueReverb + "%");
|
||||
});
|
||||
|
||||
|
||||
frame.setSize(400,600);
|
||||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
frame.setVisible(true);
|
||||
frame.setLayout(new BorderLayout());
|
||||
|
||||
sliderSpeed.setPaintTicks(true);
|
||||
sliderSpeed.setPaintLabels(true);
|
||||
|
||||
panel.add(newButton);
|
||||
panel.add(saveButton);
|
||||
panelMid.setLayout(new BoxLayout(panelMid, BoxLayout.Y_AXIS));
|
||||
panelMid.add(pathLabel);
|
||||
panelMid.add(sliderSpeed);
|
||||
panelMid.add(speedLabel);
|
||||
panelMid.add(sliderReverb);
|
||||
panelMid.add(reverbLabel);
|
||||
frame.add(panel, BorderLayout.NORTH);
|
||||
frame.add(panelMid, BorderLayout.CENTER);
|
||||
}
|
||||
|
||||
|
||||
public static String getFile(JFrame frame){
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser();
|
||||
FileFilter filter = new FileNameExtensionFilter("mp3", "wav", "aac", "flac", "ogg", "m4a", "wma", "alac", "opus", "amr");
|
||||
fileChooser.setFileFilter(filter);
|
||||
fileChooser.showOpenDialog(frame);
|
||||
File file = fileChooser.getSelectedFile();
|
||||
return file.getPath();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
Loading…
Reference in a new issue