Capture and playback now go through AudioCapture/AudioPlayback interfaces with two implementations: PipeWire, used for the system default and for every pw: device when a session is reachable, and Java Sound for the raw ALSA devices and other platforms. The PipeWire binding is FFM-based (PipeWireLibrary, PipeWireSession, PipeWireStream, SpaPod) and enumerates the graph's real devices, so each stream shows up separately in volume mixers. Lines are opened with a negotiated channel count instead of a fixed mono format: OPUS_MUSIC transmits the stereo capture as-is, OPUS_VOICE keeps transmitting the mono downmix so the pre-processing chain and VAD still see a single channel. Java Sound enumeration asks only for "a mixer that can capture/play" so the PipeWire and PulseAudio ALSA plugins are no longer hidden by their narrow format lists. The Java Sound classes are renamed to Desktop* to match what they now are, and JUnit plus a SpaPod round-trip test are wired into the build. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
60 lines
2.0 KiB
XML
60 lines
2.0 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<groupId>com.ts3client</groupId>
|
|
<artifactId>ts3-client-parent</artifactId>
|
|
<version>0.1.0</version>
|
|
<packaging>pom</packaging>
|
|
|
|
<name>TS3J Client (parent)</name>
|
|
<description>Desktop TeamSpeak 3 client built on the ts3j protocol library</description>
|
|
|
|
<modules>
|
|
<module>core</module>
|
|
<module>desktop</module>
|
|
<module>swing</module>
|
|
</modules>
|
|
|
|
<properties>
|
|
<maven.compiler.release>26</maven.compiler.release>
|
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
|
<ts3j.version>1.0.3</ts3j.version>
|
|
<surefire.version>3.5.6</surefire.version>
|
|
</properties>
|
|
|
|
<build>
|
|
<pluginManagement>
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-surefire-plugin</artifactId>
|
|
<version>${surefire.version}</version>
|
|
</plugin>
|
|
</plugins>
|
|
</pluginManagement>
|
|
</build>
|
|
|
|
<dependencyManagement>
|
|
<dependencies>
|
|
<dependency>
|
|
<groupId>com.github.manevolent</groupId>
|
|
<artifactId>ts3j</artifactId>
|
|
<version>${ts3j.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.ts3client</groupId>
|
|
<artifactId>ts3-client-core</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
<dependency>
|
|
<groupId>com.ts3client</groupId>
|
|
<artifactId>ts3-client-desktop</artifactId>
|
|
<version>${project.version}</version>
|
|
</dependency>
|
|
</dependencies>
|
|
</dependencyManagement>
|
|
</project>
|