AcademySoftwareFoundation / xstudio

xSTUDIO is a modern, high performance and feature rich playback and review application designed for organisations and individuals in the post production, VFX and Animation industries.
Apache License 2.0
628 stars 79 forks source link

Windows support #21

Open heavyrain266 opened 1 year ago

heavyrain266 commented 1 year ago

Hi, I've seen that there is Windows support mentioned in the README as part of the roadmap. I'd just started working on it and would like to know which compiler is preferred, msvc or clang-cl?

Could be nice to have #xstudio or similar on ASWF's slack for real-time discussions and support.

P.S. While reading through CMake file, just noticed that xstudio hardcodes Intel's microachitecture which makes it impossible to compile on AMD if you don't remove -march=nehalem flag.

jonassorgenfrei commented 1 year ago

Nice! I'd be happy to help on the windows build too; if help is needed.

I would go with msvc; think most of the other open source projects and libraries in this field (e.g. openrv; usd, opensubdiv...) support either msvc or both.

heavyrain266 commented 1 year ago

Thanks, at the moment I'm modifying cmake config to make it work on windows with Visual Studio and msvc. I will publish changes to windows branch in my fork, so you could contribute changes there and I will create a PR here once it's ready.

heavyrain266 commented 1 year ago

After a while, I think that it's better to leave the port to qualified teams with better understanding of CMake, as I'm used to bazel, meson and ninja alone.

Here is what has to be done:

Not sure if it's exhaustive enough but should be helpful.

mpkepic commented 1 year ago

Just wanted to poke this thread with PR #50 that is an in-progress PR getting past a lot of these issues. There's still plenty of work to go, but a lot of the cmake/dependency building is working. If you were still interested in contributing and found those to be your blocker, then now might be a good time to take a look.

Cheers, -Kessler

heavyrain266 commented 1 year ago

Hey, thanks for taking care of it. Unfortunatelly I'm not able to continue using Qt on Windows from dev side, it is doing all sorts of weird things deeply in system's registey, that causes e.g. Qt creator to appear 12 times in "Open With" popup and even after reinstallation you have to dig it out in the registry... However I will somehow try to review tue changes instead and see if they're compatible with VFX Platform.

Auxemite commented 11 months ago

Hey, (I didn’t know if I had to create a new issue or not so I’ll just write my problem here)

I’ve tried several times to load and build the repo for windows and after failing with your tutorial, I’ve tried it with Jetbrains Clion Community and came up with this steps to load it (I’ve replaced identifiable files and users by “...”) :

Presintalled Clion, Visual Studio, Qt and cloned repo xstudio and ffmpeg

1) Added these compiling options

-DCMAKE_PREFIX_PATH=C:\Qt\5.15.2\msvc2019_64\lib\cmake -DLOCALFIX=C:\ … \xstudio\cmake-build-debug\vcpkg_installed\x64-windows -DFFMPEG_ROOT=C:\ … \FFmpeg -DFFMPEG_avcodec_LIBRARY=C:\ … \FFmpeg\libavcodec -DFFMPEG_avdevice_LIBRARY=C:\ … \FFmpeg\libavdevice -DFFMPEG_avfilter_LIBRARY=C:\ … \FFmpeg\libavfilter -DFFMPEG_avformat_LIBRARY=C:\ … \FFmpeg\libavformat -DFFMPEG_avresample_LIBRARY=C:\ … \FFmpeg\libavresample -DFFMPEG_avutil_LIBRARY=C:\ … \FFmpeg\libavutil -DFFMPEG_swresample_LIBRARY=C:\ … \FFmpeg\libswresample -DFFMPEG_swscale_LIBRARY=C:\ … \FFmpeg\libswscale

2) Modified .vcpkg-clion/vcpkg/buildtrees/versioning/baselines/ ... /baseline.json cmake-build-debug/vcpkg/buildtrees/versioning/baselines/ ... /baseline.json

Change the version of opencolorio of 2.1.2 (nonexistent version) to 2.2.1

3) Modified .vcpkg-clion\vcpkg\buildtrees\versioning\versions\openimageio\ ... \portfile.cmake cmake-build-debug\vcpkg\buildtrees\versioning\versions\openimageio\ ... \portfile.cmake

…
REPO AcademySoftwareFoundation/OpenImageIO
REF "v${VERSION}"
SHA512 5e7710676eb2bd97fa8d30ac3f9fab0bf95e4c71389f41694290b423712b64944b15135d3929cfb72744c6d5ff0ad3a85d3c1d280a439637639ef42ff10203b7
…

4) Modified extern/quickpromise/CMakeLists.txt line 46 to 52

# Set install paths
# set(QML_INSTALL_DIR ${INSTALL_ROOT}/QuickPromise)
set(QML_INSTALL_DIR ${LOCALFIX}/QuickPromise)

# Install the library and qml files
# install(TARGETS quickpromise DESTINATION ${INSTALL_ROOT})
install(TARGETS quickpromise DESTINATION ${LOCALFIX})

After these steps the project is loading just fine But when I try to build it I get this error :

====================[ Build | xstudio | Debug ]=================================
"C:\ ... \JetBrains\CLion 2023.2.2\bin\cmake\win\x64\bin\cmake.exe" --build C:\ ... \xstudio\cmake-build-debug --target xstudio -j 3
[1/106] Linking CXX shared library src\embedded_python\src\embedded_python.dll
FAILED: src/embedded_python/src/embedded_python.dll src/embedded_python/src/embedded_python.lib
cmd.exe ...
LINK Pass 1: ...
LINK : fatal error LNK1104: impossible d'ouvrir le fichier 'python310.lib'
[2/106] Linking CXX shared library src\ui\qml\tag\src\tag_qml.dll
[3/106] Linking CXX shared library src\media_cache\src\media_cache.dll
ninja: build stopped: subcommand failed.

