-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #224 from d-j-a-y/djay_help_update
Vims.md review ++ #76
- Loading branch information
Showing
10 changed files
with
724 additions
and
560 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
|
||
# Compiling Veejay | ||
|
||
Veejay is divided into multiple packages. Each must be build separately and in a specific order. | ||
|
||
1. [veejay-core](https://github.com/c0ntrol/veejay/tree/master/veejay-current/veejay-core) (__required__) | ||
2. [veejay-server](https://github.com/c0ntrol/veejay/tree/master/veejay-current/veejay-server) (__required__) | ||
3. [veejay_client](https://github.com/c0ntrol/veejay/tree/master/veejay-current/veejay-client) (*optional*) | ||
4. [veejay-utils](https://github.com/c0ntrol/veejay/tree/master/veejay-current/veejay-utils) (*optional*) | ||
5. [plugin-packs](https://github.com/c0ntrol/veejay/tree/master/veejay-current/plugin-packs) (*optional*) | ||
|
||
## Prerequisities | ||
|
||
Required: | ||
* Build-essential | ||
* FFmpeg (libavcodec, libavformat, libavutil, libswscale) *please use ffmpeg instead of libav* | ||
* libjpeg | ||
* libxml2 for saving project data | ||
* SDL 2 for the video window | ||
* libdv for playback of DV Video | ||
* [http://www.gtk.org] GTK3 (3.22 recommanded) | ||
* [http://www.gnome.org] GdkPixbuf (comes with Gnome) | ||
* Cairo (needed for Reloaded) | ||
* GtkCairo (needed for Reloaded) | ||
* Libquicktime for Quicktime] | ||
* Video4Linux II | ||
* libpthread | ||
* Glade (needed for Reloaded) | ||
|
||
Optional: | ||
* liblo | ||
* DirectFB for secundary head (TVOut) | ||
* Jack for audio playback | ||
* G'MIC - GREYC's Magic for Image Computing | ||
* libqrencode (Android VJ remote control) | ||
|
||
First, make sure you system is up-to-date, and install (in debian like system) the required dependencies with: | ||
```bash | ||
sudo apt-get install build-essential git autoconf automake libtool m4 gcc libjpeg62-dev \ | ||
libswscale-dev libavutil-dev libavcodec-dev libavformat-dev libx11-dev \ | ||
gtk-3.0-dev libxml2-dev libsdl2-dev libjack0 libjack-dev jackd1 | ||
``` | ||
|
||
## Quick and dirty build instructions | ||
|
||
Normally, you can just run `./configure`. | ||
If you have cloned the veejay git respository, you will need to run `./autogen.sh` first to produce the configure file. | ||
|
||
|
||
## Configure options | ||
|
||
`PKG_CONFIG_PATH` is a environment variable that specifies additional paths in which `pkg-config` will search for its `.pc` files. | ||
|
||
If you need additional paths, before running configure, check if the PKG_CONFIG_PATH variable is setup correctly: | ||
``` | ||
$ echo $PKG_CONFIG_PATH | ||
``` | ||
If echo is silent, you must set the PKG_CONFIG_PATH to point to the directory containing your additional .pc files (for homebrew library installation) | ||
|
||
|
||
### Configure flags | ||
|
||
`--enable-debug` Builds veejay for debugging purposes (disables optimization). See also `--enable-profiling` | ||
`--with-arch-target=generic` Build veejay for generic x86 cpu-type. If the default is used (auto), the resulting binary may not run on another computer. | ||
`--without-jack` Build veejay without sound suppport. Useful when you just care of visuals ouput. Veejay will have more ressources (cpu/memory) to play your videos. | ||
|
||
You can see all the configure flags with `./configure --help` | ||
|
||
## Building | ||
|
||
1. Get the last sources from Veejay's repository: | ||
``` | ||
$ git clone git://github.com/c0ntrol/veejay.git veejay | ||
``` | ||
2. Enter the source directory | ||
``` | ||
$ cd veejay/veejay-current | ||
``` | ||
3. Move to current software to build and run autogen.sh | ||
``` | ||
$ cd veejay-core | ||
$ sh autogen.sh | ||
``` | ||
3. Run ./configure | ||
``` | ||
$ ./configure | ||
``` | ||
4. Type 'make' to build veejay | ||
``` | ||
$ make -j$(nproc) | ||
``` | ||
5. Installing | ||
``` | ||
$ sudo make install && sudo ldconfig | ||
``` | ||
6. Repeat from step __3__ to __5__ inside `veejay-server` directory | ||
|
||
7. *optional* continue with building `veejay-client` and `veejay-utils` | ||
``` | ||
$ cd veejay-client | ||
$ sh autogen.sh | ||
$ ./configure | ||
$ make && sudo make install | ||
$ cd veejay-utils | ||
$ sh autogen.sh | ||
$ ./configure | ||
$ make && sudo make install | ||
``` | ||
8. *optional* continue with building the plugin-packs (repeat for all plugins pack you want to install) | ||
``` | ||
$ cd plugin-packs/lvdgmic | ||
$ sh autogen.sh | ||
$ ./configure | ||
$ make && sudo make install | ||
$ cd plugin-packs/lvdcrop | ||
$ sh autogen.sh | ||
$ ./configure | ||
$ make && sudo make install | ||
``` | ||
|
||
## Test your build | ||
|
||
You will start veejay, connect the user interface and quit veejay. | ||
|
||
Test if veejay works: | ||
``` | ||
$ veejay -d -n | ||
``` | ||
|
||
Start another terminal and type: | ||
``` | ||
$ reloaded -a | ||
``` | ||
|
||
Open another terminal (depends on sayVIMS, build in step 7) | ||
``` | ||
$ sayVIMS -m "600:;" | ||
``` | ||
|
||
(or press CTRL-C in the terminal running veejay) | ||
|
57 changes: 29 additions & 28 deletions
57
...rent/veejay-server/doc/HowToDebugging.txt → ...rent/veejay-server/doc/HOWTO.debugging.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,85 +1,86 @@ | ||
#Debugging veejay | ||
---------------- | ||
# Debugging veejay | ||
|
||
Please report any issues here: https://github.com/c0ntrol/veejay/issues | ||
|
||
Open a new bug report for each issue, so an effective bugfix workflow will be completed for each issue. | ||
|
||
Other details you should heed | ||
* Make sure your software is up to date. Ideally, test an in-development version (https://github.com/c0ntrol/veejay) | ||
* Figure out the steps to reproduce a bug: | ||
** If you have precise steps to reproduce — great! — you're on your way to reporting a useful bug report. | ||
** If you can reproduce occasionally, but not after following specific steps, you must provide additional information for the bug to be useful. | ||
|
||
## Redirecting veejay's console output | ||
|
||
You can run veejay with the -v commandline flag, telling it to be more | ||
verbosive: | ||
|
||
<pre> | ||
``` | ||
$ veejay -v -n > /tmp/logfile | ||
</pre> | ||
``` | ||
|
||
You can watch the console logging using tail: | ||
|
||
<pre> | ||
``` | ||
$ tail -f /tmp/logfile | ||
</pre> | ||
``` | ||
|
||
## Network event logging | ||
|
||
You can log all network related events to /tmp/veejay.net.log (file | ||
destination cannot be changed) | ||
|
||
<pre> | ||
``` | ||
$ export VEEJAY_LOG_NET_IO=on | ||
$ veejay -v | ||
</pre> | ||
``` | ||
|
||
## Crash Recovery | ||
|
||
If veejay crahes, it will write your samplelist and edit descision files to | ||
$HOME/.veejay/recovery. | ||
`$HOME/.veejay/recovery`. | ||
|
||
The recovery files can be loaded with: | ||
|
||
<pre> | ||
``` | ||
$ veejay /path/to/recovery_editlist_p???.edl -l /path/to/recovery_samplelist_p???.sl | ||
</pre> | ||
|
||
``` | ||
|
||
## Useful backtraces | ||
|
||
|
||
A useful backtrace not only contains symbols but also lists the linenumber and | ||
name of the source file | ||
|
||
To enable debugging symbols to be build in you must do a clean build and pass | ||
the --enable-debug flag to configure. | ||
|
||
|
||
<pre> | ||
``` | ||
$ ./configure --enable-debug | ||
$ (make clean) | ||
$ make -j12 && make install | ||
</pre> | ||
|
||
``` | ||
|
||
You can attach a debugger to veejay, or you can load veejay in the debugger: | ||
|
||
<pre> | ||
$ ps -aef |grep veejay | ||
$ gdb -p $PID | ||
</pre> | ||
``` | ||
$ sudo gdb -p `pidof veejay` | ||
``` | ||
|
||
<pre> | ||
``` | ||
$ gdb /path/to/veejay | ||
... | ||
$ bt | ||
</pre> | ||
``` | ||
|
||
To enable profiling you must do a clean build and pass | ||
the --enable-profiling flag to configure. | ||
|
||
Alternatively, you can use valgrind to look for memory leaks, threading | ||
problems, etc: | ||
|
||
<pre> | ||
|
||
``` | ||
$ valgrind --leak-check=yes --leak-resolution=high --log-file=/tmp/valgrind.veejay.log /path/to/veejay -n -v ... | ||
$ valgrind --tool=helgrind /path/to/veejay -n -v | ||
|
||
</pre> | ||
|
||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.