Skip to content

Commit

Permalink
Audio: add CoreAudio support
Browse files Browse the repository at this point in the history
Signed-off-by: Wu Jianhua <toqsxw@outlook.com>
  • Loading branch information
QSXW committed Feb 10, 2024
1 parent 4658976 commit 15ef41e
Show file tree
Hide file tree
Showing 16 changed files with 877 additions and 374 deletions.
12 changes: 12 additions & 0 deletions Immortal/Audio/AudioPrecompiledHeader.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#pragma once

#include "IAudioDevice.h"
#include "Device.h"

#ifdef _WIN32
#include "WASAPI.h"
#elif defined(__APPLE__)
#include "CoreAudio.h"
#elif defined(__linux__)
#include "ALSA.h"
#endif
72 changes: 0 additions & 72 deletions Immortal/Audio/AudioRenderContext.h

This file was deleted.

68 changes: 0 additions & 68 deletions Immortal/Audio/AudioSource.cpp

This file was deleted.

86 changes: 0 additions & 86 deletions Immortal/Audio/AudioSource.h

This file was deleted.

47 changes: 47 additions & 0 deletions Immortal/Audio/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
cmake_minimum_required(VERSION 3.16)

set (CMAKE_VERBOSE_MAKEFILE ON)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)

project("ImmortalAudio" LANGUAGES CXX)

set(AUDIO_FILES
IAudioDevice.cpp
IAudioDevice.h
Device.cpp
Device.h)

if (WIN32)
list(APPEND AUDIO_FILES
WASAPI.cpp
WASAPI.h)
elseif(APPLE)
list(APPEND AUDIO_FILES
CoreAudio.mm
CoreAudio.h)
elseif(UNIX)
list(APPEND AUDIO_FILES
ALSA.cpp
ALSA.h)
endif()

list(TRANSFORM AUDIO_FILES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/")

source_group("\\" FILES ${AUDIO_FILES})

add_library(${PROJECT_NAME} STATIC ${AUDIO_FILES})

target_link_libraries(${PROJECT_NAME} PUBLIC
ImmortalShared
ImmortalVision)

if (NOT APPLE)
target_precompile_headers(${PROJECT_NAME} PUBLIC $<$<COMPILE_LANGUAGE:CXX>:${CMAKE_CURRENT_SOURCE_DIR}/AudioPrecompiledHeader.h>)
else()
target_link_libraries(${PROJECT_NAME} PRIVATE
"-framework Cocoa"
"-framework IOKit"
"-framework CoreFoundation"
"-framework CoreAudio"
"-framework AudioToolBox")
endif()
Loading

0 comments on commit 15ef41e

Please sign in to comment.