Table of Contents

Writing your own plugins, CLI and Netbeans Setup (Windows)

You dont need to compile avidemux yourself to write your own plugins.
What you need is :

SDK

Make sure you have selected the SDK component during install

Msys2 and Mingw64 setup

It is a good idea to use a short path, i.e. c:\MingW64 and c:\msys64 Make sure you have them both in your path (i.e. c:\Mingw64\mingw64\bin and c:\msys64\usr\bin)

Cmake

You will need to install cmake version 3.x
Make sure the cmake “bin” folder is in your path


Cli : Compile the sample using MSYS2/MinGW

It is best to start here to make sure you have a working environment

Start a MSYS2 shell, go where you unzipped the demo code (i.e. c:\tmp\videoFilterDemo for example )
Create a build folder

 mkdir build && cd build

then generate the makefile

 cmake -G "MSYS Makefiles" -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_INSTALL_PREFIX="c:\Program Files\Avidemux 2.6 - 64 bits" ..
 

The CMAKE_INSTALL_PREFIX should point to the place where avidemux is

Look for error, it should go without problem.

 make

Upon success, copy the dll in c:\Program Files\Avidemux 2.6 - 64 bits\plugins\videoFilters\
Start avidemux and you should see a logo_sample filter in the menu list

Important/Common problem


If the C++ library used by mingw is more recent than the one used by avidemux itself you'll run into two problem :

ADD_DEFINITIONS(-D_GLIBCXX_USE_CXX11_ABI=0)

Do the fixes above, erase the build folder (build/*) and do it all over again (it takes 5 sec)


Using Netbeans

You'll need the same requirement as above (i.e. cmake, msys,…)
You *MUST* add msys make, mingw make will not work with netbeans
Open a msys2 shell, and enter

 pacman -S make  
 
Configure Netbeans

There are two parts :

The toolchain should be configured as follow :
Toolchain
The important part is to select the make from msys64/usr/bin

Everything is coming from msys, the screenshot is a bit old

Last step is to setup the project :
Step 1
 Step2
Step 3

The important part are :

-G “MSYS Makefiles” -DCMAKE_INSTALL_PREFIX=“c:/Program Files/Avidemux 2.6 - 64 bits”“

Note that the path separator are ”/“ and not “\”!

You can build the sample now.

In case you made a mistake, dont forget to delete the CMakeCache.txt file before retrying