Menu

Tree [59e828] master /
 History

HTTPS access


File Date Author Commit
 .git-ci 2024-09-26 IOhannes m zmölnig IOhannes m zmölnig [1cafa1] [ci] ensure that 'libtool' is installed
 .github 2024-03-13 IOhannes m zmölnig IOhannes m zmölnig [c59c03] ask people to also give their Pd-flavour
 abstractions 2024-04-03 chnry chnry [f94385] sanitize rate input
 doc 2022-11-03 IOhannes m zmölnig IOhannes m zmölnig [6b3339] ignore generated CSV files
 examples 2024-09-26 IOhannes m zmölnig IOhannes m zmölnig [c095cb] spelling
 extra 2024-01-16 IOhannes m zmölnig IOhannes m zmölnig [12e090] extra: replace imageStruct::setCsizeByFormat() ...
 help 2024-06-27 IOhannes m zmölnig IOhannes m zmölnig [9beb39] Add meta information to help-patches
 m4 2024-06-20 IOhannes m zmölnig IOhannes m zmölnig [c5b909] On Windows, link against Gem with custom extension
 plugins 2024-02-29 IOhannes m zmölnig IOhannes m zmölnig [d0f7b4] TEST: help for filmTEST and videoTEST
 src 3 days ago Antoine Villeret Antoine Villeret [59e828] install missing Atom.h
 tests 2023-04-17 IOhannes m zmölnig IOhannes m zmölnig [ac8413] tests: vertically flipped TGA image
 tools 2022-11-02 IOhannes m zmölnig IOhannes m zmölnig [4740a5] fix indent script
 .editorconfig 2020-12-21 IOhannes m zmölnig IOhannes m zmölnig [8d39ee] editorconfig: fix location of root=true
 .gitattributes 2023-11-06 IOhannes m zmölnig IOhannes m zmölnig [b9dbb1] Drop .yamllint from git-archive
 .gitignore 2022-07-13 IOhannes m zmölnig IOhannes m zmölnig [da9e1d] drop build/ directory
 .gitmodules 2024-06-19 IOhannes m zmölnig IOhannes m zmölnig [1eb735] [ci] Add iem-ci as submodule (for improved loca...
 .travis.yml 2023-11-06 IOhannes m zmölnig IOhannes m zmölnig [dce62f] Make yamllint clean
 .yamllint 2023-11-06 IOhannes m zmölnig IOhannes m zmölnig [415d0e] Add .yamllint
 COPYING.txt 2019-05-09 IOhannes m zmölnig IOhannes m zmölnig [01b186] dos2unix and removed trailing whitespace
 ChangeLog 2018-02-01 IOhannes m zmölnig IOhannes m zmölnig [defe0c] Fixed spelling errors
 Gem-meta.pd.in 2011-12-09 IOhannes m zmölnig IOhannes m zmölnig [222533] generate and install Gem-meta.pd
 Gem.pc.in 2011-12-06 IOhannes m zmölnig IOhannes m zmölnig [16a78e] apply GEM_EXTERNAL_flags
 GnuGPL.LICENSE.txt 2019-05-09 IOhannes m zmölnig IOhannes m zmölnig [01b186] dos2unix and removed trailing whitespace
 Makefile.am 2024-06-18 IOhannes m zmölnig IOhannes m zmölnig [a4ed44] "--disable-plugins" to not build (or configure)...
 README.md 2023-05-22 IOhannes m zmölnig IOhannes m zmölnig [199e8d] whitespace
 autogen.sh 2022-11-02 IOhannes m zmölnig IOhannes m zmölnig [6179be] Fix SUBDIRS when manually running autoconf
 configure.ac 2024-06-20 IOhannes m zmölnig IOhannes m zmölnig [549bbf] drop GEM_RTE_CPPFLAGS and GEM_RTE_CXXFLAGS
 devgem.sh.in 2024-02-21 IOhannes m zmölnig IOhannes m zmölnig [4f88c7] add help-paths to devgem.sh
 switch-gemwin.sh.in 2023-02-23 IOhannes m zmölnig IOhannes m zmölnig [3fd576] helper-script to switch between various gemwind...

Read Me

GEM - Graphics Environment for Multimedia

You can get the current distribution from:
https://gem.iem.at
https://git.iem.at/pd/Gem
https://github.com/umlaeute/Gem

If you want to compile the newest (bleeding edge, and possibly unstable) source
code yourself, you can get a copy from the public git repository:

https://git.iem.at/pd/Gem.git

There is also a mirror on github:

https://github.com/umlaeute/Gem

Usually, you will only need the read-only repository, which you can get with

$ git clone https://git.iem.at/pd/Gem.git

NEW

Gem is now supported by Microsoft W, Linux and macOS-X.
The IRIX version might work (but most probably will not): if you want to use Gem
under IRIX, feel free to make it work and report failure and success to me, so i
can incorporate any needed changes into the main Gem-trunk.

for installation instructions see below

BUILDING

To build & install GEM run:

$ ./configure
$ make
$ make install

note: when using a git-clone of the Gem sources, you first need to run
./autogen.sh (which is a wrapper around autoreconf -fiv).

note: that you might want to help Gem to find the Pd-headers, e.g. by doing

$ ./configure --with-pd=/usr/include/pd

try the following, to see more available options:

$ ./configure --help=recursive

DEPENDENCIES

Gem can utilize a lot of libraries and frameworks in order to improve its capabilities.
Most of these libraries are optional and will be detected automatically when running ./configure.
Some libraries won't be detected automatically and you must provide additional information
on how to use them (see ./configure --help=recursive for a list of options).

hard (required) dependencies

The only hard requirements of Gem are:

  • Pure Data
  • openGL
  • GLU

soft (optional) dependencies

Support for text output is optional, but will be compiled into the "core" of Gem
(that is: once it is enabled, you will need the relevant runtime libraries in order to be able to use Gem at all)

Library/Framework notes
ftgl Font rendering support
fribidi support for RTL-scripts

Most dependencies are purely optional and are only used in plugins.
If the runtime libraries are not available, Gem won't be able to use those plugins, but it will otherwise work as normal.

Library/Framework Operating System notes
sdl2 Window managment
glfw3 Window managment
assimp 3D model loading
ImageIO macOS image reading/writing
QuickTime macOS, Windows only 32bit OS are supported
libquicktime Linux film reading/writing
ImageMagick image reading/writing (many formats)
libTIFF TIFF image reading/writing
libjpeg JPEG image reading/writing
gmerlin_avdec (mostly) Linux film reading
libdc1394 Linux video capture from industry-grade "IEEE 1394" cameras
libdv/libraw1394/libiec61883 Linux video capture from consumer-grade "firewire" cameras
libv4l2 Linux V4L2 video capture and output
VLC open media as video capture via VLC
libvncclient grab frames via the VNC protocol
DeckLink video input from Blackmagic's DeckLink hardware
NDI NDI frame capture and output
AVT grab frames from GiGE-devices via Prosilica's AVT SDK
Halcon grab frames from industrial grade cameras via MVTec's HALCON SDK
Pylon grab frames from GiGE-devices via Basler's PYLON SDK
OptiTrack capture video from OptiTrack cameras

INSTALLING

make install might work (mostly on linux)

If you want to have full control on where to install the files, use the prefix and libdir variables,
like so:

make install libdir=~/Documents/Pd/extra prefix=~/Documents/Pd/extra/Gem/xtra

PREBUILT BINARIES

Linux

Chances are high, that Gem is already packaged for your distribution.

Just run

apt install gem

(or the equivalent).

Microsoft Windows

To install GEM on W32/W64 from pre-built binaries you have two options:

  1. installer (preferred method)
    use the installer executable to install Gem into ...\pd\extra
    (to build the installer you will have to have NSIS installed
    see build/win-nsis for details)

  2. deken (use Pd's Find externals feature)

    please note that the deken package comes with all plugins.
    in most cases, you won't need all of them, and having plugins
    installed that you don't need, will considerably slow down load
    time of patches and might leed to undesired side-effects.
    therefore, if loading is too slow (or you experience weird
    things), it might be a good idea to disable plugins you don't
    need.
    disabling plugins is as simple as deleting them (or moving them
    into a subfolder)

    plugins are files of the form: "gem_<type><name>.dll"
    e.g. "gem_filmQT.dll" is a plugin for reading films using the
    QuickTime framework.
    a number of plugins (e.g. videoPYLON, videoHALCON, videoAVT,
    videoNDI, videoDECKLINK,...) require proprietary libraries.
    you need to obtain and install these libraries yourself; if you
    haven't done so or don't own a device that can interact with those
    libraries, you can safely remove these plugins.
    if you have no clue what this is about, these plugins are most
    likely not for you (so remove them)</name></type>

Apple macOS-X

Use the deken package.

RUNNING

Just installing Gem is not enough !
You will have to tell Pd that it should load that library !!
You cannot create any Gem-objects without having loaded the Gem-library into Pd !!!

Typically, you will load Gem by putting a [declare -lib Gem] object into any patch that uses Gem.

Alternatively you could also add Gem to the libraries loaded at startup (via Pd's preference system),
or by starting Pd with the -lib Gem cmdline arguments.

Once you've successfully loaded Gem, you should see a kind of a splash screen on the Pd-console.

If loading fails, make sure you have the proper binary for you OS:
- windows: Gem.dll, Gem.m_i386, Gem.m_
- macOS-X: Gem.pd_darwin, Gem.d_fat, Gem.d_ppc, Gem.d_

- linux : Gem.pd_linux, Gem.l_i386, Gem.l_ia64, Gem.l_
- freeBSD: Gem.pd_freebsd, Gem.b_i386, Gem.b_

- irix : Gem.pd_irix
- ...

BUG-REPORTS:

Please do not hesitate to report any crashes, weirdnesses or other issues, using
our bugtracker at https://bugs.gem.iem.at
or the gem-dev mailinglist (subscription at http://lists.puredata.info)

If your mail only says "hey, it does not work !", it is an annoyance and no bug-report.
Please specify at least the following things:
- Operating-System (kernel-version,...)
- video-card, driver
- other hardware that is related to your problem (e.g.: camera)
- does your system work with similar applications (e.g.: capture-software, openGL (games, "glxgears"))
- what is the output of Pd when you start it with the "-verbose" flag
(e.g.:"pd -verbose -lib Gem")

Please do not use the puredata bugtracker for reporting Gem-specific bugs.

FINAL NOTES

have fun

zmoelnig@iem.at