*** Context Free
*** version 3.3

    by Chris Coyne, John Horigan and Mark Lentczner

    Context Free Copyright 2020 John Horigan

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 
DISTRIBUTION & LICENSE

Context Free is released under the GNU license.  

Context Free is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA  02111-1307  USA.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ 

The Windows and Linux builds of Context Free/cfdg use FFmpeg 4.0+ to generate 
Quicktime animation output. Earlier versions of ffmpeg may not work
as the FFmpeg API is a moving target. Libav does not work, only FFmpeg.

The source distribution does not contain FFmpeg libraries. The Windows build
dynamically detects the presence of FFmpeg DLLs and enables QuickTime support
if they are found. An installer for the DLLs and ffplay.exe is at
https://www.contextfreeart.org/download/CF_FFmpegInstall4.2.2.exe

Linux variants:
1) FFmpeg 4.0+ is required, not libav. The most straight-forward way to get
   FFmpeg on GNU/Linux is to install the packages: libavformat-dev (>= 7:4.0),
   libswscale-dev (>= 7:4.0), and libx264-dev (>= 2:0.155). These are 
   available on Debian 9.4 and Ubuntu 19.04.

2) FFmpeg must have libx264 and prores_ks support. If you are building
   FFmpeg then you will need libx264-dev. When building FFmpeg you must
   include these options in the configuration:
     ./configure  --enable-libx264 --enable-gpl

3) src-ffmpeg/include contains the header files for FFmpeg 3.3.1. If you are 
   building against a different version of FFmpeg then replace src-ffmpeg/include
   with a symlink to that versions include files. If they are installed in 
   a system include directory then just delete the contents of src-ffmpeg/include

4) Modify the Makefile to enable FFmpeg support:
* Uncomment out COMMON_SRCS += ffCanvas.cpp
* Uncomment out LIBS += avformat avcodec swscale swresample avutil z m x264 pthread dl
* Comment out COMMON_SRCS += ffCanvasDummy.cpp

or you can define the CFDG_FFMPEG environment variable before running make:
  CFDG_FFMPEG=1 make all

5) make clean && make

