diff --git a/core/core.vcxproj b/core/core.vcxproj index bc6c3d8..ab247c4 100644 --- a/core/core.vcxproj +++ b/core/core.vcxproj @@ -607,6 +607,19 @@ del "$(TargetDir)\*.lib" Document data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) + + + + + Document + data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) + + + Document + data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) diff --git a/core/core.vcxproj.filters b/core/core.vcxproj.filters index cb80605..e45223d 100644 --- a/core/core.vcxproj.filters +++ b/core/core.vcxproj.filters @@ -1633,5 +1633,11 @@ resources\audio + + resources\audio + + + resources\audio + \ No newline at end of file diff --git a/core/include/core_app.h b/core/include/core_app.h index 6159126..a480308 100644 --- a/core/include/core_app.h +++ b/core/include/core_app.h @@ -52,6 +52,8 @@ class CoreApp : public ofBaseApp { std::chrono::steady_clock::time_point transition_start_time; ofSoundPlayer ambient_sound; + ofSoundPlayer transition_to_intro_sound; + ofSoundPlayer transition_to_tracking_sound; bool show_debug_info = false; }; diff --git a/core/resources/transition_to_intro.wav b/core/resources/transition_to_intro.wav new file mode 100644 index 0000000..2cfd1af Binary files /dev/null and b/core/resources/transition_to_intro.wav differ diff --git a/core/resources/transition_to_tracking.wav b/core/resources/transition_to_tracking.wav new file mode 100644 index 0000000..5fe667b Binary files /dev/null and b/core/resources/transition_to_tracking.wav differ diff --git a/core/src/core_app.cpp b/core/src/core_app.cpp index d9832bd..337b529 100644 --- a/core/src/core_app.cpp +++ b/core/src/core_app.cpp @@ -38,6 +38,12 @@ void CoreApp::setup() { ambient_sound.load("resources/audio/gruen_ambient.wav"); ambient_sound.play(); ambient_sound.setLoop(true); + + transition_to_intro_sound.load("resources/audio/transition_to_intro.wav"); + transition_to_intro_sound.setVolume(0.25f); + + transition_to_tracking_sound.load("resources/audio/transition_to_tracking.wav"); + transition_to_tracking_sound.setVolume(0.25f); } //-------------------------------------------------------------- @@ -55,10 +61,14 @@ void CoreApp::update() { const auto &body_skeletons = kinect_device.getBodySkeletons(); - if ((current_scene == &intro_scene && !body_skeletons.empty()) || - (current_scene == &tracking_scene && body_skeletons.empty())) { + if (current_scene == &intro_scene && !body_skeletons.empty()) { + transition_to_tracking_sound.play(); + transition_start_time = std::chrono::steady_clock::now(); + current_scene = &tracking_scene; + } else if (current_scene == &tracking_scene && body_skeletons.empty()) { + transition_to_intro_sound.play(); transition_start_time = std::chrono::steady_clock::now(); - std::swap(current_scene, inactive_scene); + current_scene = &intro_scene; } current_scene->update(); diff --git a/tracking/include/collision_object.h b/tracking/include/collision_object.h index 9ff92fe..e81e54a 100644 --- a/tracking/include/collision_object.h +++ b/tracking/include/collision_object.h @@ -35,6 +35,7 @@ class CollisionObject { protected: void play_random_pluck(); + void play_random_noise_hit(); std::pair check_collision_with_bodies(std::vector &players, const ofEasyCam &camera); std::pair check_collision_with_objects(const std::vector &objects); @@ -51,7 +52,8 @@ class CollisionObject { ofImage _image; std::shared_ptr _effect_shader; - std::vector puck_sounds; + std::vector _pluck_sounds; + std::vector _noise_sounds; bool _can_collide_with_player; bool _can_collide_with_object; diff --git a/tracking/resources/audio/global_effect.wav b/tracking/resources/audio/global_effect.wav new file mode 100644 index 0000000..e6cb896 Binary files /dev/null and b/tracking/resources/audio/global_effect.wav differ diff --git a/tracking/resources/audio/gruen_globalEffect.wav b/tracking/resources/audio/gruen_globalEffect.wav deleted file mode 100644 index 7b56c11..0000000 Binary files a/tracking/resources/audio/gruen_globalEffect.wav and /dev/null differ diff --git a/tracking/resources/audio/gruen_pluck_b.wav b/tracking/resources/audio/gruen_pluck_b.wav deleted file mode 100644 index 09b721e..0000000 Binary files a/tracking/resources/audio/gruen_pluck_b.wav and /dev/null differ diff --git a/tracking/resources/audio/gruen_pluck_d.wav b/tracking/resources/audio/gruen_pluck_d.wav deleted file mode 100644 index d208148..0000000 Binary files a/tracking/resources/audio/gruen_pluck_d.wav and /dev/null differ diff --git a/tracking/resources/audio/gruen_pluck_e.wav b/tracking/resources/audio/gruen_pluck_e.wav deleted file mode 100644 index bf6b307..0000000 Binary files a/tracking/resources/audio/gruen_pluck_e.wav and /dev/null differ diff --git a/tracking/resources/audio/gruen_pluck_g.wav b/tracking/resources/audio/gruen_pluck_g.wav deleted file mode 100644 index 00c3a03..0000000 Binary files a/tracking/resources/audio/gruen_pluck_g.wav and /dev/null differ diff --git a/tracking/resources/audio/noise_hit_1.wav b/tracking/resources/audio/noise_hit_1.wav new file mode 100644 index 0000000..d305222 Binary files /dev/null and b/tracking/resources/audio/noise_hit_1.wav differ diff --git a/tracking/resources/audio/noise_hit_2.wav b/tracking/resources/audio/noise_hit_2.wav new file mode 100644 index 0000000..e305c0d Binary files /dev/null and b/tracking/resources/audio/noise_hit_2.wav differ diff --git a/tracking/resources/audio/noise_hit_3.wav b/tracking/resources/audio/noise_hit_3.wav new file mode 100644 index 0000000..a3545bc Binary files /dev/null and b/tracking/resources/audio/noise_hit_3.wav differ diff --git a/tracking/resources/audio/pluck_1.wav b/tracking/resources/audio/pluck_1.wav new file mode 100644 index 0000000..40bcd00 Binary files /dev/null and b/tracking/resources/audio/pluck_1.wav differ diff --git a/tracking/resources/audio/pluck_2.wav b/tracking/resources/audio/pluck_2.wav new file mode 100644 index 0000000..b4be2c9 Binary files /dev/null and b/tracking/resources/audio/pluck_2.wav differ diff --git a/tracking/resources/audio/pluck_3.wav b/tracking/resources/audio/pluck_3.wav new file mode 100644 index 0000000..a72b6cd Binary files /dev/null and b/tracking/resources/audio/pluck_3.wav differ diff --git a/tracking/resources/audio/pluck_4.wav b/tracking/resources/audio/pluck_4.wav new file mode 100644 index 0000000..af58f94 Binary files /dev/null and b/tracking/resources/audio/pluck_4.wav differ diff --git a/tracking/src/collision_object.cpp b/tracking/src/collision_object.cpp index 0b32a86..9051441 100644 --- a/tracking/src/collision_object.cpp +++ b/tracking/src/collision_object.cpp @@ -26,17 +26,27 @@ CollisionObject::CollisionObject(glm::vec2 position, glm::vec2 velocity, const s _image.draw(_fbo_padding, _fbo_padding); _fbo.end(); - auto audio_filenames = std::vector( - {"gruen_pluck_b.wav", "gruen_pluck_d.wav", "gruen_pluck_e.wav", "gruen_pluck_g.wav"}); + auto pluck_filenames = std::vector({"pluck_1.wav", "pluck_2.wav", "pluck_3.wav", "pluck_4.wav"}); + auto noise_filenames = std::vector({"noise_hit_1.wav", "noise_hit_2.wav", "noise_hit_3.wav"}); - for (const auto &filename: audio_filenames) { + for (const auto &filename: pluck_filenames) { + auto sound_player = ofSoundPlayer(); + + sound_player.load("resources/audio/" + filename); + sound_player.setVolume(0.075f); + sound_player.setMultiPlay(true); + + _pluck_sounds.push_back(sound_player); + } + + for (const auto &filename: noise_filenames) { auto sound_player = ofSoundPlayer(); sound_player.load("resources/audio/" + filename); sound_player.setVolume(0.15f); sound_player.setMultiPlay(true); - puck_sounds.push_back(sound_player); + _noise_sounds.push_back(sound_player); } } @@ -54,7 +64,7 @@ void CollisionObject::update(std::vector &players, const std::vector &players, const std::vector CollisionObject::global_effect_triggered() { void CollisionObject::set_effect_shader(std::shared_ptr shader) { _effect_shader = shader; } void CollisionObject::play_random_pluck() { - auto random = static_cast(ofRandom(puck_sounds.size())); - puck_sounds[random].play(); + auto random = static_cast(ofRandom(_pluck_sounds.size())); + _pluck_sounds[random].play(); +} + +void CollisionObject::play_random_noise_hit() { + auto random = static_cast(ofRandom(_noise_sounds.size())); + _noise_sounds[random].play(); } std::pair CollisionObject::check_collision_with_bodies(std::vector &players, diff --git a/tracking/src/tracking_scene.cpp b/tracking/src/tracking_scene.cpp index 455a34f..3de551e 100644 --- a/tracking/src/tracking_scene.cpp +++ b/tracking/src/tracking_scene.cpp @@ -23,7 +23,7 @@ TrackingScene::TrackingScene(ofxAzureKinect::Device *device) : _global_effect_position = {0, 0}; _global_effect_trigger_time = 0; - _global_effect.load("resources/audio/gruen_globalEffect.wav"); + _global_effect.load("resources/audio/global_effect.wav"); _global_effect.setMultiPlay(false); _effect_shaders = {std::make_shared(), std::make_shared(), diff --git a/tracking/tracking.vcxproj b/tracking/tracking.vcxproj index 0148052..3f57155 100644 --- a/tracking/tracking.vcxproj +++ b/tracking/tracking.vcxproj @@ -730,48 +730,65 @@ - + + data/resources/%(Filename)%(Extension) + data/resources/%(Filename)%(Extension) + + + + + data/resources/%(Filename)%(Extension) + data/resources/%(Filename)%(Extension) + + + + + data/resources/%(Filename)%(Extension) + data/resources/%(Filename)%(Extension) + + + + Document data/resources/audio/%(Filename)%(Extension) data/resources/audio/%(Filename)%(Extension) - + Document data/resources/audio/%(Filename)%(Extension) data/resources/audio/%(Filename)%(Extension) - + Document data/resources/audio/%(Filename)%(Extension) data/resources/audio/%(Filename)%(Extension) - + Document data/resources/audio/%(Filename)%(Extension) data/resources/audio/%(Filename)%(Extension) - + Document data/resources/audio/%(Filename)%(Extension) data/resources/audio/%(Filename)%(Extension) - - data/resources/%(Filename)%(Extension) - data/resources/%(Filename)%(Extension) + + Document + data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) - - - - data/resources/%(Filename)%(Extension) - data/resources/%(Filename)%(Extension) + + Document + data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) - - - - data/resources/%(Filename)%(Extension) - data/resources/%(Filename)%(Extension) + + Document + data/resources/audio/%(Filename)%(Extension) + data/resources/audio/%(Filename)%(Extension) diff --git a/tracking/tracking.vcxproj.filters b/tracking/tracking.vcxproj.filters index 735cf36..3e9238f 100644 --- a/tracking/tracking.vcxproj.filters +++ b/tracking/tracking.vcxproj.filters @@ -1711,21 +1711,6 @@ resources - - resources\audio - - - resources\audio - - - resources\audio - - - resources\audio - - - resources\audio - resources @@ -1801,5 +1786,29 @@ shaders\render + + resources\audio + + + resources\audio + + + resources\audio + + + resources\audio + + + resources\audio + + + resources\audio + + + resources\audio + + + resources\audio + \ No newline at end of file