There are 3 reasons that would make you want to follow the instructions below:
vvvvs public sources are hosted on github and you can easily get a local copy of them using either of two possibilities. Both require some knowledge of GIT, which you should gain before reading on. Among endless resources for learning about git here are three:
after having installed plain git and an (optional) git gui you are ready to continue.
git clone git@github.com:YOUR_GITHUB_USERNAME/vvvv-sdk.git
you don't need a github account. simply clone the main vvvv-sdk repository
git clone git@github.com:/vvvv/vvvv-sdk.git
by cloning the vvvv sources you got a local copy that should look like this:
\common \scripts \vvvv45 .gitignore init README.md
The first thing you need to do is call the init script. This needs to be done only once, but without it none of the solution and project files will work. So here is what you do:
./init
This will set some directory junctions, will try to fetch the latest alpha-build of vvvv.exe and should produce the following output:
Running post-checkout hook ... Processing public/vvvv45/addonpack/src/.symlinks Junction created for core <<===>> ..\..\src\core Junction created for thirdparty <<===>> ..\..\src\thirdparty ... Fetching daily/binaries/binaries-*.tar.bz2 ... Extracting binaries-*.tar.bz2 tar: Record size = 2 blocks vvvv45/vvvv.exe
Thats that. Now don't worry about \common and \scripts and navigate to the \vvvv45 directory. What you see here is essentially the same directory layout you get when downloading vvvv as an enduser (except the \src directory which is not in the enduser download).
\addonpack \girlpower \lib \licenses \src
Navigate to the \addonpack directory which is where you will work. It contains 3 directories as follows:
\girlpower \lib \src
The \src directory contains addons that need to be compiled before being useful (ie. plugins) while the \lib directory contains addons that will be shippped in the pack as they are (ie. modules, effects).
So depending on what kind of addon you're working on you put your nodes in the respective subdirectories:
\src\nodes\plugins \lib\nodes\effects \lib\nodes\modules
in \vvvv45\addonpack\src you see 2 solutions
Before running vvvv.exe from your \vvvv45 directory you need to build the core and while at it the whole addonpack so you have all the plugins from the pack available while working from this setup.
Open Addonpack.sln with SharpDevelop 4 or Visual Studio 2010 and build it (F8 in SharpDevelop). This may take a while and is supposed to return with "Build Successfull. 0 Errors" in which case you're done and can close the solution. If the build fails, you best contact us on irc.
In case you want to export your work as a nice small zip file as it is provided as a download on our website, you can use the "Zip" task.
Make sure you have "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319" in your PATH environment variable, installed the 32-bit version of 7-zip and then start the command line (Start -> Run -> cmd.exe), navigate to your vvvv-sdk directory and call
msbuild vvvv45\src\vvvv45.csproj /p:Configuration=Release /t:Build;Zip
to build and zip the core to vvvv_VERSION.zip or
msbuild vvvv45\addonpack\src\Addonpack.csproj /p:Configuration=Release /t:Build;Zip
to build the addonpack to addons_VERSION.zip
Now you're ready to work on your own code. For this open the MyPlugins.sln. There you add your projects and then in order to get them built to the right output directory simply add a reference to your projects to the MyPlugins project that is already in that solution. Note that you don't have to change the build-output path of your project which should still point to its default (bin\Debug).
If your project has thirdparty .dll dependencies put them in a directory called
\dependencies
in your project directory and reference them from there. If you project references unmanaged .dlls you also put them there but instead of adding them as reference to your project (which is not possible) you add them as Existing Item and then choose Link when asked to link or copy. Then in the files properties set Copy to ouptut directory to Always. This only needs to be done for such linked native .dlls since for ordinary references Local copy = true is the default anyway.
Place a file called
license-MYPLUG.txt
directly in the directory of your plugin. From there it will be automatically collected and put in the common \addonpack\licenses directory after the build.
Don't forget to provide helppatches for your plugins. You put them all in the
\addonpack\lib\nodes\plugins
directory. This is a bit of a mess, we know. Please come complain on irc.
In order to get the freshest bits from the sdk you need to pull from the original repository. If you have your own fork this means you will have to add the original repo as an extra "remote" to your local repository. Section 2 "Configure remotes" in the github reference on forking explains how to do that. As the "upstream" url you'll have to use
git@github.com:vvvv/vvvv-sdk.git
So if you have a remote in your repository called "upstream" that points to this url you can always simply call:
git pull upstream develop
to get the latest sources. With this call you'll also always get the latest vvvv.exe that fits the sources you just got.
vvvv is following this branching model.
If you want your stuff to be included in the addonpack send us a request to include your changes.
Please make sure to follow Conventions.CodingStyle and Conventions.NodeAndPinNaming.
anonymous user login
~1h ago
~2h ago
~2h ago
~4h ago
~4h ago
~7h ago
~7h ago
~7h ago
~11h ago