Ingen

Ingen (formerly Om) is a modular audio processing system for GNU/Linux audio systems using the Jack audio server and LV2 or LADSPA plugins.

Ingen is built around LV2 technology and a strict separation of engine from user interface. The engine is controlled exclusively through a protocol, and can execute as a headless process, with an in-process GUI, or as an LV2 plugin. The GUI can run as a program which communicates over a TCP/IP socket, or as an embeddable LV2 GUI which communicates via LV2 ports. The protocol uses the same Turtle syntax and vocabulary as saved files, though others are possible.

Any saved Ingen graph can be loaded as an LV2 plugin on any system where Ingen is installed. This allows users to visually develop custom plugins for use in other applications without programming.

Screenshots

An Ingen synthesizer shown with horizontal signal flow.

An Ingen synthesizer shown with vertical signal flow.

Download

Ingen is currently only available in SVN. Since it requires a few libraries in the same repository, it is easiest to:

svn co http://svn.drobilla.net/lad/trunk drobillad

Either build lilv, suil, raul, and ganv first, then ingen; or simply build the entire repository (in addition to Ingen, you’ll get Patchage and Machina). You will require a recent version of LV2.

Please support Ingen development:

Documentation

See the Ingen wiki page for user oriented information.

Community

16 thoughts on “Ingen

  1. Pingback: Ingen as remote server or LV2 plugin | drobilla.net

  2. Pingback: Reviving Machina | drobilla.net

  3. Pingback: Better stock LV2 plugin UIs | drobilla.net

  4. Pingback: Ingen as LV2 in Ardour | drobilla.net

  5. Pingback: Interactive force-directed graph layout in Ingen | drobilla.net

  6. Hey!
    amazing software. I’ve just got a problem loadinjg a graph as lv2. Ardour just crashed, Qtractor could load the graph but with no graph inside and crashed.. jalv says “no appropriate ui found” and carla said “Could not find the LV2 Descriptor in the plugin library”. what is exactly the problem and how an I solve it?
    thanks in advance

    i’m using ingen 0.5.1 on a linuxmint/kxstudio based on ubuntu 12.04 lts.
    all the best

    vince

  7. Hi, thanks for making this– I’m excited to see what I can do with it once I get going!

    Don’t know if this is a bug or not: I noticed in your video tutorials that you had your plugins organized by category. In my Ingen, I only have one folder which says “Uncategorized”.

    Also, I’m not certain what everything does in the “Properties” window.

    Thanks again!

  8. I’m trying to install Ingen but the installer is telling me that it needs a version of lv2 >= 1.11.0
    As far as I can tell, the most recent version (and the one I’ve installed) is 1.10.0

    Have I missed something?

    Thanks,
    Peter

    • Ingen is sometimes developed in conjunction with LV2, and ends up depending on things currently only in LV2 git. Right now is one of those times.

      So, get LV2 from git, or wait for the next LV2 release which will be out shortly.

      • Thanks!
        I’m trying to build from git and get the message below at the ./waf stage.

        Waf: Leaving directory `/home/peter/drobillad/build’
        Build failed
        -> task in ‘patchage’ failed (exit status 1):
        {task 3067658060L: cxx JackDriver.cpp -> JackDriver.cpp.1.o}
        [‘/usr/bin/g++’, ‘-iquote /home/peter/drobillad/machina’, ‘-iquote /home/peter/drobillad/ingen’, ‘-iquote /home/peter/drobillad/suil’, ‘-iquote /home/peter/drobillad/raul’, ‘-iquote /home/peter/drobillad/lilv’, ‘-iquote /home/peter/drobillad/ganv’, ‘-iquote /home/peter/drobillad/sratom’, ‘-iquote /home/peter/drobillad/sord’, ‘-iquote /home/peter/drobillad/serd’, ‘-I/home/peter/drobillad’, ‘-DNDEBUG’, ‘-fshow-column’, ‘-I/home/peter/drobillad/raul’, ‘-std=c++0x’,
        ——
        snip

          • Everything went fine up until this point:

            [ 82/638] Compiling ingen/src/Configuration.cpp
            ../patchage/src/JackDriver.cpp:181:14: error: ‘jack_uuid_t’ was not declared in this scope
            get_property(jack_uuid_t subject, const char* key)
            ^
            ../patchage/src/JackDriver.cpp:181:35: error: expected primary-expression before ‘const’
            get_property(jack_uuid_t subject, const char* key)
            ^
            ../patchage/src/JackDriver.cpp:182:1: error: expected ‘,’ or ‘;’ before ‘{’ token
            {
            ^
            ../patchage/src/JackDriver.cpp: In member function ‘PatchagePort* JackDriver::create_port(PatchageModule&, jack_port_t*, PortID)’:
            ../patchage/src/JackDriver.cpp:205:8: error: ‘jack_uuid_t’ does not name a type
            const jack_uuid_t uuid = jack_port_uuid(port);
            ^
            ../patchage/src/JackDriver.cpp:206:48: error: ‘uuid’ was not declared in this scope
            const std::string label = get_property(uuid, JACK_METADATA_PRETTY_NAME);
            ^
            ../patchage/src/JackDriver.cpp:206:54: error: ‘JACK_METADATA_PRETTY_NAME’ was not declared in this scope
            const std::string label = get_property(uuid, JACK_METADATA_PRETTY_NAME);
            ^
            ../patchage/src/JackDriver.cpp:207:54: error: ‘JACKEY_ORDER’ was not declared in this scope
            const std::string order_str = get_property(uuid, JACKEY_ORDER);
            ^
            ../patchage/src/JackDriver.cpp:216:26: error: ‘JACKEY_SIGNAL_TYPE’ was not declared in this scope
            if (get_property(uuid, JACKEY_SIGNAL_TYPE) == “CV”) {
            ^
            ../patchage/src/JackDriver.cpp:221:26: error: ‘JACKEY_EVENT_TYPES’ was not declared in this scope
            if (get_property(uuid, JACKEY_EVENT_TYPES) == “OSC”) {
            ^

            Waf: Leaving directory `/home/peter/drobillad/build’
            Build failed
            -> task in ‘patchage’ failed (exit status 1):
            {task 3066978348L: cxx JackDriver.cpp -> JackDriver.cpp.1.o}
            ['/usr/bin/g++', '-iquote /home/peter/drobillad/machina', '-iquote /home/peter/drobillad/ingen', '-iquote /home/peter/drobillad/suil', '-iquote /home/peter/drobillad/raul', '-iquote /home/peter/drobillad/lilv', '-iquote /home/peter/drobillad/ganv', '-iquote /home/peter/drobillad/sratom', '-iquote /home/peter/drobillad/sord', '-iquote /home/peter/drobillad/serd', '-I/home/peter/drobillad', '-DNDEBUG', '-fshow-column', '-I/home/peter/drobillad/raul', '-std=c++0x', '-pthread', '-pthread', '-pthread', '-pthread', '-I/home/peter/drobillad/build/patchage', '-I/home/peter/drobillad/patchage', '-I/home/peter/drobillad/build/patchage/src', '-I/home/peter/drobillad/patchage/src', '-I/home/peter/drobillad/build/ganv', '-I/home/peter/drobillad/ganv', '-I/usr/include/dbus-1.0', '-I/usr/lib/i386-linux-gnu/dbus-1.0/include', '-I/usr/include/gtkmm-2.4', '-I/usr/lib/i386-linux-gnu/gtkmm-2.4/include', '-I/usr/include/atkmm-1.6', '-I/usr/include/giomm-2.4', '-I/usr/lib/i386-linux-gnu/giomm-2.4/include', '-I/usr/include/pangomm-1.4', '-I/usr/lib/i386-linux-gnu/pangomm-1.4/include', '-I/usr/include/gtk-2.0', '-I/usr/include/gtk-unix-print-2.0', '-I/usr/include/gdkmm-2.4', '-I/usr/lib/i386-linux-gnu/gdkmm-2.4/include', '-I/usr/include/atk-1.0', '-I/usr/include/glibmm-2.4', '-I/usr/lib/i386-linux-gnu/glibmm-2.4/include', '-I/usr/include/glib-2.0', '-I/usr/lib/i386-linux-gnu/glib-2.0/include', '-I/usr/include/sigc++-2.0', '-I/usr/lib/i386-linux-gnu/sigc++-2.0/include', '-I/usr/include/cairomm-1.0', '-I/usr/lib/i386-linux-gnu/cairomm-1.0/include', '-I/usr/include/pango-1.0', '-I/usr/include/cairo', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/lib/i386-linux-gnu/gtk-2.0/include', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/harfbuzz', '-I/usr/include/alsa', '-I/home/peter/drobillad/build', '-DHAVE_POSIX_FADVISE=1', '-DSERD_VERSION="0.21.1"', '-DHAVE_SERD=1', '-DSORD_VERSION="0.13.0"', '-DHAVE_SORD=1', '-DSRATOM_VERSION="0.4.7"', '-DHAVE_SRATOM=1', '-DHAVE_LIBDL=1', '-DSUIL_VERSION="0.8.3"', '-DSUIL_MODULE_DIR="/usr/local/lib/suil-0"', '-DSUIL_DIR_SEP="/"', '-DSUIL_GTK2_LIB_NAME="libgtk-x11-2.0.so.0"', '-DSUIL_MODULE_PREFIX="lib"', '-DSUIL_MODULE_EXT=".so"', '-DHAVE_SUIL=1', '-DHAVE_FLOCK=1', '-DHAVE_FILENO=1', '-DHAVE_CLOCK_GETTIME=1', '-DLILV_VERSION="0.21.3"', '-DLILV_PATH_SEP=":"', '-DLILV_DIR_SEP="/"', '-DHAVE_LILV=1', '-DHAVE_MEMORY=1', '-DHAVE_ATOMIC=1', '-DRAUL_VERSION="0.8.6"', '-DHAVE_RAUL=1', '-DGANV_FDGL=1', '-DHAVE_GANV=1', '-DHAVE_DLADDR=1', '-DPATCHAGE_LIBJACK=1', '-DPATCHAGE_BINLOC=1', '-DPATCHAGE_DATA_DIR="/usr/local/share/patchage"', '-DHAVE_PATCHAGE=1', '-DHAVE_BOOST_FORMAT_HPP=1', '-DHAVE_BOOST_SHARED_PTR_HPP=1', '-DHAVE_BOOST_UTILITY_HPP=1', '-DHAVE_BOOST_WEAK_PTR_HPP=1', '-DHAVE_SOCKET=1', '-DPYTHONDIR="/usr/lib/python2.7/dist-packages"', '-DPYTHONARCHDIR="/usr/lib/python2.7/dist-packages"', '-DINGEN_JACK_SESSION=1', '-DINGEN_SHARED=1', '-DINGEN_VERSION="0.5.1"', '-DINGEN_BUILD_CLIENT=1', '-DINGEN_BUILD_GUI=1', '-DHAVE_JACK_MIDI=1', '-DINGEN_DATA_DIR="/usr/local/share/ingen"', '-DINGEN_MODULE_DIR="/usr/local/lib"', '-DINGEN_BUNDLE_DIR="/usr/local/lib/lv2/ingen.lv2"', '-DHAVE_INGEN=1', '-DHAVE_JACK_PORT_TYPE_GET_BUFFER_SIZE=1', '-DJALV_JACK_SESSION=1', '-DJALV_VERSION="1.4.7"', '-DHAVE_JALV=1', '-DHAVE_POSIX_MEMALIGN=1', '-DMACHINA_BUILD_GUI=1', '-DMACHINA_PPQN=19200', '-DMACHINA_VERSION="0.5.0"', '-DMACHINA_DATA_DIR="/usr/local/share/machina"', '-DHAVE_MACHINA=1', '-DHAVE_PLUGINS_FLOAT_LV2=1', '-DHAVE_PLUGINS_MDA_LV2=1', '-DHAVE_SINF=1', '-DBLOP_SHLIB_EXT=".so"', '-DHAVE_PLUGINS_BLOP_LV2=1', '-DHAVE_PLUGINS_FOMP_LV2=1', '-DHAVE_PLUGINS_OMINS_LV2=1', '-DHAVE_GL_GLU_H=1', '-DHAVE_PLUGINS_GLAMP_LV2=1', '-DHAVE_PLUGINS_MESP_LV2=1', '-DHAVE_DBUS=1', '-DHAVE_GTKMM=1', '-DHAVE_GTHREAD=1', '-DHAVE_JACK=1', '-DHAVE_ALSA=1', '../patchage/src/JackDriver.cpp', '-c', '-o', '/home/peter/drobillad/build/patchage/src/JackDriver.cpp.1.o']

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>