cinder / Cinder

Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
http://libcinder.org
Other
5.34k stars 944 forks source link

Audio tests update, consolidated into one app #2335

Closed richardeakin closed 3 weeks ago

richardeakin commented 1 month ago

This PR is a redux of the audio tests I developed when designing the ci::audio tools, which were difficult to keep working with so many project files. I've now refactored the tests into one main app that can construct tests based on a string, which is:

This also switched the UI from my DIY mini kit to Dear ImGui, which is now part of cinder core (it wasn't when ci::audio was initially developed).

Remaining Todo List

Here's what one of the tests (WaveTable) looks like: image

moldybeats commented 1 month ago

@richardeakin I can try to help out with testing on Mac. It's been a few years since I've been involved with a Cinder (or C++) project so I might need some guidance, but let me know if you still need help here. I have a couple Apple devices available for testing.

richardeakin commented 1 month ago

Hi @moldybeats thanks for offering to help! Basically the steps I've taken in the past are:

Also, here on some notes about cinder on OS X, they're a bit old now so there might be some minor mods necessary to get the libs and samples built on OS X but I couldn't tell you exactly what as I haven't used an Apple machine for many years now.

richardeakin commented 1 month ago

@andrewfb handed me the Mac OS X project files (thanks again!) and I just pushed them to this branch @moldybeats - testing is still welcome if you have the time. I also pushed a change that addressed the Audio Context UI window causing a rare crash, and some decent initial window position settings.

moldybeats commented 1 month ago

@richardeakin With those new project files, building & running the AudioTests Xcode project worked great for me. I submitted a PR with fixes for a couple really small issues. Here are a few other things I noticed while clicking around that might be a little harder to pinpoint:

Hope that helps. Let me know if you need more info on any of these.

richardeakin commented 3 weeks ago

Thanks @moldybeats for testing! I've addressed the issues you found as well as what was left on my list. The believe I have a fix for the stray MonitorNodes in this commit, which is an oversight in the Context::disconnectAllNodes() helper function. I'll PR that separately after this gets merged, since it is a core change.