mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 06:38:10 +00:00

This adds an abstract `Audio::PlaybackStream` class to allow cross- platform audio playback to be done in an opaque manner by applications in both Serenity and Lagom. Currently, the only supported audio API is PulseAudio, but a Serenity implementation should be added shortly as well.
42 lines
1.1 KiB
CMake
42 lines
1.1 KiB
CMake
set(SOURCES
|
|
GenericTypes.cpp
|
|
SampleFormats.cpp
|
|
Loader.cpp
|
|
RIFFTypes.cpp
|
|
WavLoader.cpp
|
|
FlacLoader.cpp
|
|
WavWriter.cpp
|
|
Metadata.cpp
|
|
MP3Loader.cpp
|
|
PlaybackStream.cpp
|
|
QOALoader.cpp
|
|
QOATypes.cpp
|
|
UserSampleQueue.cpp
|
|
VorbisComment.cpp
|
|
)
|
|
|
|
if (SERENITYOS)
|
|
list(APPEND SOURCES ConnectionToServer.cpp)
|
|
list(APPEND SOURCES ConnectionToManagerServer.cpp)
|
|
set(GENERATED_SOURCES
|
|
../../Services/AudioServer/AudioClientEndpoint.h
|
|
../../Services/AudioServer/AudioServerEndpoint.h
|
|
../../Services/AudioServer/AudioManagerClientEndpoint.h
|
|
../../Services/AudioServer/AudioManagerServerEndpoint.h
|
|
)
|
|
endif()
|
|
|
|
if (HAVE_PULSEAUDIO)
|
|
list(APPEND SOURCES
|
|
PlaybackStreamPulseAudio.cpp
|
|
PulseAudioWrappers.cpp
|
|
)
|
|
endif()
|
|
|
|
serenity_lib(LibAudio audio)
|
|
target_link_libraries(LibAudio PRIVATE LibCore LibIPC LibThreading LibUnicode LibCrypto)
|
|
|
|
if (HAVE_PULSEAUDIO)
|
|
target_link_libraries(LibAudio PRIVATE pulse)
|
|
target_compile_definitions(LibAudio PRIVATE HAVE_PULSEAUDIO=1)
|
|
endif()
|