diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index d801bf4..dcffce8 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -7,7 +7,6 @@
-
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 72be14a..64c32f6 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -13,7 +13,7 @@
-
+
\ No newline at end of file
diff --git a/app/src/main/java/org/toop/Main.java b/app/src/main/java/org/toop/Main.java
index 77f6e6c..a99a5d5 100644
--- a/app/src/main/java/org/toop/Main.java
+++ b/app/src/main/java/org/toop/Main.java
@@ -1,86 +1,27 @@
package org.toop;
-import java.util.Arrays;
import org.toop.app.gui.LocalServerSelector;
-import org.toop.framework.eventbus.EventFlow;
import org.toop.framework.networking.NetworkingClientManager;
import org.toop.framework.networking.NetworkingInitializationException;
-import org.toop.framework.networking.events.NetworkEvents;
+import org.toop.framework.audio.AudioFilesManager;
+
+import javax.sound.sampled.*;
+import java.io.File;
+import java.io.IOException;
public class Main {
- static void main(String[] args) {
+ static void main(String[] args) throws IOException, UnsupportedAudioFileException, LineUnavailableException {
+ AudioFilesManager audioFiles = new AudioFilesManager("app/src/main/resources/audio/");
+ String aFile = audioFiles.getAudioFile("hdchirp_88k_log.wav");
+ AudioInputStream audioStream = AudioSystem.getAudioInputStream(new File(aFile));
+ Clip clip = AudioSystem.getClip();
+ clip.open(audioStream);
+ clip.start();
initSystems();
-
- EventFlow a =
- new EventFlow()
- .addPostEvent(NetworkEvents.StartClient.class, "127.0.0.1", 7789)
- .onResponse(Main::login)
- // .onResponse(Main::sendCommand)
- // .onResponse(Main::closeClient)
- .asyncPostEvent();
-
- new Thread(
- () -> {
- while (a.getResult() == null) {
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- }
- }
- long clid = (Long) a.getResult().get("clientId");
- new EventFlow()
- .addPostEvent(
- new NetworkEvents.SendSubscribe(clid, "tic-tac-toe"))
- .listen(
- NetworkEvents.PlayerlistResponse.class,
- response -> {
- if (response.clientId() == clid)
- System.out.println(
- Arrays.toString(response.playerlist()));
- })
- .listen(
- NetworkEvents.ChallengeResponse.class,
- response -> {
- if (response.clientId() == clid)
- System.out.println(response.challengeId());
- })
- .listen(
- NetworkEvents.ChallengeCancelledResponse.class,
- response -> {
- if (response.clientId() == clid)
- System.out.println(response.challengeId());
- })
- .listen(
- NetworkEvents.GamelistResponse.class,
- response -> {
- if (response.clientId() == clid)
- System.out.println(
- Arrays.toString(response.gamelist()));
- })
- .asyncPostEvent();
- })
- .start();
-
- new Thread(() -> javax.swing.SwingUtilities.invokeLater(LocalServerSelector::new)).start();
- }
-
- private static void login(NetworkEvents.StartClientResponse event) {
- new Thread(
- () -> {
- try {
- Thread.sleep(1000);
- new EventFlow()
- .addPostEvent(
- new NetworkEvents.SendCommand(
- event.clientId(), "login bas"))
- .asyncPostEvent();
- } catch (InterruptedException e) {
- }
- })
- .start();
+ javax.swing.SwingUtilities.invokeLater(LocalServerSelector::new);
}
private static void initSystems() throws NetworkingInitializationException {
new NetworkingClientManager();
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/resources/audio/hdchirp_88k_log.wav b/app/src/main/resources/audio/hdchirp_88k_log.wav
new file mode 100644
index 0000000..cf2a32f
Binary files /dev/null and b/app/src/main/resources/audio/hdchirp_88k_log.wav differ
diff --git a/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java b/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java
new file mode 100644
index 0000000..3bf23a4
--- /dev/null
+++ b/framework/src/main/java/org/toop/framework/audio/AudioFilesManager.java
@@ -0,0 +1,55 @@
+package org.toop.framework.audio;
+
+import java.io.IOException;
+import java.io.InvalidObjectException;
+import java.nio.file.*;
+import java.util.HashSet;
+import java.util.Set;
+
+public class AudioFilesManager {
+
+ private Set audioFiles;
+ private String audioDirectory;
+
+ public AudioFilesManager(String audioDirectory) throws NotDirectoryException {
+ if (!audioDirectory.endsWith("/") && !audioDirectory.endsWith("\\")) {
+ throw new NotDirectoryException(audioDirectory);
+ }
+ this.audioFiles = AudioFilesManager.getAllAudioFiles(audioDirectory);
+ this.audioDirectory = audioDirectory;
+ }
+
+ public Set getAudioFiles() {
+ return this.audioFiles;
+ }
+
+ public String getAudioFile(String file) {
+ if (!audioFiles.contains(file)) {
+ return null;
+ }
+ return audioDirectory + file;
+ }
+
+ private static Set getAllAudioFiles(String audioDirectory) {
+ Set fileSet = new HashSet<>();
+ try (DirectoryStream stream = Files.newDirectoryStream(Paths.get(audioDirectory))) {
+ for (Path path : stream) {
+ if (!Files.isDirectory(path)) {
+ String extension = "";
+
+ int i = path.getFileName().toString().lastIndexOf('.');
+ if (i > 0) {
+ extension = path.getFileName().toString().substring(i+1);
+ }
+ if (extension.equalsIgnoreCase("wave") || extension.equalsIgnoreCase("wav")
+ || extension.equalsIgnoreCase("mp3"))
+ fileSet.add(path.getFileName()
+ .toString());
+ }
+ }
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ return fileSet;
+ }
+}
diff --git a/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java b/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java
new file mode 100644
index 0000000..a022297
--- /dev/null
+++ b/framework/src/main/java/org/toop/framework/audio/AudioPlayer.java
@@ -0,0 +1,7 @@
+package org.toop.framework.audio;
+
+public class AudioPlayer {
+
+
+
+}