diff --git a/resources/uk/co/majenko/audiobookrecorder/icons/redo.png b/resources/uk/co/majenko/audiobookrecorder/icons/redo.png new file mode 100644 index 0000000..a2fd06b Binary files /dev/null and b/resources/uk/co/majenko/audiobookrecorder/icons/redo.png differ diff --git a/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java b/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java index 569a1ed..0c0a649 100644 --- a/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java +++ b/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java @@ -60,6 +60,8 @@ public class AudiobookRecorder extends JFrame { JSpinner endOffset; JSpinner postSentenceGap; + JButton reprocessAudio; + Thread playingThread = null; Random rng = new Random(); @@ -228,6 +230,22 @@ public class AudiobookRecorder extends JFrame { sampleControl.add(sampleWaveform, BorderLayout.CENTER); + reprocessAudio = new JButton(Icons.redo); + reprocessAudio.setToolTipText("Reprocess Audio"); + reprocessAudio.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + if (selectedSentence != null) { + selectedSentence.autoTrimSample(); + selectedSentence.recognise(); + sampleWaveform.setData(selectedSentence.getAudioData()); + sampleWaveform.setMarkers(selectedSentence.getStartOffset(), selectedSentence.getEndOffset()); + startOffset.setValue(selectedSentence.getStartOffset()); + endOffset.setValue(selectedSentence.getEndOffset()); + postSentenceGap.setValue(selectedSentence.getPostGap()); + } + } + }); + startOffset = new JSpinner(new SteppedNumericSpinnerModel(0, 0, 1, 0)); startOffset.setPreferredSize(new Dimension(100, 20)); endOffset = new JSpinner(new SteppedNumericSpinnerModel(0, 0, 1, 0)); @@ -265,6 +283,8 @@ public class AudiobookRecorder extends JFrame { }); JPanel controls = new JPanel(); + controls.add(reprocessAudio); + controls.add(new JLabel("Start Offset:")); JButton startFastDown = new JButton("<<"); diff --git a/src/uk/co/majenko/audiobookrecorder/Icons.java b/src/uk/co/majenko/audiobookrecorder/Icons.java index dc9ce1d..a528f74 100644 --- a/src/uk/co/majenko/audiobookrecorder/Icons.java +++ b/src/uk/co/majenko/audiobookrecorder/Icons.java @@ -17,6 +17,8 @@ public class Icons { static public ImageIcon recordRoom; static public ImageIcon save; + static public ImageIcon redo; + static void loadIcons() { book = new ImageIcon(Icons.class.getResource("icons/book.png")); chapter = new ImageIcon(Icons.class.getResource("icons/chapter.png")); @@ -32,6 +34,8 @@ public class Icons { recordRoom = new ImageIcon(Icons.class.getResource("icons/record-room.png")); save = new ImageIcon(Icons.class.getResource("icons/save.png")); + redo = new ImageIcon(Icons.class.getResource("icons/redo.png")); + } }