Difference between revisions of "Building VLMC"

From VideoLAN Wiki
Jump to navigation Jump to search
(Copy-edit, markup, links)
 
(26 intermediate revisions by 10 users not shown)
Line 1: Line 1:
=Building VLMC from source=
+
[[File:VLMC icon.png|alt=|thumb|right]]
 +
== Building VLMC from source ==
  
This wiki page has information on building VideoLAN Movie Creator, VLMC from source.
+
This wiki page has information on building [[VideoLAN Movie Creator]] (VLMC) from source.
VLMC (VideoLAN Movie Creator) is a free video editing software,
 
offering features to realize semi-professional quality movies,
 
but with the aim to stays simple and user-friendly.
 
  
==Resources==
+
VLMC is a free video editing software, offering features to realize semi-professional quality movies, but with the aim to stay simple and user-friendly.
  
VLMC requires Qt(4.5+), C++ compiler and libVLC.
+
=== Resources ===
  
To install Qt, refer: http://www.qtsoftware.com/downloads
+
VLMC requires a c++ compiler (g++), cmake, Qt(4.6+), libVLC and frei0r plugins.
  
To install libVLC, you are required to compile VLC
+
* To install [[Qt]], refer to: https://www.qt.io
 +
* To install [[libVLC]], you are required to [[compile VLC]]
 +
* To get the current source of {{VLC}}, refer to: [[GetTheSource]]
 +
* For information on using Git, refer to: [[Git]]
 +
* If you are interested in mailing lists, go to https://mailman.videolan.org/listinfo/. We have two VLMC mailing lists:
 +
** [https://mailman.videolan.org/pipermail/vlmc-announce/ vlmc-announce]: Official announcements (release, events, ...)
 +
** [https://mailman.videolan.org/pipermail/vlmc-devel/ vlmc-devel]: Developers discussions
  
To get the current source of VLC player, refer: http://wiki.videolan.org/GetTheSource
+
=== Getting the code ===
  
For information on using Git, refer: http://wiki.videolan.org/Git
+
You can fetch the current VLMC working tree using Git:
 +
{{$}} git clone https://code.videolan.org/videolan/vlmc.git
  
For Information on generic compilation of VLC, refer: http://wiki.videolan.org/Compile_VLC
+
Do the same for VLC (as described in [[GetTheSource]]):
 +
{{$}} git clone git://git.videolan.org/vlc.git
  
In case you are interested in mailing list, goto:
+
=== Building VLMC on Linux ===
  http://vlmc.org/mailman/listinfo
 
  
We have two VLMC mailing lists:
+
Following is the cleanest way of compiling VLMC (commands for *nix OS)
  * vlmc-announce: Official announcements (release, events, ...)
 
  * vlmc-devel: Developers discussions
 
  
==Getting the source==
+
1. Compile and install [[libVLC]], libVLC is required by VLMC (you can also install VLC using your Linux distribution), for example:
 +
{{$}} cd path_to_vlc_src
 +
{{$}} ./bootstrap
 +
{{$}} ./configure ''--your-options-here (see --help)''
 +
{{$}} make
 +
{{prompt|root}} make install
  
You can fetch the current working tree using Git:
+
2. For Compiling VLMC:
  git clone git://git.videolan.org/vlc.git
+
{{$}} cd path_to_vlmc_src
 +
{{$}} mkdir build && cd build
 +
{{$}} cmake ..
 +
{{$}} make
  
==Compiling VLMC==
+
3. Run VLMC:
 
+
{{$}} ./vlmc
Following is the cleanest way of compiling VLMC (commands for *nix OS)
 
  
1. Download source code of VLC and VLMC as described in http://wiki.videolan.org/GetTheSource
+
==== Building VLMC in developer mode ====
  git clone git://git.videolan.org/vlc.git
 
  
2. Compile and install libVLC, libVLC is required by VLMC, for example:
+
By default, VLMC enables a crash handler, which is responsible for saving a backup of the project in the event of a crash.
  cd path_to_vlc_src
 
  ./configure
 
  make
 
  sudo make install
 
  
3. Compile VLMC:
+
While this might be handy for the users, it makes life harder on developers, since a debugger would attach to the daemon process instead of VLMC.
  cd path_to_vlmc_src
 
  cmake .
 
  make
 
  
Now, to run VLMC:
+
In order to disable this, you'll need a tool such as ccmake, or cmake-gui, to disable the <code>WITH_CRASHHANDLER</code> option.
  ./vlmc
 
  
Now, start hacking ;-)
+
Alternatively, you can invoke cmake with <code>-DWITH_CRASHHANDLER=OFF</code> flag
  
==Linking VLMC to libVLC==
+
=== Cross Compiling VLMC for Windows on Linux ===
  
Have you built VLC in some directory like: ~/vlc/build
+
VLMC can be cross-compiled for Windows, on Linux using mingw:
 +
{{$}} cd contribs
 +
{{$}} sh contribs.sh
 +
{{$}} cd ..
 +
{{$}} mkdir win32 && cd win32
 +
{{$}} cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
 +
{{$}} make
  
i.e you have compiled VLC using ./configure --prefix=SOME_PATH, For example:
+
=== Compiling on Mac OS ===
  ./configure --prefix=/home/user/vlc/build
 
  
 +
==== Dependencies ====
 +
* Build tools: Xcode command-line tools
 +
* homebrew
  
1. Then, you need to link libVLC and add the include path to VLMC.
+
==== Get the sources: ====
 +
{{$}} git clone https://code.videolan.org/videolan/vlmc.git
  
To do that, first open vlmc.pro file and add/edit LIB PATH as:
+
==== Get the actual dependencies: ====
  LIBS = -L/path_to_vlc_build/lib \
+
{{$}} brew tap tomahawk-player/tomahawkqt5
        -lvlc
+
{{$}} brew install make
 +
{{$}} brew install vlc
 +
{{$}} brew install qt5
 +
{{$}} brew install frei0r
  
For example:
+
==== Compile vlmc: ====
  LIBS = -L/home/user/vlc/build/lib
+
Now cd to root source directory and build:
        -lvlc
+
{{$}} mkdir build && cd build
 +
{{$}} cmake ..
 +
{{$}} make
  
2. Then, you need to edit INCLUDEPATH in vlmc.pro:
+
This will by default create a Mac Bundle, <code>vlmc.app</code> in <code>/build/bin</code>
  path_to_vlc_src_include
 
  
For example:
+
==== To create a dmg image: ====
  INCLUDEPATH += src/LibVLCpp \
 
    src/gui \
 
    src/tools \
 
    src \
 
    /home/user/vlc/build/include
 
  
3. Now you need to add the path of libVLC to ld.so.conf so that linker knows the path of libVLC
+
To create a dmg image, uncomment <code>#dmg</code> in <code>/src/CMakeLists.txt</code>, at the end of the file.
  sudo vim /etc/ld.so.conf
 
  
Now, add path to libVLC in it:
+
This creates the <code>app/dmg</code> in <code>&lt;build-directory&gt;/bin</code>
  /home/user/vlc/build/lib
 
  
Now, update linker cache:
+
=== Packaging VLMC ===
  sudo ldconfig
 
  
If every thing's goes fine compile VLMC as describe in the "Compile" section of this page. This method is not advised as it may cause unnecessary problems.
+
* On Linux, you can create deb/rpm package by using:
 +
{{$}} make package
  
 +
* You can create NSIS installer for Windows using cross-compiling on Linux:
 +
{{$}} make installer
  
 +
Start hacking <span title="Wink">;-)</span>
  
