aboutsummaryrefslogtreecommitdiff
path: root/src/example
diff options
context:
space:
mode:
authormax-001 <maxsmits21@knpmail.nl>2024-10-09 10:54:50 +0200
committermax-001 <maxsmits21@knpmail.nl>2024-10-09 10:54:50 +0200
commitf5b4e2c84326bd96c78ad1f6e4481c1970e54444 (patch)
treeaa75ef01ace01d86ffda93632e0b40dc11e0dcbc /src/example
parent765550bce8a81c6f0c79c0083b14ef68e0c900b2 (diff)
parent6b7a670d60fec808e4fd1fcf3a8df2c503dcbdf4 (diff)
Merge remote-tracking branch 'origin/master' into max/POC-ECS-homemade
Diffstat (limited to 'src/example')
-rw-r--r--src/example/CMakeLists.txt3
-rw-r--r--src/example/audio_internal.cpp45
2 files changed, 48 insertions, 0 deletions
diff --git a/src/example/CMakeLists.txt b/src/example/CMakeLists.txt
new file mode 100644
index 0000000..bcc9271
--- /dev/null
+++ b/src/example/CMakeLists.txt
@@ -0,0 +1,3 @@
+add_executable(audio_internal EXCLUDE_FROM_ALL audio_internal.cpp)
+target_link_libraries(audio_internal PUBLIC crepe)
+
diff --git a/src/example/audio_internal.cpp b/src/example/audio_internal.cpp
new file mode 100644
index 0000000..1199e2d
--- /dev/null
+++ b/src/example/audio_internal.cpp
@@ -0,0 +1,45 @@
+/** \file
+ *
+ * Standalone example for usage of the internal \c Sound class.
+ */
+
+#include <crepe/Sound.h>
+#include <crepe/util/log.h>
+
+#include <chrono>
+#include <thread>
+
+using namespace crepe;
+using namespace std;
+using namespace std::chrono_literals;
+using std::make_unique;
+
+int main() {
+ dbg_trace();
+
+ auto bgm = Sound("../mwe/audio/bgm.ogg");
+ auto sfx1 = Sound("../mwe/audio/sfx1.wav");
+ auto sfx2 = Sound("../mwe/audio/sfx2.wav");
+ auto sfx3 = Sound("../mwe/audio/sfx3.wav");
+
+ bgm.play();
+
+ // play each sample sequentially
+ this_thread::sleep_for(500ms);
+ sfx1.play();
+ this_thread::sleep_for(500ms);
+ sfx2.play();
+ bgm.pause();
+ this_thread::sleep_for(500ms);
+ sfx3.play();
+ bgm.play();
+ this_thread::sleep_for(500ms);
+
+ // play all samples simultaniously
+ sfx1.play();
+ sfx2.play();
+ sfx3.play();
+ this_thread::sleep_for(1000ms);
+
+ return 0;
+}