GETTING STARTED WITH VIDEO WAAAVES SUITE 2.5
0. If this guide and/or these public domain open source video tools are super useful for you, please consider tossing some scratch my ways! It is an ever increasing amount of work to keep these apps up and running for everyone, even in their shambolic haphazard states. The more income I can generate through donations means the more free time I have to keep working on these free and open source tools! scroll down to the bottom of this page for an easy link to send some cash to my paypal!
1. Download and then expand the folder for your operating system
2. Follow the instructions below for setting up a IDE
OSX-XCODE (i kind of recommend using an older version of Xcode than the one that the App store pushes on you, anything before 11 is probably dope. to find older versions of Xcode check out https://xcodereleases.com)
linux-for pretty much the whole setting things up yr more or less on yr own! i might be able to get a decent general purpose guide for linux builds up by the end of the year 2020 but if anyone has a succesful build set up and would ilke to share their folder and process for others please let me know! the very nature of linux makes catch all solutions kind of less than optimal, but if thats yr main system then most likely you can figure out what yalls needs to do. openFrameworks has some guides up here if yr looking for where to get started
3. Download and install NDI tools if yr interested in using NDI for screen grabbing and network sharing. WARNING: by using ndi you are potentially sharing your screen with any other NDI users on your local area network (i.e your roomates, other randos at the coffee shop you are at, that weirdo who sits on your stoop and snakes yr wifi because your password is Love123 (apparantly 'love' is a really common password?? or at the very least this is a prominent cyberuban legend of yore). If this idea bothers you then either don't use NDI at all (all this stuff will run fine without it, you just are more limited on inputs) or take a moment to learn more about how to use NDI tools!
NDI can be used for just simple local screen grabbing (i.e. playing a clip in VLC and pulling into spectral mesh, using artificial life for texture mods into video waaaves) and also can be used for more complex video routing over multiple computers (i.e 3 laptops all on same wifi network each running artificial life, video waaaves, and spectral mesh and running each one as input into the next one). So i def recommend getting acquanited with NDI and the basics of VOIP (video over IP) because this kind of stuff can be a real game changer in a number of ways!
If you are using windows you are now set up to get started! Open up the VW_1_5 folder, go to Apps, myApps and you'll see folders for each one of the video waaaves 2.5 suite programs. Open up any of the folders and doubleclick on the file with the extension .vcxproj (i.e if i'm want to play artificial life i click on ARTIFICIAL_LIFE_1.vcxproj) to open up in visual studio. Once everything loads up you will see a little 'play' button around the top middleish portion of the screen, press that button and have fun!
if you have OSX and are using xcode there might be a couple more steps depending on which version of xcode you are running. First off you will most likely want to go to the project generator and import each one of the apps.
When it asks you to set 'openFrameworks path' you will click on the magnfiying glass and then select the vw2_5 folder you downloaded and expanded from step 1.
then select "create/update', click on 'import and one by one select each one of the project folders in the myApps folder and then click update!
Next you will possibly get a 'sigbrt/dylib' related error one of the first times you run as well. To fix this you will click on the project name on the far right of the xcode window in blue to bring up a big pile of settings. Navigate to "build phases" and then click on "copy files".
Change destination to 'executables' and then from within your project folder drag on over the libndi.4.dylib to the section with the little plus sign and click ok when the window pops up. you might only have to do this for one of the apps, you might have to do this with every one of the apps!
If you have a version of Xcode 11+ you will probably get a 'code sign' error, you can fix this by going back up where you were at the last step and instaed go to "build settings" and search for "codesign". Under "other code signing flags" you'll click and enter the text "--deep" and that should fix it!
if you are running on catalina then you also might get an error to do with 'permissions'. ("command /bin/sh failed with exit code 74" or something similar) You'll need to go into your OSX settings and allow Xcode to have some more permissions on your disk because by default it doesn't have much.
LOLOL that is just about it for known issues with getting started. If you’ve tried everything on this list and still are having errors, first do a double check and run through the list again. Then if you are still having issues head on over to either the facebook group or to scanlines.xyz and check out the threads i’ll be creating for listing bugs and issues with the 2.5 release. Please Please P*l*e*a*s*e do not DM me on social medias for help with this! Theres too many people using this stuff and I’m a terribly sloppy coder so of course theres tons of potential bugs in here!
FREQUENTLY ASKED QUESTIONS
How to change resolutions
For most of these programs you will need to select your preferred resolution before you run the program. Go into src->main.cpp and where you see "settings.setSize(horizontal,vertical);" change the numbers in the parenthesis to your preferred resolution. You might need to play around with these numbers a bit to see how they play with your system, not everyone is going to be able to do 4k video waaaves especially if they are running artificial life at the same time!
How to change camera sources
Open up src->ofApp.cpp and search (cmd/ctrl + f) "cam1.setDeviceID". Each time you run one of these programs it will list the potential camera inputs and their device ids in the console, to select a specific camera as an input simply change the device ID in the parenthesis. You may run into problems trying to run multiple of these programs concurrently if they are trying to each access the same device ids (usually manfests as a SIGABRT error) so you might want to change the device ids in one of the program to other numbers to avoid this issue. its not a problem if you feed device ids that don't exist on your system (i.e. you only have 2 camera devices recognized and set the id numbers to 3 and 4).
Also good to keep in mind is that device IDS are not static within your system! Each time you plug/unplug a usb camera source and/or reboot your system the same cameras might end up having different device ids!
How to use NDI on OSX The simplest way over here is to use the program “NDI Scan Convertor” to do window grabs. Open up Scan Convertor and you will be taken aback for approximately 3 seconds as no window will open up. But check out the top of yr screen and click file you will see how to select an input here. Make sure you have turned on Scan Convertor BEFORE you start running any of the video waaaves programs or else nothing will happen when you select NDI.
At the moment the way all of these programs grabs NDI sources if there is more than one is that it default grabs the longest running source on your NETWORK (remember this stuff is intended for VOIP!) (unless you block XCODE from acessing yr firewall that is). If you are more inclined to experiment with using multiple NDI sources concurrently you can check out the functions for NDI_reciever in ofApp.cpp and try out loading sources from a string. It doesnt always seem to work. If you know how to make it work, please let me know! (ex.zee.ex at gmail dot com) All the NDI biz is still works in progress, I just wanted to make sure local screen grabbing was easy-ish for folks for the initial release.
Using NDI on windows
is kinda not working excellently right now, you will most likely need to just use 'ndi virtual cam' as a camera source for cam1 or cam2 using the same process as reassigning camera sources a couple steps ago and make sure to select the source you want for virtual input in the 'ndi virtual cam’ menu! Check out over here for some help with ndi virtual cam, and ignore the skype stuff (unless you want to use video waaaves as a skype or zoom source which you totally should for your next meeting/virtual family reunion) you may also wish to change the resolution of the camera (using the line cam1.setup(640,480) and changing those numbers to the resolution of the window you are grabbing). will be hoping to fix this within a couple of months or so! and will be depending on help and feedback from all of yall video waaaves users in order to do so!
How to use blackmagic cards for input
can be a little convoluted! for OSX you can try black syphon into syphon 2 ndi as a source. for any OS you can try using OBS to convert the blackmagic input into ndi. For windows the blackmagic stream will sometimes show up as a UVC video input and you can just change the device id of cam1 or cam1 to bring it in.
OK that is about it for now! If theres more stuff that should get added to this guide then head on over to either the facebook group or to scanlines.xyz and let me know!