exec FFMPEG and wipe ~/firestar/temp/ffmpeg per-song to avoid filling the disk when processing large playlists
This commit is contained in:
parent
14a943edf3
commit
7d26ed564e
|
@ -412,7 +412,6 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
PrintStream ps = new PrintStream(fos);
|
PrintStream ps = new PrintStream(fos);
|
||||||
ps.println("fscript 1");
|
ps.println("fscript 1");
|
||||||
ps.println("# AUTOGENERATED BY FIRESTAR");
|
ps.println("# AUTOGENERATED BY FIRESTAR");
|
||||||
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
|
||||||
for (int i = 0; i < tracklist.size(); i++) {
|
for (int i = 0; i < tracklist.size(); i++) {
|
||||||
AudioTrack at = tracklist.get(i);
|
AudioTrack at = tracklist.get(i);
|
||||||
String trackno = String.format("%02d", i+1);
|
String trackno = String.format("%02d", i+1);
|
||||||
|
@ -435,17 +434,20 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
try {
|
try {
|
||||||
System.out.println("Encoding track #" + (i+1) + " \"" + oArtist + " - " + oTitle + "\"...");
|
System.out.println("Encoding track #" + (i+1) + " \"" + oArtist + " - " + oTitle + "\"...");
|
||||||
if (!at.path.getName().endsWith(".wav") && !at.path.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
if (!at.path.getName().endsWith(".wav") && !at.path.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", at.path.getPath(), "ffmpeg/" + at.path.getName() + ".wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", at.path.getPath(), "ffmpeg/" + at.path.getName() + ".wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
at.path = new File(Main.inpath + "temp/ffmpeg/" + at.path.getName() + ".wav");
|
at.path = new File(Main.inpath + "temp/ffmpeg/" + at.path.getName() + ".wav");
|
||||||
}
|
}
|
||||||
if (normalizeVolumes) { // normalize tracks
|
if (normalizeVolumes) { // normalize tracks
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", at.path.getPath(), "-filter", "loudnorm=linear=true:i=-5.0:lra=7.0:tp=0.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + at.path.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", at.path.getPath(), "-filter", "loudnorm=linear=true:i=-5.0:lra=7.0:tp=0.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + at.path.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
at.path = new File(Main.inpath + "temp/ffmpeg/" + at.path.getName() + "_normalized.wav");
|
at.path = new File(Main.inpath + "temp/ffmpeg/" + at.path.getName() + "_normalized.wav");
|
||||||
}
|
}
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", at.path.getPath(), "data/audio/music/" + trackno + "/music_stereo.at9"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", at.path.getPath(), "data/audio/music/" + trackno + "/music_stereo.at9"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
|
Main.deleteDir(new File(Main.inpath + "temp/ffmpeg/"));
|
||||||
} catch (IOException | InterruptedException ex) {
|
} catch (IOException | InterruptedException ex) {
|
||||||
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}
|
}
|
||||||
|
@ -499,11 +501,13 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
try {
|
try {
|
||||||
System.out.println("Encoding singleplayer frontend track...");
|
System.out.println("Encoding singleplayer frontend track...");
|
||||||
if (!sptrack.getName().endsWith(".wav") && !sptrack.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
if (!sptrack.getName().endsWith(".wav") && !sptrack.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", sptrack.getPath(), "ffmpeg/" + sptrack.getName() + ".wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", sptrack.getPath(), "ffmpeg/" + sptrack.getName() + ".wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
sptrack = new File(Main.inpath + "temp/ffmpeg/" + sptrack.getName() + ".wav");
|
sptrack = new File(Main.inpath + "temp/ffmpeg/" + sptrack.getName() + ".wav");
|
||||||
}
|
}
|
||||||
if (normalizeVolumes) { // normalize tracks
|
if (normalizeVolumes) { // normalize tracks
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", sptrack.getPath(), "-filter", "loudnorm=linear=true:i=-10.0:lra=12.0:tp=-2.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + sptrack.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", sptrack.getPath(), "-filter", "loudnorm=linear=true:i=-10.0:lra=12.0:tp=-2.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + sptrack.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
sptrack = new File(Main.inpath + "temp/ffmpeg/" + sptrack.getName() + "_normalized.wav");
|
sptrack = new File(Main.inpath + "temp/ffmpeg/" + sptrack.getName() + "_normalized.wav");
|
||||||
|
@ -511,6 +515,7 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
new File(Main.inpath + "temp/data/audio/music/FEMusic").mkdirs();
|
new File(Main.inpath + "temp/data/audio/music/FEMusic").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", sptrack.getPath(), "data/audio/music/FEMusic/frontend_stereo.at9"}, System.getProperty("user.home") + "/.firestar/temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", sptrack.getPath(), "data/audio/music/FEMusic/frontend_stereo.at9"}, System.getProperty("user.home") + "/.firestar/temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
|
Main.deleteDir(new File(Main.inpath + "temp/ffmpeg/"));
|
||||||
} catch (IOException | InterruptedException ex) {
|
} catch (IOException | InterruptedException ex) {
|
||||||
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}
|
}
|
||||||
|
@ -524,11 +529,13 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
assert(mptrack.exists());
|
assert(mptrack.exists());
|
||||||
System.out.println("Encoding multiplayer frontend track...");
|
System.out.println("Encoding multiplayer frontend track...");
|
||||||
if (!mptrack.getName().endsWith(".wav") && !mptrack.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
if (!mptrack.getName().endsWith(".wav") && !mptrack.getName().endsWith(".wave")) { // convert to WAV first if it's not readable by at9tool yet
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", mptrack.getPath(), "ffmpeg/" + mptrack.getName() + ".wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", mptrack.getPath(), "ffmpeg/" + mptrack.getName() + ".wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
mptrack = new File(Main.inpath + "temp/ffmpeg/" + mptrack.getName() + ".wav");
|
mptrack = new File(Main.inpath + "temp/ffmpeg/" + mptrack.getName() + ".wav");
|
||||||
}
|
}
|
||||||
if (normalizeVolumes) { // normalize tracks
|
if (normalizeVolumes) { // normalize tracks
|
||||||
|
new File(Main.inpath + "temp/ffmpeg/").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", mptrack.getPath(), "-filter", "loudnorm=linear=true:i=-10.0:lra=12.0:tp=-2.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + mptrack.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "ffmpeg.exe", "-y", "-i", mptrack.getPath(), "-filter", "loudnorm=linear=true:i=-10.0:lra=12.0:tp=-2.0", /* force sample rate to prevent Random Stupid Bullshit™ */"-ar", "44100", "ffmpeg/" + mptrack.getName() + "_normalized.wav"}, Main.inpath + "temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
mptrack = new File(Main.inpath + "temp/ffmpeg/" + mptrack.getName() + "_normalized.wav");
|
mptrack = new File(Main.inpath + "temp/ffmpeg/" + mptrack.getName() + "_normalized.wav");
|
||||||
|
@ -536,6 +543,7 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
new File(Main.inpath + "temp/data/audio/music/FEDemoMusic").mkdirs();
|
new File(Main.inpath + "temp/data/audio/music/FEDemoMusic").mkdirs();
|
||||||
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", mptrack.getPath(), "data/audio/music/FEDemoMusic/frontend_stereo.at9"}, System.getProperty("user.home") + "/.firestar/temp/");
|
Process p = Main.exec(new String[]{Main.inpath + "at9tool.exe", "-e", "-br", "144", mptrack.getPath(), "data/audio/music/FEDemoMusic/frontend_stereo.at9"}, System.getProperty("user.home") + "/.firestar/temp/");
|
||||||
p.waitFor();
|
p.waitFor();
|
||||||
|
Main.deleteDir(new File(Main.inpath + "temp/ffmpeg/"));
|
||||||
} catch (IOException | InterruptedException ex) {
|
} catch (IOException | InterruptedException ex) {
|
||||||
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
Logger.getLogger(Suggs.class.getName()).log(Level.SEVERE, null, ex);
|
||||||
}
|
}
|
||||||
|
@ -602,7 +610,6 @@ public class Suggs implements ActionListener, ListSelectionListener {
|
||||||
|
|
||||||
progressDialog.destroyDialog();
|
progressDialog.destroyDialog();
|
||||||
frame.dispose();
|
frame.dispose();
|
||||||
Main.deleteDir(new File(Main.inpath + "temp/ffmpeg/"));
|
|
||||||
Clifford saveDialog = new Clifford();
|
Clifford saveDialog = new Clifford();
|
||||||
saveDialog.isSoundtrack = true;
|
saveDialog.isSoundtrack = true;
|
||||||
saveDialog.Action(frame, new File(Main.inpath + "temp/"));
|
saveDialog.Action(frame, new File(Main.inpath + "temp/"));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user