Can someone help me?

anandan06 commented 11 months ago

Hello,

I noticed that you have experience with XStudio on Windows, and I'm currently facing an issue with it. I was hoping you could provide some insights or solutions.

I tried the XStudio Windows build, but unfortunately, I encountered the following error:

I followed the build guide provided in this document to build (https://github.com/mpkepic/xstudio/blob/windows/docs/build_guides/windows.md) XStudio on Windows. The build was successful, but I'm encountering an issue when using the application. I am unable to play any media in the XStudio player.

Expected Behavior: I expected the XStudio player to play media files as intended after a successful build. However, the player is not functioning as expected, and I cannot review my shots.

Environment: Operating System: Windows 10 22H2 (OS Build 19045.3570) XStudio Version: v0.11.0 xstudio version

Build Method: Followed the steps in this document. Link: https://github.com/mpkepic/xstudio/blob/windows/docs/build_guides/windows.md Issue Details: Unable to Play Media in Xstudio Windows build

When I try to play media, the player does not function as expected. I have attached screenshots of the errors I'm encountering for reference. xs error3 xs-error2 xs-error1

Impact: These issues are significantly impeding my ability to utilize the XStudio Player for my work. I kindly request assistance to resolve them as soon as possible to minimize disruptions in my workflow.

Request for Assistance: I humbly request the assistance of the community or developers in diagnosing and resolving the issues I've encountered. Your expertise and guidance will be invaluable in restoring the full functionality of the XStudio Player so I can efficiently review my shots. Your prompt attention to this matter is greatly appreciated. Thank you for your support in resolving these issues and enhancing my experience with XStudio.

Have you come across this issue before, and do you know of any solutions that could help me resolve it?

I would greatly appreciate any guidance or advice you can offer.

Thank you in advance!

OlivierArgentieri commented 10 months ago

@anandan06 I got exactly the same issue !

image

mpkepic commented 3 months ago

Hi! I've done a significant overhaul on the Cmake/vcpkg integration and cmake install target support among other things. I recommend checking out the latest commit on the pull request.

The issues referenced in here also point to plugin install issues which should now be resolved.

Note it now supports Visual Studio 2022, comes with some useful presets to make configuring easier, and has a bunch of build reliability improvements.

https://github.com/AcademySoftwareFoundation/xstudio/pull/50

OlivierArgentieri commented 3 months ago

Hi! I've done a significant overhaul on the Cmake/vcpkg integration and cmake install target support among other things. I recommend checking out the latest commit on the pull request.

The issues referenced in here also point to plugin install issues which should now be resolved.

Note it now supports Visual Studio 2022, comes with some useful presets to make configuring easier, and has a bunch of build reliability improvements.

50

Hey ! Thank you for your reply !

Yes i'm currently testing a build on my side from your latest reply on #57

Thank you again for your work !

Edit: I can confirm that the build works well now ! 🚀

OlivierArgentieri commented 3 months ago

Hi @mpkepic !

I don't know if i am the only one but i can't read sequences of images

aaaaaaaaasdadasasdasdx

mpkepic commented 3 months ago

Thank you, I can see the same regression; going to take a look!

mpkepic commented 3 months ago

I don't have an answer yet, but it looks like we've got different behavior between drag and drop vs commandline; if you pass the folder in via position argument, the sequence will load.

mpkepic commented 3 months ago

I've spun off that issue into #106; see there for updates on that issue.

OlivierArgentieri commented 3 months ago

I've spun off that issue into #106; see there for updates on that issue.

Thank you for your investigation !

mpkepic commented 3 months ago

@OlivierArgentieri I've closed out #106 with the latest push to the PR, feel free to check it out.

OlivierArgentieri commented 3 months ago

@OlivierArgentieri I've closed out #106 with the latest push to the PR, feel free to check it out.

Thank you @mpkepic !

I have removed my old D:/xstudio folder, repull the repo to be sure i'm not building with old stuff, also removed the D:\xstudio_install dir then Rebuild, compiled and installed and i got the same issue.

Maybe i am doing something wrong, my frames are just .jpg format like this from 0001 to 0169 in my D:/temp/frames, when i drag and drop this folder like in my previous .gif it still show me frame per frame but not a playable sequence, with the warning message "no frames" in the console.

I have also tried in cli and got the same behavior, am i doing something wrong ?

image

mpkepic commented 3 months ago

Ah, that's a different issue entirely than what I resolved; sorry. Try adding a basename to the frame number, such as frame.0001.jpg

Can you spin off a separate feature request for frame sequences with only number and extension? Thanks.

OlivierArgentieri commented 3 months ago

Ah, that's a different issue entirely than what I resolved; sorry. Try adding a basename to the frame number, such as frame.0001.jpg

Can you spin off a separate feature request for frame sequences with only number and extension? Thanks.

Hey ! Ok thank you, sorry for my shitty test, yes i can confirm now it's working well !

I can read sequences of images with the latest commit on windows branch and with this naming structure aaa.bbb.%04D.jpg !

ASsSASsSSSAASASASASAS

OlivierArgentieri commented 3 months ago

Hey @mpkepic 👋

I also notice that the drag and drop doesn't work with a folder of frames store on a UNC path But it work when i try to open it command line.

I don't know if this it's a bug or a feature request.

context:

But in cli it's totally fine.

If you want i can create a specific issue for this, to stop flooding this big windows support issue.