vimix icon indicating copy to clipboard operation
vimix copied to clipboard

Windows port

Open froggynotacon opened this issue 3 years ago • 16 comments

So I am very, very interested in seeing a Windows port of this. I'm really rusty coder, so I don't feel confident enough setting out to do the port myself. I would, however, be willing to join a team (if such a team exists) or assist with debugging and running test versions. Since I searched and didn't see anything like that already I thought I'd ask.

Thanks!

froggynotacon avatar May 25 '21 00:05 froggynotacon

Yeah, a windows port would actually be possible as vimix is based on multiplatform libraries.

This was evoked here https://github.com/brunoherbelin/vimix/issues/24 by @jorgerosa This could make 3 of us to try it: already a team :)

Although rusty, would you be able to install MS VisualStudio and pull source from gitlab? Thanks

brunoherbelin avatar Jun 07 '21 08:06 brunoherbelin

I already have VisualStudio installed and have a basic familiarity with git. I'm going on vacay this week but once I'm back I'll pull the source down, hit compile and see what breaks? :)

What I'm not necessarily comfortable with (after all these years) is how to properly check out and commit. I've read so many git tutorials and I just don't get it. I guess I'll need to find another :)

froggynotacon avatar Jun 07 '21 22:06 froggynotacon

Thanks a lot!

Dependencies should not be too difficult as there are binaries for windows:

  • gstreamer https://gstreamer.freedesktop.org/download/
  • glfw https://www.glfw.org/download.html
  • icu should be part of the OS https://docs.microsoft.com/en-us/dotnet/standard/globalization-localization/globalization-icu

When you clone the repository, don't forget to get other dependencies recursively (README).

Then, most OS specific changes should be only in one single file : https://github.com/brunoherbelin/vimix/blob/master/SystemToolkit.h

But in practice, i am sure it will require some adjustements. Let's see!

brunoherbelin avatar Jun 08 '21 11:06 brunoherbelin

Hi @froggynotacon and @brunoherbelin What is the state of this? I did not see this open issue the other times I looked into this project. I am also a bit of a rusty coder, but I am looking forward to learn to make this possible since I see the lack of any good open source multiplatform VJ program and I would really love to improve my coding skills into a practical project like this. I have no idea of what the general steps would be for porting the program to Windows, so if anybody is open to meet with me and discuss how to approach this it would be great. Until then, I will look into details for the last message posted here and see what I can sort out on my own.

Lorentz-Ipsum avatar Aug 24 '22 23:08 Lorentz-Ipsum

Hi! Thanks for reviving this question! The issue is indeed still pending and I was not contacted or informed of other attempts at compiling for Windows.

I am very much willing to work with someone on this, but I simply do not have computers with Windows and no experience with MS Visual Studio and other Windows development environments. What I would need most is some help on setting up a compilation environment with the dependencies (glfw, gstreamer, etc.).

I imagine that, if there was a VirtualBox image running a MSWindows system with the development environment setup, I could be able to contribute to the C++ code for making the functionalities Windows-compatible (i.e. in https://github.com/brunoherbelin/vimix/blob/master/SystemToolkit.h). Having this VBox would also allow to keep it up to date and compile updated packages.

Do you think this is something we could try?

brunoherbelin avatar Aug 25 '22 13:08 brunoherbelin

Still looking for someone willing to help for the compilation of vimix under Windows!

brunoherbelin avatar Oct 13 '22 14:10 brunoherbelin

Huge disclaimer: I'm a web developer, not a Windows developer. I know just enough to be dangerous ;P

Microsoft make VirtualBox VMs available for developers, Windows 11 with Visual Studio pre-installed (as well as WSL2 and Ubuntu). They are licensed for 60 days.

I set one up and did the following:

  • installed the C++ community tools/extensions (did not configure any settings)
  • installed the gstreamer runtime and developer libraries
  • downloaded glfw but wasn't sure what to do with it as there doesn't seem to be an installer - it's on the desktop
  • cloned the git source in Visual Studio, which seemed to also download all the github-based dependencies but I'm not 100% sure how to check
  • installed Firefox because life is too short for Edge

I'm packaging it up again as an .ova file. What's the best way to get it to you? Even compressed it will probably hit 20GB. I can share it on mega perhaps?

goatlady avatar Feb 11 '23 10:02 goatlady

Excellent !!! Thanks a lot ! I have virtualbox and it should open .ova files.

Yes, a network transfer would be great ! You can share the download link here and I'll check ASAP.

brunoherbelin avatar Feb 12 '23 19:02 brunoherbelin

It's actually nearly 28GB, compressed to the max with 7zip, you can download it from here: https://mega.nz/file/NINyRIDI#-liraRStd-7Lr_kUhcHn5xblD-bJeuTNdAjSoiUB3tc

goatlady avatar Feb 13 '23 21:02 goatlady

Got it !! Took ages :) but got the archive and will test it during the week !

Thanks again for pointing me towards this MS Dev Environment. This is already a great help!

brunoherbelin avatar Feb 13 '23 23:02 brunoherbelin

Awesome, glad I could help 🤘

goatlady avatar Feb 15 '23 10:02 goatlady

Progressing.! Could have cmake find all dependencies (well, sort of...) and compilation actually started... until basig gstreamer headers were not found.

This will take some time...

brunoherbelin avatar Feb 15 '23 20:02 brunoherbelin

[disclaimer: I'm not a C++ developer] It's possible that gstreamer needs to be added to the environment variables/system path. This might be helpful? https://dragonflycv.com/support/documentation/install-dragonfly/install-on-windows-10/

I played my first show doing live video mixing last Saturday with GLMixer and I'm hooked! But also super intrigued about the improvements that vimix has over GLMixer.

goatlady avatar Mar 02 '23 11:03 goatlady

Could you please update the link? The megadrive upload was expired. I'm no MS developer and can't get visual studio to work.

j0r15 avatar Jan 19 '24 14:01 j0r15

Hey j0r15! Indeed the Win10 virtual box file created by goatlady has expired.

It's not necessary however, and creating a virtual box of Window10 or 11 with either

is relatively straightforward using the downloadable disk image provided.

From there, the real fun starts with the installation of the compilation environment and dependencies; cmake, gstreamer, etc. I am not familiar with MS Windows development, thus the absence of vimix version for Windows. And thus the idea is that, if we would be able to setup a development environment with everything ready to compile, we could use this windows virtual box to try to change the code to make it compile for windows... In principle, all dependencies exist for windows, and it should be doable...

brunoherbelin avatar Jan 19 '24 19:01 brunoherbelin

Hi there, I saw this thread while looking around what is the state of Vimix, and it happens that I ported a software I maintain to Windows a few months ago. And also that I wrote an article regarding how I did it overall.

Hopefully this will help, here it is: https://lab148.xyz/en/blog/port-splash-windows/

edit: Also, nice job with Vimix, I'll keep it in mind for future installations :)

paperManu avatar Mar 05 '24 02:03 paperManu