![Gitter](https://badges.gitter.im/Join Chat.svg)
Welcome to the Joker project!
Joker is available on the Mac App Store:
For Windows installer, go to the release section.
Otherwise, you can try to compile the project yourself using the following instruction:
This repository hosts the Joker projet components:
- Applications
- Joker: The main project.
- SonyTool: A Sony 9 pin master/slave
- LTCTool: A LTC generator/reader.
- MidiTool: A midi timecode (MTC) generator/reader.
- Libraries
- PhTools: Common basic utilities.
- PhCommonUI: Common user interface component.
- PhStrip: The strip document model.
- PhGraphic: Basic library for displaying graphical object and texts.
- PhGraphicStrip: Specific strip related display routine.
- PhAudio: Basic library for audio playback/recording.
- PhVideo: Video playback library.
- PhSync: Generic sync component.
- PhSony: Sony 9 pin synchronisation interface.
- PhLtc: LTC synchronisation interface.
- PhMidi: Midi synchronisation interface.
- Various test projects for testing the library modules independently or integrated with each others. It contains also unit testing modules in the specs directory.
In order to compile the project you will need to follow the instructions depending on your system:
The project uses Qt 5.5.1 available here: http://www.qt.io/download/
You need to have Mac Os 10.8+ installed to make Joker work on your computer. We also recommand you the 5.3.x Qt version.
You need to have Xcode installed and the command line tools to compile on Mac Os using Qt.
Homebrew is a very powerful package installer. Let's install it:
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
You can install the dependencies automatically or manually:
Just run the bootstrap script:
./scripts/bootstrap.sh
You can install most of the dependencies via brew:
brew install libav portaudio libltc
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libcaca --with-libvo-aacenc --with-libvorbis --with-libvpx --with-openjpeg --with-openssl --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-speex --with-theora --with-tools
Just run the bootstrap script:
./scripts/bootstrap.sh
There is a Windows build of the FFMPEG library here: http://ffmpeg.zeranoe.com/builds/
Download the shared and dev 32 bits library:
- http://ffmpeg.zeranoe.com/builds/win32/shared/ffmpeg-20140222-git-44b22bb-win32-shared.7z
- http://ffmpeg.zeranoe.com/builds/win32/dev/ffmpeg-20140222-git-44b22bb-win32-dev.7z
Extract it with 7zip in the folder of your choice and set the following environment variable:
- FFMPEG_DEV_PATH
- FFMPEG_SHARED_PATH
Download portaudio precompiled library here: https://github.com/adfernandes/precompiled-portaudio-windows
Extract it with 7zip in the folder of your choice and set the following environment variable:
- PORTAUDIO_PATH
Download libltc source code from: https://github.com/x42/libltc/releases/download/v1.1.4/libltc-1.1.4.tar.gz
Extract it with 7zip in the folder of your choice. Create the following environment variable pointing to the src subfolder:
- LTC_PATH
Innosetup is required to build an installer for the release version of Joker. If you do not want to install Innosetup, choose to build the debug version in Qt Creator. Otherwise, download it from: http://www.jrsoftware.org/isdl.php
Add Innosetup installation folder to the PATH environment variable.
Download a Qt installer for Windows built against MinGW and for OpenGL here: http://qt-project.org/downloads
(MinGW and OpenGL is the only working combination, because Joker uses C++ constructs that are not available in Visual Studio, and OpenGL objects that are not available in Angle.)
Install to the folder of your choice.
Then use Qt Creator to open and build the Joker project app.pro.
Note that you can set all the required environment variables described above directly in the project settings inside Qt Creator.
We love talking about this project! Feel free to post an issue or contact us via the gitter channel !