summaryrefslogtreecommitdiff
path: root/tests/pke-test-audio.cpp
diff options
context:
space:
mode:
authorJonathan Bradley <jcb@pikum.xyz>2025-07-14 16:35:32 -0400
committerJonathan Bradley <jcb@pikum.xyz>2025-07-14 16:35:32 -0400
commit7f0b0a59425321dcc880ddc0f4b479bce85e0bb0 (patch)
treec5c10d187faf26a248d859deac68ba83bbe26e97 /tests/pke-test-audio.cpp
parentf88ca0bc946bae086e02eacdc6c129f00e2e07e3 (diff)
pke: audio: process each tick, impl buffer copy
Diffstat (limited to 'tests/pke-test-audio.cpp')
-rw-r--r--tests/pke-test-audio.cpp32
1 files changed, 15 insertions, 17 deletions
diff --git a/tests/pke-test-audio.cpp b/tests/pke-test-audio.cpp
index 2d48022..4607033 100644
--- a/tests/pke-test-audio.cpp
+++ b/tests/pke-test-audio.cpp
@@ -50,23 +50,23 @@ int pke_test_audio_001() {
UBO.model = glm::translate(glm::mat4(1.f), glm::vec3(0, 0, 0));
- float *zip_bop_bytes = pk_new<float>(48000, bkt);
+ float *zip_bop_bytes = pk_new<float>(PKE_AUDIO_BITRATE, bkt);
float phase = 0.0f;
- float phase_increment = 440.f / 48000.f;
- for (i = 0; i < 48000; ++i) {
+ float phase_increment = 440.f / float(PKE_AUDIO_BITRATE);
+ for (i = 0; i < PKE_AUDIO_BITRATE; ++i) {
zip_bop_bytes[i] = 2.f * (phase - floor(phase + 0.5f));
phase += phase_increment;
if (phase >= 1.f) phase -= 1.f;
}
const AssetKey ak_sawtooth {"sawthooth"};
- AssetHandle ah_sawtooth = AM_Register(ak_sawtooth, PKE_ASSET_TYPE_AUDIO, zip_bop_bytes, sizeof(float) * 48000, 64);
- pk_delete<float>(zip_bop_bytes, 48000, bkt);
+ AssetHandle ah_sawtooth = AM_Register(ak_sawtooth, PKE_ASSET_TYPE_AUDIO, zip_bop_bytes, sizeof(float) * PKE_AUDIO_BITRATE, 64);
+ pk_delete<float>(zip_bop_bytes, PKE_AUDIO_BITRATE, bkt);
pke_audio_play(ah_sawtooth, pke_audio_source_music, pke_audio_flag_none, glm::vec3(0));
while (pke_audio_mstr.playing_objects.next > 0) {
pke_audio_tick(0.001f);
- std::this_thread::sleep_for(std::chrono::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::nanoseconds(500000));
}
AM_Release(ah_sawtooth);
@@ -96,16 +96,16 @@ int pke_test_audio_002() {
};
for(k = 0; k < 3; ++k) {
- float *zip_bop_bytes = pk_new<float>(48000, bkt);
+ float *zip_bop_bytes = pk_new<float>(PKE_AUDIO_BITRATE, bkt);
float phase = 0.0f;
- float phase_increment = freqs[k] / 48000.f;
- for (i = 0; i < 48000; ++i) {
+ float phase_increment = freqs[k] / float(PKE_AUDIO_BITRATE);
+ for (i = 0; i < PKE_AUDIO_BITRATE; ++i) {
zip_bop_bytes[i] = 2.f * (phase - floor(phase + 0.5f));
phase += phase_increment;
if (phase >= 1.f) phase -= 1.f;
}
- ahs[k] = AM_Register(aks[k], PKE_ASSET_TYPE_AUDIO, zip_bop_bytes, sizeof(float) * 48000, 64);
- pk_delete<float>(zip_bop_bytes, 48000, bkt);
+ ahs[k] = AM_Register(aks[k], PKE_ASSET_TYPE_AUDIO, zip_bop_bytes, sizeof(float) * PKE_AUDIO_BITRATE, 64);
+ pk_delete<float>(zip_bop_bytes, PKE_AUDIO_BITRATE, bkt);
}
std::chrono::milliseconds(1);
for(k = 0; k < 3; ++k) {
@@ -114,7 +114,7 @@ int pke_test_audio_002() {
while (pke_audio_mstr.playing_objects.next > 0) {
pke_audio_tick(0.001f);
- std::this_thread::sleep_for(std::chrono::milliseconds(1));
+ std::this_thread::sleep_for(std::chrono::nanoseconds(500000));
}
for(k = 0; k < 3; ++k) {
@@ -141,8 +141,7 @@ int pke_test_audio_003() {
CompInstance *inst = ECS_CreateInstance(ent, pk_uuid_zed, nullptr, &inst_pos);
uint64_t dur_seconds = 2;
- uint64_t bit_rate = 48000;
- uint64_t total_frames = bit_rate * dur_seconds;
+ uint64_t total_frames = PKE_AUDIO_BITRATE * dur_seconds;
AssetHandle ahs[1];
const AssetKey aks[1] {"sawtooth"};
float freqs[1] = {2000.f};
@@ -153,7 +152,7 @@ int pke_test_audio_003() {
for(k = 0; k < 1; ++k) {
float *zip_bop_bytes = pk_new<float>(total_frames, bkt);
float phase = 0.0f;
- float phase_increment = freqs[k] / float(bit_rate);
+ float phase_increment = freqs[k] / float(PKE_AUDIO_BITRATE);
for (i = 0; i < total_frames; ++i) {
zip_bop_bytes[i] = 2.f * (phase - floor(phase + 0.5f));
phase += phase_increment;
@@ -167,7 +166,6 @@ int pke_test_audio_003() {
pke_audio_play(ahs[k], pke_audio_source_music, pke_audio_flag_pos_spatial, src_poss[k], inst->instanceHandle);
}
-
float delta = 0.f;
float delta_elapsed = 0.f;
btTransform trfm{};
@@ -187,7 +185,7 @@ int pke_test_audio_003() {
inst->bt.rigidBody->setWorldTransform(trfm);
// fprintf(stdout, "%f,%f,%f\n", rot_pos.x, rot_pos.y, rot_pos.z);
- std::this_thread::sleep_for(std::chrono::nanoseconds(1));
+ std::this_thread::sleep_for(std::chrono::nanoseconds(500000));
}
for(k = 0; k < 1; ++k) {