124 lines
3.7 KiB
Java
124 lines
3.7 KiB
Java
package com.danitheskunk.skunkworks;
|
|
|
|
import com.danitheskunk.skunkworks.audio.Samplei;
|
|
import com.danitheskunk.skunkworks.gfx.Color;
|
|
import com.danitheskunk.skunkworks.gfx.IRenderContext;
|
|
import com.danitheskunk.skunkworks.gfx.vt.Terminal;
|
|
import marytts.LocalMaryInterface;
|
|
import marytts.exceptions.MaryConfigurationException;
|
|
import marytts.exceptions.SynthesisException;
|
|
import marytts.util.data.audio.MaryAudioUtils;
|
|
|
|
import javax.sound.sampled.AudioInputStream;
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
|
public class Test extends BaseGame {
|
|
private Terminal term;
|
|
|
|
public Test() {
|
|
super(new Vec2i(40 * 12, 22 * 12), "Skunkworks");
|
|
|
|
|
|
LocalMaryInterface mary;
|
|
|
|
try {
|
|
mary = new LocalMaryInterface();
|
|
} catch(MaryConfigurationException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
|
|
var voices = mary.getAvailableVoices();
|
|
|
|
var text = "Welcome to the world of speech synthesis!";
|
|
|
|
AudioInputStream audio = null;
|
|
try {
|
|
audio = mary.generateAudio(text);
|
|
Util.time(() -> {
|
|
try {
|
|
mary.generateAudio(text);
|
|
} catch(SynthesisException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
});
|
|
} catch(SynthesisException e) {
|
|
throw new RuntimeException(e);
|
|
}
|
|
|
|
var format = audio.getFormat();
|
|
//var aa = MaryAudioUtils.getSamplesAsDoubleArray(audio);
|
|
var ds = MaryAudioUtils.getSamplesAsDoubleArray(audio);
|
|
|
|
//var sample = audioEngine.loadSample(audio);
|
|
var sample = Samplei.fromMonoDoubleArray(ds);
|
|
System.out.println(sample.getLength());
|
|
//System.out.println(aa.length);
|
|
samplePlayer.play(sample, false);
|
|
|
|
|
|
var path = "C:\\Program Files (x86)" +
|
|
"\\Steam\\steamapps\\common\\Unreal " +
|
|
"Tournament\\System\\UnrealTournament.ini";
|
|
|
|
|
|
var data = engine.loadDataWatched(path);
|
|
data.onReload(() -> System.out.println(data.get("URL", "Host")));
|
|
|
|
var fontThin = window.loadFontTileset("fonts\\thin-6x12.png");
|
|
var fontThin2 = window.loadFontTileset("fonts\\thin-12x12.png");
|
|
term = new Terminal(new Vec2i(40, 22), fontThin2, fontThin);
|
|
|
|
window.setStretchMode(WindowStretchMode.INTEGER);
|
|
var c1 = Color.GREEN;
|
|
var c2 = new Color(0, 128, 0);
|
|
|
|
term.drawHorizontalSingleLine(new Vec2i(0, 0), 20, c2);
|
|
term.drawHalfString(new Vec2i(6, 0), " Upgrades ");
|
|
|
|
term.drawHalfString(new Vec2i(0, 1), " a", c1);
|
|
term.drawHalfString(new Vec2i(1, 1), " - [", c2);
|
|
term.drawHalfString(new Vec2i(3, 1), " Upgraded Skeleton", c1);
|
|
term.drawHalfString(new Vec2i(12, 1), " ]", c2);
|
|
term.drawHalfString(new Vec2i(16, 1), "10,000$", c1);
|
|
|
|
term.drawHalfString(new Vec2i(0, 2), " b", c1);
|
|
term.drawHalfString(new Vec2i(1, 2), " - [", c2);
|
|
term.drawHalfString(new Vec2i(3, 2), " Upgraded Eyes", c1);
|
|
term.drawHalfString(new Vec2i(10, 2), " ]", c2);
|
|
term.drawHalfString(new Vec2i(16, 2), " 7,000$", c1);
|
|
|
|
term.drawHalfString(new Vec2i(0, 3), " c", c1);
|
|
term.drawHalfString(new Vec2i(1, 3), " - [", c2);
|
|
term.drawHalfString(new Vec2i(3, 3), " Upgraded Senses", c1);
|
|
term.drawHalfString(new Vec2i(11, 3), " ]", c2);
|
|
term.drawHalfString(new Vec2i(16, 3), " 6,000$", c1);
|
|
|
|
term.drawHalfString(new Vec2i(0, 4), " d", c1);
|
|
term.drawHalfString(new Vec2i(1, 4), " - [", c2);
|
|
term.drawHalfString(new Vec2i(3, 4), " Upgraded Legs", c1);
|
|
term.drawHalfString(new Vec2i(10, 4), " ]", c2);
|
|
term.drawHalfString(new Vec2i(16, 4), " 4,500$", c1);
|
|
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
new Test().run();
|
|
}
|
|
|
|
@Override
|
|
protected void render(IRenderContext rc) {
|
|
rc.drawTerminal(term);
|
|
}
|
|
|
|
@Override
|
|
protected void update(double delta) {
|
|
var mouse = window.getMousePos();
|
|
term.clear(Color.TRANS_BLACK);
|
|
var col = window.isMouseDown(0) ? Color.RED : Color.GREEN;
|
|
term.setBackgroundColor(Vec2i.div(mouse, term.getFullCharSize()), col);
|
|
if(window.isMouseClicked(1)) {
|
|
System.out.println("right click");
|
|
}
|
|
}
|
|
}
|