Archived
initial commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
package com.ixab.ConfigHandling;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class Config implements Serializable {
|
||||
private String LSPath;
|
||||
private ArrayList<String> streamNames;
|
||||
public Config() {
|
||||
this.streamNames = new ArrayList<String>();
|
||||
}
|
||||
public void setLSPath(String path) {
|
||||
this.LSPath = path;
|
||||
}
|
||||
public String getLSPath() {
|
||||
return this.LSPath;
|
||||
}
|
||||
|
||||
public String getStreamName(int streamIndex) {
|
||||
return this.streamNames.get(streamIndex-1);
|
||||
}
|
||||
|
||||
public void addStream(String streamName) {
|
||||
this.streamNames.add(streamName);
|
||||
}
|
||||
public ArrayList<String> getStreams() {
|
||||
return this.streamNames;
|
||||
}
|
||||
public int getStreamCount() {
|
||||
return this.streamNames.size();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.ixab.ConfigHandling;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class ConfigFileHandler {
|
||||
public static Config load(String path) {
|
||||
Config c = null;
|
||||
try
|
||||
{
|
||||
FileInputStream fileIn = new FileInputStream(path);
|
||||
ObjectInputStream in = new ObjectInputStream(fileIn);
|
||||
c = (Config) in.readObject();
|
||||
in.close();
|
||||
fileIn.close();
|
||||
}catch(IOException i)
|
||||
{
|
||||
i.printStackTrace();
|
||||
return null;
|
||||
}catch(ClassNotFoundException e)
|
||||
{
|
||||
System.out.println("Config class not found");
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
return c;
|
||||
}
|
||||
public static void save(Config c, String path) {
|
||||
try
|
||||
{
|
||||
FileOutputStream fileOut =
|
||||
new FileOutputStream("config.dat");
|
||||
ObjectOutputStream out = new ObjectOutputStream(fileOut);
|
||||
out.writeObject(c);
|
||||
out.close();
|
||||
fileOut.close();
|
||||
System.out.printf("Config data is saved in config.dat");
|
||||
}catch(IOException i)
|
||||
{
|
||||
i.printStackTrace();
|
||||
}
|
||||
}
|
||||
public static Config load() {
|
||||
return load("config.dat");
|
||||
}
|
||||
public static void save(Config c) {
|
||||
save(c, "config.dat");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.ixab.GUI.ConfigMenu">
|
||||
<grid id="27dc6" row-count="1" column-count="1" layout-manager="GridLayoutManager">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="500" height="400"/>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</form>
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ixab.GUI;
|
||||
|
||||
public class ConfigMenu {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<form xmlns="http://www.intellij.com/uidesigner/form/" version="1" bind-to-class="com.ixab.GUI.StreamChooserMenu">
|
||||
<grid id="27dc6" row-count="1" column-count="1" layout-manager="GridLayoutManager">
|
||||
<margin top="0" left="0" bottom="0" right="0"/>
|
||||
<constraints>
|
||||
<xy x="20" y="20" width="500" height="400"/>
|
||||
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
|
||||
</constraints>
|
||||
<properties/>
|
||||
<border type="none"/>
|
||||
<children/>
|
||||
</grid>
|
||||
</form>
|
||||
@@ -0,0 +1,4 @@
|
||||
package com.ixab.GUI;
|
||||
|
||||
public class StreamChooserMenu {
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.ixab;
|
||||
|
||||
import com.ixab.ConfigHandling.Config;
|
||||
import com.ixab.ConfigHandling.ConfigFileHandler;
|
||||
import com.ixab.StreamHandling.StreamOpener;
|
||||
|
||||
public class Main {
|
||||
private static boolean running = true;
|
||||
public static void exitProgram() {
|
||||
running = false;
|
||||
}
|
||||
public static void main(String[] args) {
|
||||
while (running) {
|
||||
// TODO: config dialog
|
||||
// TODO: stream choosing
|
||||
}
|
||||
// begin test
|
||||
//Config c = new Config();
|
||||
Config c = ConfigFileHandler.load();
|
||||
//c.addStream("cohhcarnage");
|
||||
//c.setLSPath("e:\\downloads\\livestreamer-v1.11.1\\livestreamer.exe");
|
||||
//ConfigFileHandler.save(c);
|
||||
|
||||
StreamOpener so = new StreamOpener(c, 1, "best");
|
||||
so.start();
|
||||
// end test
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.ixab.StreamHandling;
|
||||
|
||||
import com.ixab.ConfigHandling.Config;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.InputStreamReader;
|
||||
|
||||
public class StreamOpener extends Thread {
|
||||
private Config c;
|
||||
private int streamIndex;
|
||||
private String quality;
|
||||
public StreamOpener(Config c, int streamIndex, String quality) {
|
||||
this.c = c;
|
||||
this.streamIndex = streamIndex;
|
||||
this.quality = quality;
|
||||
}
|
||||
public void run() {
|
||||
try {
|
||||
Runtime rt = Runtime.getRuntime();
|
||||
//Process pr = rt.exec("cmd /c dir");
|
||||
Process pr = rt.exec(c.getLSPath()+" twitch.tv/"+c.getStreamName(streamIndex)+" "+quality);
|
||||
|
||||
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
|
||||
|
||||
String line=null;
|
||||
|
||||
while((line=input.readLine()) != null) {
|
||||
System.out.println(line);
|
||||
}
|
||||
|
||||
int exitVal = pr.waitFor();
|
||||
System.out.println("Exited with error code " + exitVal);
|
||||
|
||||
} catch(Exception e) {
|
||||
System.out.println(e.toString());
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user