SlideshowViewer Updated to version 1.1. Changes include:
- Ability to specify duration in seconds instead of minutes. - Added a debug box which shows additional information to the user. - Changed Output Folder to an Output file dialog instead. - Fixed a bug causing minutes to being converted as seconds and rounding down, causing slideshows to stop randomly. - Fixed a bug causing directories to be selected as slideshow images when directories are created inside slideshow folders.
This commit is contained in:
parent
4468b9d327
commit
a90bce1983
Binary file not shown.
@ -13,6 +13,8 @@ import java.awt.event.WindowListener;
|
|||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.swing.Box;
|
import javax.swing.Box;
|
||||||
import javax.swing.BoxLayout;
|
import javax.swing.BoxLayout;
|
||||||
@ -21,6 +23,8 @@ import javax.swing.JFileChooser;
|
|||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTextArea;
|
||||||
import javax.swing.JTextField;
|
import javax.swing.JTextField;
|
||||||
import javax.swing.Timer;
|
import javax.swing.Timer;
|
||||||
|
|
||||||
@ -29,7 +33,7 @@ import org.apache.commons.io.FileUtils;
|
|||||||
public class SlideshowViewer {
|
public class SlideshowViewer {
|
||||||
|
|
||||||
public static String slideshowFolderPath = "./slideshow/";
|
public static String slideshowFolderPath = "./slideshow/";
|
||||||
public static String outputFolderPath = "./";
|
public static String outputFilePath = "./slideshow_image.png";
|
||||||
public static String[] slideshowDataFiles = null;
|
public static String[] slideshowDataFiles = null;
|
||||||
public static JLabel slideshowpath_button = null;
|
public static JLabel slideshowpath_button = null;
|
||||||
public static JLabel slideshowpath_label = null;
|
public static JLabel slideshowpath_label = null;
|
||||||
@ -41,13 +45,15 @@ public class SlideshowViewer {
|
|||||||
public static JButton slideshowdir_button = null;
|
public static JButton slideshowdir_button = null;
|
||||||
public static JButton outputimage_button = null;
|
public static JButton outputimage_button = null;
|
||||||
public static JTextField delayAmtBox = null;
|
public static JTextField delayAmtBox = null;
|
||||||
|
public static JTextArea debugBox = null;
|
||||||
public static String currentDisplayedFile = "";
|
public static String currentDisplayedFile = "";
|
||||||
public static boolean randomness = true;
|
public static boolean randomness = true;
|
||||||
public static Checkbox random = null;
|
public static Checkbox random = null;
|
||||||
public static long currentTick = 0;
|
public static long currentTick = 0;
|
||||||
public static long nextImageChange = 0;
|
public static long nextImageChange = 0;
|
||||||
public static int slideshowDelay = 5;
|
public static int slideshowDelay = 60;
|
||||||
public static int slideshowMarker = 0;
|
public static int slideshowMarker = 0;
|
||||||
|
final public static String PROGRAM_VERSION = "1.1";
|
||||||
static Timer programClock = new Timer(1000,new ActionListener(){
|
static Timer programClock = new Timer(1000,new ActionListener(){
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
@ -59,41 +65,41 @@ public class SlideshowViewer {
|
|||||||
public static ActionListener buttonListener = new ActionListener(){
|
public static ActionListener buttonListener = new ActionListener(){
|
||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
if (button.getText().contains("Start")) {
|
if (button.getText().contains("Start")) {
|
||||||
System.out.println("Running slideshow...");
|
PrintToSystemAndAddToDebugBox("Running slideshow...");
|
||||||
SelectImage();
|
SelectImage();
|
||||||
button.setText("Stop Slideshow");
|
button.setText("Stop Slideshow");
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Stopping slideshow...");
|
PrintToSystemAndAddToDebugBox("Stopping slideshow...");
|
||||||
button.setText("Start Slideshow");
|
button.setText("Start Slideshow");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public static ActionListener decreaseDelayListener = new ActionListener(){
|
public static ActionListener decreaseDelayListener = new ActionListener(){
|
||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
int currentdelay = 5;
|
int currentdelay = 60;
|
||||||
try {
|
try {
|
||||||
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
currentdelay = 5;
|
currentdelay = 60;
|
||||||
}
|
}
|
||||||
|
|
||||||
currentdelay = Math.max(currentdelay-1, 1);
|
currentdelay = Math.max(currentdelay-1, 1);
|
||||||
delayAmtBox.setText(Integer.toString(currentdelay));
|
delayAmtBox.setText(Integer.toString(currentdelay));
|
||||||
slideshowDelay = currentdelay*60;
|
slideshowDelay = currentdelay;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public static ActionListener increaseDelayListener = new ActionListener(){
|
public static ActionListener increaseDelayListener = new ActionListener(){
|
||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
int currentdelay = 5;
|
int currentdelay = 60;
|
||||||
try {
|
try {
|
||||||
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
currentdelay = 5;
|
currentdelay = 60;
|
||||||
}
|
}
|
||||||
|
|
||||||
currentdelay = Math.min(currentdelay+1, 120);
|
currentdelay = Math.min(currentdelay+1, 7200);
|
||||||
delayAmtBox.setText(Integer.toString(currentdelay));
|
delayAmtBox.setText(Integer.toString(currentdelay));
|
||||||
slideshowDelay = currentdelay*60;
|
slideshowDelay = currentdelay;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public static ActionListener slidershowdir_buttonListener = new ActionListener(){
|
public static ActionListener slidershowdir_buttonListener = new ActionListener(){
|
||||||
@ -117,21 +123,22 @@ public class SlideshowViewer {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
public static ActionListener outputdir_buttonListener = new ActionListener(){
|
public static ActionListener outputfile_buttonListener = new ActionListener(){
|
||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
JFileChooser chooser = new JFileChooser();
|
JFileChooser chooser = new JFileChooser();
|
||||||
File path = new File(outputFolderPath);
|
File path = new File(outputFilePath);
|
||||||
if (path.exists()) {
|
if (path.exists()) {
|
||||||
chooser.setCurrentDirectory(path);
|
chooser.setCurrentDirectory(path);
|
||||||
} else {
|
} else {
|
||||||
chooser.setCurrentDirectory(new File("."));
|
chooser.setCurrentDirectory(new File("."));
|
||||||
}
|
}
|
||||||
chooser.setDialogTitle("Load Slideshow Images Directory");
|
chooser.setDialogTitle("Load Slideshow Images Directory");
|
||||||
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
|
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
|
||||||
|
chooser.setSelectedFile(path);
|
||||||
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
|
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
|
||||||
outputFolderPath = chooser.getSelectedFile().getAbsolutePath()+"/";
|
outputFilePath = chooser.getSelectedFile().getAbsolutePath()+"/";
|
||||||
try {
|
try {
|
||||||
outputpath_label.setText("Output Location: "+new File(outputFolderPath).getCanonicalPath());
|
outputpath_label.setText("Output File: "+new File(outputFilePath).getCanonicalPath());
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
e1.printStackTrace();
|
e1.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -146,12 +153,12 @@ public class SlideshowViewer {
|
|||||||
}
|
}
|
||||||
currentDisplayedFile = slideshowFolderPath+selectedFile;
|
currentDisplayedFile = slideshowFolderPath+selectedFile;
|
||||||
nextImageChange = currentTick + slideshowDelay;
|
nextImageChange = currentTick + slideshowDelay;
|
||||||
System.out.println("Selected image "+selectedFile+". Next change in "+slideshowDelay+" seconds.");
|
PrintToSystemAndAddToDebugBox("Selected image "+selectedFile+". Next change in "+slideshowDelay+" second"+((slideshowDelay!=1)?"s":"")+".");
|
||||||
ChangeSlideshowImage();
|
ChangeSlideshowImage();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void ChangeSlideshowImage() {
|
private static void ChangeSlideshowImage() {
|
||||||
File filer = new File("./slideshow_image.png");
|
File filer = new File(outputFilePath);
|
||||||
if (!filer.exists()) {
|
if (!filer.exists()) {
|
||||||
try {
|
try {
|
||||||
filer.createNewFile();
|
filer.createNewFile();
|
||||||
@ -167,14 +174,16 @@ public class SlideshowViewer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
System.out.println("Slideshow Viewer v1.0 Started.");
|
List<String> debugqueue = new ArrayList<String>();
|
||||||
|
|
||||||
|
PrintToSystemAndAddToQueue(debugqueue,"Slideshow Viewer v"+PROGRAM_VERSION+" Started.");
|
||||||
|
|
||||||
programClock.start();
|
programClock.start();
|
||||||
|
|
||||||
File config_file = new File("config_slideshow.txt");
|
File config_file = new File("config_slideshow.txt");
|
||||||
File slideshowdirectory = null;
|
File slideshowdirectory = null;
|
||||||
if (!config_file.exists()) {
|
if (!config_file.exists()) {
|
||||||
System.out.println("\nConfiguration file does not exist...Creating one.");
|
PrintToSystemAndAddToQueue(debugqueue,"\nConfiguration file does not exist...Creating one.");
|
||||||
CreateAndSaveConfigurationFile();
|
CreateAndSaveConfigurationFile();
|
||||||
} else {
|
} else {
|
||||||
LoadConfigurationFile();
|
LoadConfigurationFile();
|
||||||
@ -182,23 +191,23 @@ public class SlideshowViewer {
|
|||||||
slideshowdirectory = new File(slideshowFolderPath);
|
slideshowdirectory = new File(slideshowFolderPath);
|
||||||
|
|
||||||
if (slideshowdirectory!=null && slideshowdirectory.exists()) {
|
if (slideshowdirectory!=null && slideshowdirectory.exists()) {
|
||||||
System.out.println(" Loading slideshow data...");
|
PrintToSystemAndAddToQueue(debugqueue," Loading slideshow data...");
|
||||||
if (!LoadSlideshowData(slideshowdirectory)) {
|
if (!LoadSlideshowData(slideshowdirectory)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("\nSlideshow data does not exist...Creating a slideshow directory...");
|
PrintToSystemAndAddToQueue(debugqueue,"\nSlideshow data does not exist...Creating a slideshow directory...");
|
||||||
slideshowdirectory = new File("./slideshow");
|
slideshowdirectory = new File("./slideshow");
|
||||||
slideshowdirectory.mkdirs();
|
slideshowdirectory.mkdirs();
|
||||||
slideshowDataFiles = new String[]{};
|
slideshowDataFiles = new String[]{};
|
||||||
try {
|
try {
|
||||||
System.out.println("\nPlease insert files into the "+slideshowdirectory.getCanonicalPath()+" directory!");
|
PrintToSystemAndAddToQueue(debugqueue,"\nPlease insert files into the "+slideshowdirectory.getCanonicalPath()+" directory!");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JFrame f = new JFrame("SlideshowViewer v1.0");
|
JFrame f = new JFrame("SlideshowViewer v"+PROGRAM_VERSION);
|
||||||
|
|
||||||
f.addWindowListener(new WindowListener() {
|
f.addWindowListener(new WindowListener() {
|
||||||
|
|
||||||
@ -252,6 +261,7 @@ public class SlideshowViewer {
|
|||||||
JPanel panel = new JPanel();
|
JPanel panel = new JPanel();
|
||||||
JPanel panel2 = new JPanel();
|
JPanel panel2 = new JPanel();
|
||||||
JPanel panel3 = new JPanel();
|
JPanel panel3 = new JPanel();
|
||||||
|
JPanel panel4 = new JPanel();
|
||||||
|
|
||||||
panel.setLayout(new BoxLayout(panel,BoxLayout.LINE_AXIS));
|
panel.setLayout(new BoxLayout(panel,BoxLayout.LINE_AXIS));
|
||||||
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
@ -261,7 +271,7 @@ public class SlideshowViewer {
|
|||||||
button.addActionListener(buttonListener);
|
button.addActionListener(buttonListener);
|
||||||
|
|
||||||
JLabel label = new JLabel();
|
JLabel label = new JLabel();
|
||||||
label.setText(" Delay (min): ");
|
label.setText(" Delay (sec): ");
|
||||||
label.setMinimumSize(new Dimension(16,10));
|
label.setMinimumSize(new Dimension(16,10));
|
||||||
|
|
||||||
delayAmtBox = new JTextField(2);
|
delayAmtBox = new JTextField(2);
|
||||||
@ -285,7 +295,7 @@ public class SlideshowViewer {
|
|||||||
outputpath_label = new JLabel("");
|
outputpath_label = new JLabel("");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
outputpath_label.setText("Output Folder: "+new File(outputFolderPath).getCanonicalPath());
|
outputpath_label.setText("Output Folder: "+new File(outputFilePath).getCanonicalPath());
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -295,7 +305,7 @@ public class SlideshowViewer {
|
|||||||
slideshowdir_button.addActionListener(slidershowdir_buttonListener);
|
slideshowdir_button.addActionListener(slidershowdir_buttonListener);
|
||||||
outputpath_button = new JButton("Change");
|
outputpath_button = new JButton("Change");
|
||||||
outputpath_button.setMaximumSize(new Dimension(32,24));
|
outputpath_button.setMaximumSize(new Dimension(32,24));
|
||||||
outputpath_button.addActionListener(outputdir_buttonListener);
|
outputpath_button.addActionListener(outputfile_buttonListener);
|
||||||
|
|
||||||
JLabel label2 = new JLabel();
|
JLabel label2 = new JLabel();
|
||||||
label2.setText(" ");
|
label2.setText(" ");
|
||||||
@ -309,6 +319,19 @@ public class SlideshowViewer {
|
|||||||
panel.setSize(480, 36);
|
panel.setSize(480, 36);
|
||||||
//panel.setBounds(0,0,72,36);
|
//panel.setBounds(0,0,72,36);
|
||||||
|
|
||||||
|
debugBox = new JTextArea(8,32);
|
||||||
|
debugBox.setEditable(false);
|
||||||
|
debugBox.setLineWrap(true);
|
||||||
|
debugBox.setAutoscrolls(true);
|
||||||
|
for (String s : debugqueue) {
|
||||||
|
debugBox.setText(debugBox.getText()+s+"\n");
|
||||||
|
}
|
||||||
|
debugBox.setWrapStyleWord(true);
|
||||||
|
JScrollPane scrollPane = new JScrollPane(debugBox);
|
||||||
|
scrollPane.setPreferredSize(new Dimension(320,96));
|
||||||
|
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
|
||||||
|
scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
|
||||||
|
|
||||||
//f.add(panel);
|
//f.add(panel);
|
||||||
|
|
||||||
String[] options = new String[]{};
|
String[] options = new String[]{};
|
||||||
@ -323,10 +346,13 @@ public class SlideshowViewer {
|
|||||||
panel2.add(slideshowdir_button);
|
panel2.add(slideshowdir_button);
|
||||||
panel3.add(outputpath_label);
|
panel3.add(outputpath_label);
|
||||||
panel3.add(outputpath_button);
|
panel3.add(outputpath_button);
|
||||||
|
panel4.add(scrollPane);
|
||||||
|
//panel4.add(debugBox);
|
||||||
|
|
||||||
container.add(panel);
|
container.add(panel);
|
||||||
container.add(panel2);
|
container.add(panel2);
|
||||||
container.add(panel3);
|
container.add(panel3);
|
||||||
|
container.add(panel4);
|
||||||
|
|
||||||
f.add(container);
|
f.add(container);
|
||||||
//f.pack();
|
//f.pack();
|
||||||
@ -335,6 +361,16 @@ public class SlideshowViewer {
|
|||||||
f.pack();
|
f.pack();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void PrintToSystemAndAddToQueue(List<String> debugqueue, String string) {
|
||||||
|
debugqueue.add(string);
|
||||||
|
System.out.println(string);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void PrintToSystemAndAddToDebugBox(String message) {
|
||||||
|
debugBox.setText((debugBox.getText().length()>5000?debugBox.getText().substring(debugBox.getText().length()-5000, debugBox.getText().length()-1):debugBox.getText())+message+"\n");
|
||||||
|
System.out.println(message);
|
||||||
|
}
|
||||||
|
|
||||||
protected static void performStep() {
|
protected static void performStep() {
|
||||||
DetectDirectoryChange();
|
DetectDirectoryChange();
|
||||||
if (button.getText().contains("Stop")) {
|
if (button.getText().contains("Stop")) {
|
||||||
@ -344,33 +380,35 @@ public class SlideshowViewer {
|
|||||||
SelectImage();
|
SelectImage();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int currentdelay = 5;
|
int currentdelay = 60;
|
||||||
try {
|
try {
|
||||||
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
currentdelay = Integer.parseInt(delayAmtBox.getText());
|
||||||
} catch (NumberFormatException ex) {
|
} catch (NumberFormatException ex) {
|
||||||
currentdelay = -1;
|
currentdelay = -1;
|
||||||
}
|
}
|
||||||
if (currentdelay>120 || currentdelay<=0) {
|
if (currentdelay>7200 || currentdelay<=0) {
|
||||||
currentdelay = 5;
|
currentdelay = 60;
|
||||||
delayAmtBox.setText(Integer.toString(currentdelay));
|
delayAmtBox.setText(Integer.toString(currentdelay));
|
||||||
}
|
}
|
||||||
slideshowDelay = currentdelay*60;
|
slideshowDelay = currentdelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void DetectDirectoryChange() {
|
private static void DetectDirectoryChange() {
|
||||||
File dir = new File(slideshowFolderPath);
|
File dir = new File(slideshowFolderPath);
|
||||||
if (dir.list().length!=slideshowDataFiles.length) {
|
String[] list = trimNonImageFiles(dir.list());
|
||||||
System.out.println(" A change has been detected in the slideshow directory! Reloading images...");
|
if (list.length!=slideshowDataFiles.length) {
|
||||||
|
PrintToSystemAndAddToDebugBox(" A change has been detected in the slideshow directory! Reloading images...");
|
||||||
LoadSlideshowData(dir);
|
LoadSlideshowData(dir);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean LoadSlideshowData(File dir) {
|
private static boolean LoadSlideshowData(File dir) {
|
||||||
String[] filelist = dir.list();
|
String[] filelist = dir.list();
|
||||||
|
filelist = trimNonImageFiles(filelist);
|
||||||
if (filelist.length==0) {
|
if (filelist.length==0) {
|
||||||
System.out.println("Could not find any files to load!");
|
PrintToSystemAndAddToDebugBox("Could not find any files to load!");
|
||||||
try {
|
try {
|
||||||
System.out.println("\nPlease insert files into the "+dir.getCanonicalPath()+" directory!");
|
PrintToSystemAndAddToDebugBox("\nPlease insert files into the "+dir.getCanonicalPath()+" directory!");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
@ -383,6 +421,22 @@ public class SlideshowViewer {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String[] trimNonImageFiles(String[] files) {
|
||||||
|
List<String> finallist = new ArrayList<String>();
|
||||||
|
for (String file : files) {
|
||||||
|
File f = new File(slideshowFolderPath+file);
|
||||||
|
try {
|
||||||
|
if (!f.isDirectory() && !f.getCanonicalPath().equalsIgnoreCase(new File(outputFilePath).getCanonicalPath())) {
|
||||||
|
finallist.add(file);
|
||||||
|
}
|
||||||
|
} catch (IOException e) {
|
||||||
|
// TODO Auto-generated catch block
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return finallist.toArray(new String[finallist.size()]);
|
||||||
|
}
|
||||||
|
|
||||||
private static void CreateAndSaveConfigurationFile() {
|
private static void CreateAndSaveConfigurationFile() {
|
||||||
File configFile = new File("config_slideshow.txt");
|
File configFile = new File("config_slideshow.txt");
|
||||||
if (!configFile.exists()) {
|
if (!configFile.exists()) {
|
||||||
@ -399,16 +453,22 @@ public class SlideshowViewer {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
sig.SlideshowViewer.FileUtils.logToFile("SLIDESHOW_PATH="+slideshowFolderPath, "config_slideshow.txt");
|
sig.SlideshowViewer.FileUtils.logToFile("SLIDESHOW_PATH="+slideshowFolderPath, "config_slideshow.txt");
|
||||||
sig.SlideshowViewer.FileUtils.logToFile("OUTPUT_PATH="+outputFolderPath, "config_slideshow.txt");
|
sig.SlideshowViewer.FileUtils.logToFile("OUTPUT_PATH="+outputFilePath, "config_slideshow.txt");
|
||||||
sig.SlideshowViewer.FileUtils.logToFile("RANDOM="+Boolean.toString((random!=null)?random.getState():true)+"", "config_slideshow.txt");
|
sig.SlideshowViewer.FileUtils.logToFile("RANDOM="+Boolean.toString((random!=null)?random.getState():true)+"", "config_slideshow.txt");
|
||||||
sig.SlideshowViewer.FileUtils.logToFile("DELAY="+slideshowDelay+"", "config_slideshow.txt");
|
sig.SlideshowViewer.FileUtils.logToFile("DELAY="+slideshowDelay+"", "config_slideshow.txt");
|
||||||
sig.SlideshowViewer.FileUtils.logToFile("MARKER="+slideshowMarker+"", "config_slideshow.txt");
|
sig.SlideshowViewer.FileUtils.logToFile("MARKER="+slideshowMarker+"", "config_slideshow.txt");
|
||||||
|
sig.SlideshowViewer.FileUtils.logToFile("VERSION="+PROGRAM_VERSION+"", "config_slideshow.txt");
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void LoadConfigurationFile() {
|
private static void LoadConfigurationFile() {
|
||||||
File configFile = new File("config_slideshow.txt");
|
File configFile = new File("config_slideshow.txt");
|
||||||
if (configFile.exists()) {
|
if (configFile.exists()) {
|
||||||
String[] data = sig.SlideshowViewer.FileUtils.readFromFile("config_slideshow.txt");
|
String[] data = sig.SlideshowViewer.FileUtils.readFromFile("config_slideshow.txt");
|
||||||
|
if (data.length==5) {
|
||||||
|
System.out.println("\nConfig does not have correct number of data points! Set it up as version 1.0!");
|
||||||
|
sig.SlideshowViewer.FileUtils.logToFile("VERSION=1.0", "config_slideshow.txt");
|
||||||
|
}
|
||||||
|
data = sig.SlideshowViewer.FileUtils.readFromFile("config_slideshow.txt");
|
||||||
int counter = 0;
|
int counter = 0;
|
||||||
for (String line : data) {
|
for (String line : data) {
|
||||||
String split = line.split("=")[1];
|
String split = line.split("=")[1];
|
||||||
@ -417,23 +477,39 @@ public class SlideshowViewer {
|
|||||||
slideshowFolderPath = split;
|
slideshowFolderPath = split;
|
||||||
}break;
|
}break;
|
||||||
case 1:{
|
case 1:{
|
||||||
outputFolderPath = split;
|
outputFilePath = split;
|
||||||
|
File filer = new File(outputFilePath);
|
||||||
|
if (!filer.isFile()) {
|
||||||
|
try {
|
||||||
|
filer.createNewFile();
|
||||||
|
} catch (IOException e) {
|
||||||
|
outputFilePath = "./slideshow_image.png";
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
}break;
|
}break;
|
||||||
case 2:{
|
case 2:{
|
||||||
randomness = Boolean.parseBoolean(split);
|
randomness = Boolean.parseBoolean(split);
|
||||||
}break;
|
}break;
|
||||||
case 3:{
|
case 3:{
|
||||||
slideshowDelay = Integer.parseInt(split)/60;
|
slideshowDelay = Integer.parseInt(split);
|
||||||
}break;
|
}break;
|
||||||
case 4:{
|
case 4:{
|
||||||
slideshowMarker = Integer.parseInt(split);
|
slideshowMarker = Integer.parseInt(split);
|
||||||
}break;
|
}break;
|
||||||
|
case 5:{
|
||||||
|
String version = split;
|
||||||
|
if (version.equalsIgnoreCase("1.0")) {
|
||||||
|
System.out.println("Upgrading to version 1.1...");
|
||||||
|
outputFilePath = "./slideshow_image.png";
|
||||||
|
}
|
||||||
|
}break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
System.out.println("Could not load from Config file!");
|
PrintToSystemAndAddToDebugBox("Could not load from Config file!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user