Skip to content

Commit e7251a7

Browse files
committed
Imma Cringe.
1 parent cd28195 commit e7251a7

File tree

5 files changed

+28
-7
lines changed

5 files changed

+28
-7
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ java{
1919
}
2020

2121
ext{
22-
mindustryVersion = 'v152.2'
22+
mindustryVersion = 'v154.3'
2323
jabelVersion = "93fde537c7"
2424
//windows sucks
2525
isWindows = System.getProperty("os.name").toLowerCase().contains("windows")

mod.hjson

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ name: "LemmeSay"
33
author: "NgLam2911"
44
main: "lemmesay.LemmeSay"
55
description: "Mindustry voice chat mod."
6-
version: 1.0-dev6
7-
minGameVersion: 152
6+
version: 1.0-dev7
7+
minGameVersion: 154
88
java: true
99
hidden: true

src/lemmesay/LemmeSay.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import arc.Events;
44
import arc.util.CommandHandler;
5+
import arc.util.Log;
56
import lemmesay.net.packet.VCPackets;
67
import mindustry.game.EventType;
78
import mindustry.gen.PingCallPacket;
@@ -17,6 +18,12 @@ public LemmeSay() {
1718

1819
@Override
1920
public void init() {
21+
try {
22+
Class.forName("javax.sound.sampled.AudioSystem");
23+
} catch (ClassNotFoundException e) {
24+
Log.err("JavaX Sound API not found. Please try to run the game/server with other JRE/JDK that includes JavaX Sound API.");
25+
return;
26+
}
2027
this.registerEvents();
2128
}
2229

src/lemmesay/voice/VoiceManager.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,16 @@ public void run() {
2020
if (!Vars.net.client()) {
2121
Log.info("Voice chat disconnected, stopping microphone capture.");
2222
mic.close();
23+
VoiceProcessing.getInstance().close();
24+
Log.info("Voice processing resources released.");
2325
break;
2426
}
25-
short[] audioData = mic.read();
26-
// I will never write code like this again
27-
VoiceProcessing.getInstance().handleAudio(audioData);
2827
try {
28+
short[] audioData = mic.read();
29+
VoiceProcessing.getInstance().handleAudio(audioData);
2930
Thread.sleep(20);
31+
} catch (IllegalStateException e) {
32+
Log.warn("Failed to read from microphone: " + e.getMessage());
3033
} catch (InterruptedException e) {
3134
Thread.currentThread().interrupt();
3235
mic.close();

src/lemmesay/voice/VoiceProcessing.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,17 @@ public void handleAudio(short[] audioData) {
5252
public void handleMicPacket(MicPacket packet) {
5353
var data = packet.audioData;
5454
short[] decodedData = decoder.decode(data);
55-
speaker.play(decodedData, 80);
55+
speaker.play(decodedData, 100);
56+
}
57+
58+
public void close() {
59+
try {
60+
denoiser.close();
61+
encoder.close();
62+
decoder.close();
63+
speaker.close();
64+
} catch (Exception e) {
65+
Log.err(e);
66+
}
5667
}
5768
}

0 commit comments

Comments
 (0)