brunoherbelin / vimix

Live Video Mixer
GNU General Public License v3.0
260 stars 25 forks source link

Windows port #37

Open froggynotacon opened 3 years ago

froggynotacon commented 3 years ago

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!

brunoherbelin commented 3 years ago

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

froggynotacon commented 3 years ago

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 :)

brunoherbelin commented 3 years ago

Thanks a lot!

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

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!

Lorentz-Ipsum commented 1 year ago

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.

brunoherbelin commented 1 year ago

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 commented 1 year ago

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

goatlady commented 1 year ago

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:

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?

brunoherbelin commented 1 year ago

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.

goatlady commented 1 year ago

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

brunoherbelin commented 1 year ago

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!

goatlady commented 1 year ago

Awesome, glad I could help 🤘

brunoherbelin commented 1 year ago

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...

goatlady commented 1 year ago

[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.

j0r15 commented 5 months ago

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

brunoherbelin commented 5 months ago

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...

paperManu commented 4 months ago

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 :)