Open moebiussurfing opened 11 months ago
Hi, thanks for taking a look at Seam!
In the past, I've compiled Seam on Windows 10 in Visual Studio 2019 using C++17 and the 0.11 OF release. Currently, I'm using UCRT64 msys2 on Windows 10 with the OF 0.12 release which uses C++17 by default, but all dependent libraries except the audio analyzer (mentioned below) should already be built for Visual Studio 64 bit debug builds.
Are you able to switch to OF 0.12? Seam uses some C++17 features and so does capnp, so you will either need to update to OF 0.12 or use OF 0.11 with C++17 enabled (I was able to do this in the past before the 0.12 release).
I've switched to using msys2 to compile OpenFrameworks projects on Windows because in my experience the Visual Studio tooling for OF isn't as well supported.
If you'd like to try the msys2 route, I have built msys2 libraries for libessentia
in ofxAudioAnalyzer
, which I can upload somewhere for you to use (large files, github won't let me upload them to a public repo). libessentia
doesn't have a Visual Studio build, so if you'd like to stick with Visual Studio the easiest route is probably to add a macro that will exclude ofxAudioAnalyzer
and related Nodes. I'll try to push a commit today that will make those easier to exclude.
I just pushed a commit that excludes the ofxAudioAnalyzer
related Node when BUILD_AUDIO_ANALYSIS
isn't defined.
Ok. You are welcome. Cool thanks!
Yes, i am using OF GH master branch 0.12+/C++17 too, but i assumed that the repo was from some months ago and probably was OF 0.11. The README info for tweaking of the project mods was a bit different in terms of menu/windows names etc. from Visual Studio 2022.
I'll try again soon an i'll report back!
I don't use it too much but I have msys2 env installed too, so maybe I can check. BTW I tried several times to build the libessentia without success. Interesting that you did succesfully.
BTW I tried several times to build the libessentia without success.
Yeah, it was quite painful to figure out using msys2, lol. I didn't even try to make a Visual Studio build.
I updated the README after I saw your issue since I realized it was a bit out of date. Hopefully it's a bit clearer now.
Yes let me know how your build goes; happy to help if I can! I should maybe add some usage docs as well, since not much is documented at the moment.
I had to pass the settings in ofApp::setup
:
seamEditor.Setup(settings);
Getting these errors:
But if I create the project with the PG, without doing any of the project mod steps, I am getting only (not sure bc not finished):
i copied manually imgui_stdlib.h/.cpp
,
and it seems better... maybe requires to push your ofxImGuiNodeEditor repo?
i copied manually
imgui_stdlib.h/.cpp
, and it seems better... maybe requires to push your ofxImGuiNodeEditor repo?
ahh, good catch! Yes, I forgot to commit those, sorry. I just pushed those up.
Looks like you're getting much closer! I just pushed a commit to comment out the ChannelMap
methods for now. I didn't finish writing that class.
For the min/max errors, prefixing std::
should fix those, so max()
--> std::max()
for instance. I think I fixed these, but if there are more that should fix those errors.
It's a little late here now but I'll double check the example usage files tomorrow and confirm they are up to date. I should perhaps add some usage documentation soon too.
Good luck!
I updated the example usage yesterday! If you are able to compile, you should be able to get a visual up pretty quickly:
Thanks!
I pulled both repos.
I had to add some std::min
Retargeted project to last versions (Visual Studio 2022)
compiled using debug.
I removed ......\addons\ofxSeam\libs\capnp\includes from Additional Include Directories
And add abs paths:
Errors:
EDIT: I think that I am getting the same error with the project manual mods added... Not sure if they are required? Are you using debug or release?
ah, I should clarify this line in the README:
Navigate to "Configuration Properties" --> "C++" --> "Additional Include Directories" and remove all sub-directories of addons\ofxSeam\libs\capnp\includes.
It looks like your capnp include directories got messed up. I think you want to add back ..\..\..\addons\ofxSeam\libs\capnp\includes\
.
OpenFrameworks automatically also includes sub-directories of that directory, which will cause some header file name collisions. You want addons/ofxSeam/libs/capnp/includes/
as an include directory, but not any of its sub-directories.
This is supposed to happen automatically using addon_config.mk
, but I think the Visual Studio project generator for OpenFrameworks might not respect the ADDON_INCLUDES_EXCLUDE
variable...
EDIT: I think that I am getting the same error with the project manual mods added... Not sure if they are required? Are you using debug or release?
not sure I built all the release libs but definitely Debug x64 should be built. Also make sure you are using at least C++17.
I just did a quick test over here and was able to use the OF 0.12 project generator for Visual Studio to run the seam editor using an x64 Debug build, tested in VS2019.
Looks like the project generator has been fixed since the last time I tried; I didn't have to make any changes to include paths or libraries. Here's what my project settings look like:
I removed ofxAudioAnalyzer
from the ADDON_DEPENDENCIES
list here since ofxAudioAnalyzer
isn't built for Visual Studio.
Somewhere around lines 14-15 of threshold.cpp
are throwing an exception in the Visual Studio build. I'll take a look but for now you can comment those lines out so you can get something running.
Apologies for the confusing docs! You're the first other person to try and get Seam running, so this has been a bit of a guinea pig experiment 🥲
hey @austin-clifton , sorry for the delayed test...
I just pulled both repos (ofxImGuiNodeEditor too) and just created the example project with PG: Now I am getting this error:
Maybe you should push ofxImGuiNodeEditor ?
best
@austin-clifton ping... 😉
Hi @moebiussurfing! So sorry for the delayed response. I don't know how I missed your last message.
Try pulling the latest version of the repo when you can. fastNoise.h
is part of Seam, but looks like I didn't push the file when I should have (first commit with fastNoise.h
isn't until Jan 7).
I tested the v0.02 release with a clean repo (no local changes) so you really should be able to build using latest on main now.
I've started pushing commits to a development branch instead of the main branch so that I don't push breaking changes to main. In the future, I'll only merge to main after I've finished a feature on a dev branch and wrapped up any necessary and breaking changes, and will tag a release and version bump when I merge to main.
Hey, thanks @austin-clifton , I thought you might have missed the issue/message... ;)
I already tried...,
also with the more recent branches for both:
dev/improve-texture-management
and develop
--
Trying the release v0.02
with ofxImGuiNodeEditor/master
I am getting this: (required the top small fix)
Don't worry about my impatient testing, of course. I'll be looking your progress to check it out time to time. Feel free also to tag me if want that I make some testing or so.
hey @moebiussurfing do you have any idea what is trying to include that file? I just ran a global search across my entire OpenFrameworks codebase and I can't find that file, any #include
s that specify it, or even the string "EngineOpenFrameworks". I'm quite confused about where source file requirement is coming from; I'm wondering if Visual Studio somehow picked up that source file as required even though it doesn't exist?
I just created the project with the Project Generator, without adding any edition to the project props into Visual Studio... I go check the README info again to see if I am missing something. BTW I can use the MSYS workflow too if that's what you are using... a binary exe would be fine too if it's easier and you agree.
I just ran a sanity test using the v0.02
tag and a fresh repo clone, and fixed a few issues that I had already cleaned up in the dev branch but didn't make it into main before the v0.02 release. I also found some very broken pin pointer handling in VectorPin
which I want to re-work before tagging another release. Due to the hack fix in VectorPin
, the Threshold
Node won't behave as expected for now, but otherwise I'm able to build and run a Visual Studio build here with the above mentioned fixes using a fresh clone of ofxImguiNodeEditor
and ofxSeam
.
I'm able to generate and run a sample project using the Project Generator now on latest in main with the source files in the example_usage
directory. The changes I have to make specifically for Visual Studio are:
node-graph.capnp
from your project (I don't know why Visual Studio tries to compile this file)I never ran into the issue you saw with the EngineOpenFrameworks.cpp
; I'm still confused about where that include is coming from.
Here's what my Project Generator looks like:
The MSYS2 workflow is more reliable in my experience and easier to use when making changes to addons, but I was building Seam using Visual Studio before I switched over for the sake of integrating audio analysis libraries that don't have Visual Studio builds. You really should be able to use whichever build system you're more comfortable with and my apologies it's been such a pain to get running! I can upload a built binary to the repo but I feel like there aren't enough built-in Nodes yet and you'll need to write your own Nodes in order to build a scene.
Hey, thanks for sharing!
Do you have some screenshot/captures to easily look into?
I tried to compile here in Windows 11 / Visual Studio 2022 OF 0.11 release / C++14
This is the environment that are you using?
I am not sure that I did all the manual custom project steps, but I am asking just in case... I'll look better.