''The page was last updated on June 22, 2009''
+
[[Category:Building]]
 +
[[Category:VideoLAN projects]]

Latest revision as of 19:39, 9 March 2019

Building VLMC from source

This wiki page has information on building VideoLAN Movie Creator (VLMC) from source.

VLMC is a free video editing software, offering features to realize semi-professional quality movies, but with the aim to stay simple and user-friendly.

Resources

VLMC requires a c++ compiler (g++), cmake, Qt(4.6+), libVLC and frei0r plugins.

Getting the code

You can fetch the current VLMC working tree using Git:

$ git clone https://code.videolan.org/videolan/vlmc.git

Do the same for VLC (as described in GetTheSource):

$ git clone git://git.videolan.org/vlc.git

Building VLMC on Linux

Following is the cleanest way of compiling VLMC (commands for *nix OS)

1. Compile and install libVLC, libVLC is required by VLMC (you can also install VLC using your Linux distribution), for example:

$ cd path_to_vlc_src
$ ./bootstrap
$ ./configure --your-options-here (see --help)
$ make
# make install

2. For Compiling VLMC:

$ cd path_to_vlmc_src
$ mkdir build && cd build
$ cmake ..
$ make

3. Run VLMC:

$ ./vlmc

Building VLMC in developer mode

By default, VLMC enables a crash handler, which is responsible for saving a backup of the project in the event of a crash.

While this might be handy for the users, it makes life harder on developers, since a debugger would attach to the daemon process instead of VLMC.

In order to disable this, you'll need a tool such as ccmake, or cmake-gui, to disable the WITH_CRASHHANDLER option.

Alternatively, you can invoke cmake with -DWITH_CRASHHANDLER=OFF flag

Cross Compiling VLMC for Windows on Linux

VLMC can be cross-compiled for Windows, on Linux using mingw:

$ cd contribs
$ sh contribs.sh
$ cd ..
$ mkdir win32 && cd win32
$ cmake -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchain-win32.cmake ..
$ make

Compiling on Mac OS

Dependencies

  • Build tools: Xcode command-line tools
  • homebrew

Get the sources:

$ git clone https://code.videolan.org/videolan/vlmc.git

Get the actual dependencies:

$ brew tap tomahawk-player/tomahawkqt5
$ brew install make
$ brew install vlc
$ brew install qt5
$ brew install frei0r

Compile vlmc:

Now cd to root source directory and build:

$ mkdir build && cd build
$ cmake ..
$ make

This will by default create a Mac Bundle, vlmc.app in /build/bin

To create a dmg image:

To create a dmg image, uncomment #dmg in /src/CMakeLists.txt, at the end of the file.

This creates the app/dmg in <build-directory>/bin

Packaging VLMC

  • On Linux, you can create deb/rpm package by using:
$ make package
  • You can create NSIS installer for Windows using cross-compiling on Linux:
$ make installer

Start hacking ;-)