ardour
Classes | Functions | Variables
linux_vst_gui_support.cc File Reference
#include <stdlib.h>
#include <stdio.h>
#include <libgen.h>
#include <assert.h>
#include <pthread.h>
#include <signal.h>
#include <glib.h>
#include <glibmm/timer.h>
#include "ardour/linux_vst_support.h"
#include <X11/X.h>
#include <X11/Xlib.h>
#include <dlfcn.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/time.h>

Go to the source code of this file.

Classes

struct  ERect
 

Functions

int TempErrorHandler (Display *display, XErrorEvent *e)
 
static void dispatch_x_events (XEvent *event, VSTState *vstfx)
 
static void maybe_set_program (VSTState *vstfx)
 
void * gui_event_loop (void *ptr)
 
int vstfx_init (void *ptr)
 
void vstfx_exit ()
 
int vstfx_run_editor (VSTState *vstfx)
 
int vstfx_create_editor (VSTState *vstfx)
 
int vstfx_launch_editor (VSTState *vstfx)
 
void vstfx_destroy_editor (VSTState *vstfx)
 
void vstfx_event_loop_remove_plugin (VSTState *vstfx)
 

Variables

static pthread_mutex_t plugin_mutex
 
static VSTStatevstfx_first = NULL
 
const char magic [] = "VSTFX Plugin State v002"
 
int gui_thread_id = 0
 
static int gui_quit = 0
 
Display * LXVST_XDisplay = NULL
 
pthread_t LXVST_gui_event_thread
 
bool LXVST_xerror
 

Function Documentation

static void dispatch_x_events ( XEvent *  event,
VSTState vstfx 
)
static

Definition at line 178 of file linux_vst_gui_support.cc.

void* gui_event_loop ( void *  ptr)

This is the main gui event loop for the plugin, we also need to pass any Xevents to all the UI callbacks plugins 'may' have registered on their windows, that is if they don't manage their own UIs

Definition at line 333 of file linux_vst_gui_support.cc.

static void maybe_set_program ( VSTState vstfx)
static

Definition at line 307 of file linux_vst_gui_support.cc.

int TempErrorHandler ( Display *  display,
XErrorEvent *  e 
)

Definition at line 74 of file linux_vst_gui_support.cc.

int vstfx_create_editor ( VSTState vstfx)

Definition at line 591 of file linux_vst_gui_support.cc.

void vstfx_destroy_editor ( VSTState vstfx)

Destroy the editor window

Definition at line 741 of file linux_vst_gui_support.cc.

void vstfx_event_loop_remove_plugin ( VSTState vstfx)

Remove a vstfx instance from the linked list parsed by the event loop

Definition at line 755 of file linux_vst_gui_support.cc.

void vstfx_exit ( )

Definition at line 535 of file linux_vst_gui_support.cc.

int vstfx_init ( void *  ptr)

Definition at line 478 of file linux_vst_gui_support.cc.

int vstfx_launch_editor ( VSTState vstfx)

Definition at line 669 of file linux_vst_gui_support.cc.

int vstfx_run_editor ( VSTState vstfx)

Definition at line 547 of file linux_vst_gui_support.cc.

Variable Documentation

int gui_quit = 0
static

Definition at line 60 of file linux_vst_gui_support.cc.

int gui_thread_id = 0

Definition at line 59 of file linux_vst_gui_support.cc.

pthread_t LXVST_gui_event_thread

Definition at line 68 of file linux_vst_gui_support.cc.

Display* LXVST_XDisplay = NULL

Definition at line 64 of file linux_vst_gui_support.cc.

bool LXVST_xerror

Definition at line 72 of file linux_vst_gui_support.cc.

const char magic[] = "VSTFX Plugin State v002"

Definition at line 57 of file linux_vst_gui_support.cc.

pthread_mutex_t plugin_mutex
static

Definition at line 53 of file linux_vst_gui_support.cc.

VSTState* vstfx_first = NULL
static

Definition at line 55 of file linux_vst_gui_support.cc.