Skip to content

milasudril/anja

Folders and files

NameName
Last commit message
Last commit date

Latest commit

f5fab57 · May 6, 2022
Mar 24, 2021
May 5, 2022
Mar 24, 2021
Mar 24, 2021
Apr 27, 2022
Jul 24, 2017
Jun 10, 2017
May 5, 2022
Jul 25, 2017
May 6, 2022
Jul 31, 2017
Jun 28, 2017
Jul 28, 2017
Jun 20, 2017
Jul 29, 2017
Aug 9, 2017
Jul 29, 2017
Jul 26, 2017
Jul 31, 2017
Jul 23, 2017
Aug 7, 2017
Aug 2, 2017
Aug 3, 2017
Aug 6, 2017
Jul 27, 2017
Aug 3, 2017
Aug 2, 2017
Jul 29, 2017
Jun 18, 2018
Jun 27, 2017
Sep 18, 2017
Jul 27, 2017
Jul 29, 2017
Jul 29, 2017
Aug 9, 2017
Jul 27, 2017
Jul 29, 2017
Jul 29, 2017
Aug 9, 2017
Jul 7, 2017
Jun 19, 2018
Jul 28, 2017
Jun 14, 2017
Aug 1, 2017

Repository files navigation

Anja med J -- A sample player for Jack

This is a live performance sample player/recorder for Jack. In contrast to Hydrogen, this features a virtual keyboard display as its main UI. Pre-recorded wave files can be associated to different keyboard keys, and the virtual keyboard display will show labels for mapped keys, making it easier to find the right sample during a live session. There is also a recording mode, so it is possible to record sound clips during a live session.

Dependencies

This is a list of all dependencies

Libraries

These libraries are required in order to run Anja

  • gtk+3
  • gtksourceview-3.0
  • jack
  • jemalloc
  • samplerate
  • sndfile

In addition to these libraries, Anja uses the PCG32 generator from Melissa O'Neill. Currently, her repository is kept as a git submodule. To process the command line, the ALICE library is used. This is also refered to by a submodule.

Tools

These tools are required in order to compile Anja. The list only includes tools that are not POSIX standard command line tools. For a more complete list, see https://milasudril.github.io/anja#deps.

  • Xvfb -- virtual X server
  • bash -- the Bourne-Again SHell
  • blender -- 3D modelling and rendering package
  • dot -- tool from the Graphviz package that draws directed graphs
  • g++ -- the GNU project C++ compiler
  • import -- command-line utility from ImageMagick that is for creating screenshots
  • inkscape -- SVG (Scalable Vector Graphics) editing program
  • maike -- Automated build tool. You must use version 0.15.9 or later. In case this tool is missing, the build script will download the latest release from https://github.com/milasudril/maike/. This step requires wget and the jq command-line JSON processor. maike itself requires libjansson to be installed
  • markdown -- converts markdown to (x)html
  • octave -- Package for numerical analysis. MATLAB should work, but it requires some changes to maikeconfig files.
  • ronn -- converts Markdown to troff
  • pkg-config -- return metainformation about installed libraries
  • python3 -- an interpreted, interactive, object-oriented programming language
  • xdotool -- tool for manipulating X clients
  • xelatex -- LaTeX and the XeTeX engine
  • xdpyinfo -- display information utility for X
  • xsltproc -- command-line XSLT processor

Other dependencies

Anja uses the font Linux Libertine in some of the SVG files. If this font is not installed, a serif substitude will be used instead.

Build instructions (Ubuntu or Debian based systems)

If maike is not installed, prepare for bootstrapping it

sudo apt-get install libjansson-dev jq wget

or install it from the following PPA

sudo add-apt-repository ppa:milasudril/maike
sudo apt-get update

the former is currently only available for xenial.

In any case, make sure you have access to the latest blender. Ubuntu users can use the following PPA:

It can be added through the commands

sudo add-apt-repository ppa:thomas-schiex/blender
sudo apt-get update

In addition to that, the KxStudio repositories may contain a more up-to-date version of JACK, as well as some other useful utilities. More information can be found here: http://kxstudio.linuxaudio.org/Repositories.

After adding this PPA, install all tools and libraries, and compile the program

sudo apt-get install jackd2 pkg-config libgtk-3-dev g++ blender inkscape \
    libjack-jackd2-dev libsndfile-dev libgtksourceview-3.0-dev python3 \
    libjemalloc-dev xvfb octave xdotool xsltproc libsamplerate0-dev \
    graphviz imagemagick ruby-ronn
make

After compling Anja, you can test it by using the command

./anja

If you like to generate a deb package, you can run

make deb

This requires the presence of the debuild command.