Compare commits

...

2 Commits

Author SHA1 Message Date
cat
b8cdd54888 updated .gitignore 2025-09-04 21:55:28 +03:00
cat
e24e3e6637 Made miniaudio anonymous so it doesn't go outside of translation unit 2025-09-04 21:54:52 +03:00
22 changed files with 12 additions and 5 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

1
.gitignore vendored
View File

@@ -47,3 +47,4 @@ CMakeUserPresets.json
*.app *.app
build/ build/
.cache/

View File

@@ -3,12 +3,12 @@ cmake_minimum_required(VERSION 3.10)
project(ChargeAudio VERSION 1.0) project(ChargeAudio VERSION 1.0)
set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD 17)
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
set(CMAKE_MODULE_PATH "modules/" ${CMAKE_MODULE_PATH}) set(CMAKE_MODULE_PATH "modules/" ${CMAKE_MODULE_PATH})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
if(CMAKE_BUILD_TYPE STREQUAL "Debug") if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fsanitize=address")
endif() endif()
add_subdirectory(lib/miniaudio) add_subdirectory(lib/miniaudio)
find_package(Corrade REQUIRED Main) find_package(Corrade REQUIRED Main)
@@ -20,7 +20,7 @@ pkg_check_modules(AVUTIL REQUIRED libavutil)
pkg_check_modules(SWRESAMPLE REQUIRED libswresample) pkg_check_modules(SWRESAMPLE REQUIRED libswresample)
add_library(ChargeAudio SHARED "src/ChargeAudio.hpp" "src/Engine.cpp" add_library(ChargeAudio SHARED "src/ChargeAudio.hpp" "src/Engine.cpp"
"src/Sound.cpp") "src/Sound.cpp" "lib/miniaudio/miniaudio.c")
target_link_libraries( target_link_libraries(
ChargeAudio ChargeAudio
@@ -28,7 +28,9 @@ target_link_libraries(
${AVCODEC_LIBRARIES} ${AVUTIL_LIBRARIES} ${SWRESAMPLE_LIBRARIES}) ${AVCODEC_LIBRARIES} ${AVUTIL_LIBRARIES} ${SWRESAMPLE_LIBRARIES})
target_include_directories( target_include_directories(
ChargeAudio PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> ChargeAudio
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/lib>
$<INSTALL_INTERFACE:include>) $<INSTALL_INTERFACE:include>)
# Library # Library
@@ -41,6 +43,7 @@ install(
# include # include
install(FILES src/ChargeAudio.hpp DESTINATION include/Charge) install(FILES src/ChargeAudio.hpp DESTINATION include/Charge)
install(FILES lib/miniaudio/miniaudio.h DESTINATION include/Charge/miniaudio/)
install( install(
EXPORT ChargeAudioTargets EXPORT ChargeAudioTargets

View File

@@ -1,11 +1,13 @@
#ifndef CHARGE_AUDIO_BASE_H #ifndef CHARGE_AUDIO_BASE_H
#define CHARGE_AUDIO_BASE_H #define CHARGE_AUDIO_BASE_H
#include "../lib/miniaudio/miniaudio.h"
#include <Magnum/Magnum.h> #include <Magnum/Magnum.h>
#include <Magnum/Math/Vector.h> #include <Magnum/Math/Vector.h>
#include <string> #include <string>
namespace ChargeAudio { namespace ChargeAudio {
namespace {
#include "miniaudio/miniaudio.h"
}
class Sound { class Sound {
public: public:
~Sound(); ~Sound();
@@ -35,5 +37,6 @@ private:
ma_engine maEngine; ma_engine maEngine;
ma_result maResponse; ma_result maResponse;
}; };
} // namespace ChargeAudio } // namespace ChargeAudio
#endif #endif