Added ACX website connections

This commit is contained in:
2018-10-06 20:47:22 +01:00
parent 448910b8d7
commit 7431550d61
5 changed files with 84 additions and 58 deletions

View File

@@ -41,6 +41,10 @@ public class AudiobookRecorder extends JFrame {
JMenuItem bookNewChapter; JMenuItem bookNewChapter;
JMenuItem bookExportAudio; JMenuItem bookExportAudio;
JMenu bookVisitACX;
JMenuItem bookVisitTitle;
JMenuItem bookVisitAudition;
JMenuItem bookVisitProduce;
JMenuItem toolsMerge; JMenuItem toolsMerge;
JMenuItem toolsArchive; JMenuItem toolsArchive;
@@ -184,6 +188,33 @@ public class AudiobookRecorder extends JFrame {
bookMenu.add(bookNewChapter); bookMenu.add(bookNewChapter);
bookMenu.add(bookExportAudio); bookMenu.add(bookExportAudio);
bookVisitACX = new JMenu("Visit ACX");
bookMenu.add(bookVisitACX);
bookVisitTitle = new JMenuItem("Title");
bookVisitTitle.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Utils.browse("https://www.acx.com/titleview/" + book.getACX());
}
});
bookVisitACX.add(bookVisitTitle);
bookVisitAudition = new JMenuItem("Audition");
bookVisitAudition.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Utils.browse("https://www.acx.com/titleview/" + book.getACX() + "?bucket=AUDITION_READY");
}
});
bookVisitACX.add(bookVisitAudition);
bookVisitProduce = new JMenuItem("Produce");
bookVisitProduce.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Utils.browse("https://www.acx.com/titleview/" + book.getACX() + "?bucket=PRODUCE");
}
});
bookVisitACX.add(bookVisitProduce);
menuBar.add(bookMenu); menuBar.add(bookMenu);
toolsMenu = new JMenu("Tools"); toolsMenu = new JMenu("Tools");
@@ -589,7 +620,7 @@ public class AudiobookRecorder extends JFrame {
} }
public void createNewBook() { public void createNewBook() {
BookInfoPanel info = new BookInfoPanel("", "", "", ""); BookInfoPanel info = new BookInfoPanel("", "", "", "", "");
int r = JOptionPane.showConfirmDialog(this, info, "New Book", JOptionPane.OK_CANCEL_OPTION); int r = JOptionPane.showConfirmDialog(this, info, "New Book", JOptionPane.OK_CANCEL_OPTION);
if (r != JOptionPane.OK_OPTION) return; if (r != JOptionPane.OK_OPTION) return;
@@ -608,6 +639,7 @@ public class AudiobookRecorder extends JFrame {
prefs.setProperty("book.author", info.getAuthor()); prefs.setProperty("book.author", info.getAuthor());
prefs.setProperty("book.genre", info.getGenre()); prefs.setProperty("book.genre", info.getGenre());
prefs.setProperty("book.comment", info.getComment()); prefs.setProperty("book.comment", info.getComment());
prefs.setProperty("book.acx", info.getACX());
prefs.setProperty("chapter.audition.name", "Audition"); prefs.setProperty("chapter.audition.name", "Audition");
prefs.setProperty("chapter.audition.pre-gap", Options.get("catenation.pre-chapter")); prefs.setProperty("chapter.audition.pre-gap", Options.get("catenation.pre-chapter"));
prefs.setProperty("chapter.audition.post-gap", Options.get("catenation.post-chapter")); prefs.setProperty("chapter.audition.post-gap", Options.get("catenation.post-chapter"));
@@ -1282,6 +1314,7 @@ public class AudiobookRecorder extends JFrame {
prefs.setProperty("book.author", book.getAuthor()); prefs.setProperty("book.author", book.getAuthor());
prefs.setProperty("book.genre", book.getGenre()); prefs.setProperty("book.genre", book.getGenre());
prefs.setProperty("book.comment", book.getComment()); prefs.setProperty("book.comment", book.getComment());
prefs.setProperty("book.acx", book.getACX());
prefs.setProperty("audio.recording.samplerate", "" + book.getSampleRate()); prefs.setProperty("audio.recording.samplerate", "" + book.getSampleRate());
prefs.setProperty("audio.recording.resolution", "" + book.getResolution()); prefs.setProperty("audio.recording.resolution", "" + book.getResolution());
@@ -1363,6 +1396,7 @@ public class AudiobookRecorder extends JFrame {
book.setAuthor(prefs.getProperty("book.author")); book.setAuthor(prefs.getProperty("book.author"));
book.setGenre(prefs.getProperty("book.genre")); book.setGenre(prefs.getProperty("book.genre"));
book.setComment(prefs.getProperty("book.comment")); book.setComment(prefs.getProperty("book.comment"));
book.setACX(prefs.getProperty("book.acx"));
int sr = Utils.s2i(prefs.getProperty("audio.recording.samplerate")); int sr = Utils.s2i(prefs.getProperty("audio.recording.samplerate"));
if (sr == 0) { if (sr == 0) {

View File

@@ -17,6 +17,7 @@ public class Book extends DefaultMutableTreeNode {
String author; String author;
String genre; String genre;
String comment; String comment;
String ACX;
int sampleRate; int sampleRate;
int channels; int channels;
@@ -35,29 +36,15 @@ public class Book extends DefaultMutableTreeNode {
AudiobookRecorder.window.setTitle("AudioBook Recorder :: " + name); AudiobookRecorder.window.setTitle("AudioBook Recorder :: " + name);
} }
public void setAuthor(String a) { public void setAuthor(String a) { author = a; }
author = a; public void setGenre(String g) { genre = g; }
} public void setComment(String c) { comment = c; }
public void setACX(String c) { ACX = c; }
public void setGenre(String g) { public String getAuthor() { return author; }
genre = g; public String getGenre() { return genre; }
} public String getComment() { return comment; }
public String getACX() { return ACX; }
public void setComment(String c) {
comment = c;
}
public String getAuthor() {
return author;
}
public String getGenre() {
return genre;
}
public String getComment() {
return comment;
}
public Chapter getClosingCredits() { public Chapter getClosingCredits() {
return getChapterById("close"); return getChapterById("close");

View File

@@ -4,6 +4,7 @@ import javax.swing.*;
import javax.swing.event.*; import javax.swing.event.*;
import java.awt.*; import java.awt.*;
import java.awt.event.*; import java.awt.event.*;
import java.util.regex.*;
public class BookInfoPanel extends JPanel { public class BookInfoPanel extends JPanel {
@@ -11,8 +12,9 @@ public class BookInfoPanel extends JPanel {
JTextField author; JTextField author;
JTextField genre; JTextField genre;
JTextField comment; JTextField comment;
JTextField acx;
public BookInfoPanel(String t, String a, String g, String c) { public BookInfoPanel(String t, String a, String g, String c, String x) {
super(); super();
setLayout(new GridBagLayout()); setLayout(new GridBagLayout());
GridBagConstraints con = new GridBagConstraints(); GridBagConstraints con = new GridBagConstraints();
@@ -56,37 +58,36 @@ public class BookInfoPanel extends JPanel {
con.gridx = 0; con.gridx = 0;
con.gridy++; con.gridy++;
add(new JLabel("AXC Code:"), con);
con.gridx = 1;
acx = new JTextField(x);
acx.setPreferredSize(new Dimension(200, 20));
add(acx, con);
con.gridx = 0;
con.gridy++;
} }
public String getTitle() { public String getTitle() { return title.getText(); }
return title.getText(); public String getAuthor() { return author.getText(); }
public String getGenre() { return genre.getText(); }
public String getComment() { return comment.getText(); }
public String getACX() {
Pattern p = Pattern.compile("\\/titleview\\/([A-Z0-9]{14})");
Matcher m = p.matcher(acx.getText());
if (m.find()) {
System.err.println(m);
return m.group(1);
}
return acx.getText();
} }
public String getAuthor() { public void setTitle(String t) { title.setText(t); }
return author.getText(); public void setAuthor(String a) { author.setText(a); }
} public void setGenre(String g) { genre.setText(g); }
public void setComment(String c) { comment.setText(c); }
public void setACX(String a) { acx.setText(a); }
public String getGenre() {
return genre.getText();
}
public String getComment() {
return comment.getText();
}
public void setTitle(String t) {
title.setText(t);
}
public void setAuthor(String a) {
author.setText(a);
}
public void setGenre(String g) {
genre.setText(g);
}
public void setComment(String c) {
comment.setText(c);
}
} }

View File

@@ -40,12 +40,7 @@ public class DonationPanel extends JPanel {
JButton donate = new JButton("Donate!"); JButton donate = new JButton("Donate!");
donate.addActionListener(new ActionListener() { donate.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if (Desktop.isDesktopSupported()) { Utils.browse("https://paypal.me/majenko");
try {
Desktop.getDesktop().browse(new URI("https://paypal.me/majenko"));
} catch (Exception ex) {
}
}
} }
}); });

View File

@@ -8,6 +8,7 @@ import java.awt.image.*;
import javax.swing.border.*; import javax.swing.border.*;
import java.util.*; import java.util.*;
import java.io.*; import java.io.*;
import java.net.*;
public class Utils { public class Utils {
public static Image getScaledImage(Image srcImg, int w, int h){ public static Image getScaledImage(Image srcImg, int w, int h){
@@ -46,4 +47,12 @@ public class Utils {
return 0.0f; return 0.0f;
} }
public static void browse(String url) {
if (Desktop.isDesktopSupported()) {
try {
Desktop.getDesktop().browse(new URI(url));
} catch (Exception ex) {
}
}
}
} }