commit 06/10/2025
This commit is contained in:
53
src/Main.kt
53
src/Main.kt
@@ -1,7 +1,9 @@
|
||||
import audio.AudioFileInfo
|
||||
import audio.AudioPlayer
|
||||
import audio.UDPReceiver
|
||||
import barix.BarixConnection
|
||||
import barix.TCP_Barix_Command_Server
|
||||
import codes.Somecodes
|
||||
import com.sun.jna.Platform
|
||||
import commandServer.TCP_Android_Command_Server
|
||||
import content.Language
|
||||
@@ -16,7 +18,9 @@ import kotlinx.coroutines.launch
|
||||
import org.tinylog.Logger
|
||||
import oshi.util.GlobalConfig
|
||||
import web.WebApp
|
||||
import java.nio.file.Files
|
||||
import kotlin.concurrent.fixedRateTimer
|
||||
import kotlin.io.path.absolutePathString
|
||||
|
||||
lateinit var db: MariaDB
|
||||
lateinit var audioPlayer: AudioPlayer
|
||||
@@ -39,6 +43,49 @@ val urutan_bahasa = listOf(
|
||||
Language.ARABIC.name
|
||||
)
|
||||
|
||||
/**
|
||||
* Common audio files, seperti chimeup, chimedown, silence1s, silencehalf
|
||||
*/
|
||||
val commonAudio : MutableMap<String, AudioFileInfo> = HashMap()
|
||||
|
||||
/**
|
||||
* Create necessary folders if not exist
|
||||
*/
|
||||
fun folder_preparation(){
|
||||
Files.createDirectories(Somecodes.SoundbankResult_directory)
|
||||
Files.createDirectories(Somecodes.PagingResult_directory)
|
||||
Files.createDirectories(Somecodes.Soundbank_directory)
|
||||
Somecodes.Soundbank_Languages_directory.forEach {
|
||||
Files.createDirectories(it)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract necessary wav files from classpath to soundbank directory
|
||||
* and Load them
|
||||
*/
|
||||
fun files_preparation(){
|
||||
val list = listOf("chimeup.wav", "chimedown.wav", "silence1s.wav", "silencehalf.wav")
|
||||
list.forEach {
|
||||
Somecodes.ExtractFilesFromClassPath("/$it", Somecodes.Soundbank_directory)
|
||||
val pp = Somecodes.Soundbank_directory.resolve(it)
|
||||
if (Files.isRegularFile(pp)){
|
||||
val afi = audioPlayer.LoadAudioFile(pp.absolutePathString())
|
||||
if (afi.isValid()){
|
||||
Logger.info { "Common audio $it loaded from ${pp.toAbsolutePath()}" }
|
||||
val key = it.substring(0, it.length - 4) // buang .wav
|
||||
commonAudio[key] = afi
|
||||
} else {
|
||||
Logger.error { "Failed to load common audio $it from ${pp.toAbsolutePath()}" }
|
||||
}
|
||||
} else {
|
||||
Logger.error { "Common audio $it not found at ${pp.toAbsolutePath()}" }
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Application start here
|
||||
fun main() {
|
||||
if (Platform.isWindows()) {
|
||||
@@ -46,8 +93,14 @@ fun main() {
|
||||
GlobalConfig.set(GlobalConfig.OSHI_OS_WINDOWS_CPU_UTILITY, true)
|
||||
}
|
||||
Logger.info { "Starting AAS New Generation version $version" }
|
||||
|
||||
folder_preparation()
|
||||
|
||||
audioPlayer = AudioPlayer(44100) // 44100 Hz sampling rate
|
||||
audioPlayer.InitAudio(1)
|
||||
|
||||
files_preparation()
|
||||
|
||||
db = MariaDB()
|
||||
|
||||
val subcode01 = MainExtension01()
|
||||
|
||||
Reference in New Issue
Block a user