Skip to content

Commit d5f98d0

Browse files
committed
Save source directory
- Save last selected source directory to config file Addresses the feature recommended by the following rejected PR: #3
1 parent 2f58e70 commit d5f98d0

3 files changed

Lines changed: 14 additions & 3 deletions

File tree

src/acxmaster/MainDialog.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -139,18 +139,22 @@ public MainDialog() {
139139
UIManager.setLookAndFeel(lookAndFeel);
140140
} catch (Exception err) {};
141141
fileChooser.setMultiSelectionEnabled(true);
142+
if (!options.getSourceDirectory().isEmpty()) {fileChooser.setCurrentDirectory(new File(options.getSourceDirectory()));}
142143
fileChooser.showDialog(jFrame, "Choose audio files...");
143-
master.setFiles(fileChooser.getSelectedFiles());
144+
File[] sourceFile = fileChooser.getSelectedFiles();
145+
master.setFiles(sourceFile);
144146
int fileCount = master.getFileCount();
145147
if (fileCount == 0) {return;}
146148
if (fileCount == 1) {
147-
fileChooserTextField.setText(master.getFiles()[0].getPath());
149+
fileChooserTextField.setText(sourceFile[0].getPath());
148150
saveButton.setText("Save as...");
149151
master.setIsSingle(true);
152+
options.setSourceDirectory(sourceFile[0].getParentFile().getPath());
150153
} else {
151154
fileChooserTextField.setText(String.valueOf(fileCount)+" files selected");
152155
saveButton.setText("Save to...");
153156
master.setIsSingle(false);
157+
options.setSourceDirectory(sourceFile[0].getParentFile().getPath());
154158
}
155159
saveButton.setEnabled(true);
156160
master.setSaveFile(null);

src/acxmaster/Options.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ class Options {
1414
private static String noise = "";
1515
private static Boolean noWarn = false;
1616
private static String custom = "";
17+
private static String sourceDirectory = "";
1718

1819
//////////
1920
// Getters
@@ -26,6 +27,7 @@ class Options {
2627
public String getNoise() {return noise;}
2728
public Boolean getNoWarn() {return noWarn;}
2829
public String getCustom() {return custom;}
30+
public String getSourceDirectory() {return sourceDirectory;}
2931
public String getChain() {return rnnn+gate+custom+declick;}
3032
public String getNoiseChain() {
3133
if (!noise.isEmpty()) {
@@ -64,4 +66,5 @@ public void noise(Boolean enabled) {
6466
public void setNoise(String noise) {this.noise = noise;}
6567
public void setNoWarn(Boolean enabled) {noWarn = enabled;}
6668
public void setCustom(String custom) {this.custom = custom;}
69+
public void setSourceDirectory(String sourceDirectory) {this.sourceDirectory = sourceDirectory;}
6770
}

src/acxmaster/Settings.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,8 @@ public Settings(Boolean save, Mode mode, Master master, GraphicEQ graphicEQ, Opt
4646
"sample_fmt="+export.getBitDepth()+"\n"+
4747
"compression_level="+String.valueOf(export.getCompressionLevel())+"\n"+
4848
"extension="+export.getExtension()+"\n"+
49-
"directory="+export.getCurrentDirectory()
49+
"directory="+export.getCurrentDirectory()+"\n"+
50+
"source="+options.getSourceDirectory()
5051
);
5152
writer.close();
5253
} else {
@@ -166,6 +167,9 @@ public Settings(Boolean save, Mode mode, Master master, GraphicEQ graphicEQ, Opt
166167
case "directory":
167168
export.setCurrentDirectory(tokens[1]);
168169
break;
170+
case "source":
171+
options.setSourceDirectory(tokens[1]);
172+
break;
169173
}
170174
}
171175
reader.close();

0 commit comments

Comments
 (0)