LiVES  3.0.2
Data Structures | Macros | Enumerations | Functions
omc-learn.h File Reference
#include "osc.h"

Go to the source code of this file.

Data Structures

struct  lives_omc_macro_t
 
struct  lives_omc_match_node_t
 
struct  omclearn_w
 

Macros

#define N_OMC_MACROS   64
 
#define OMC_FP_FIX   4
 
#define OMC_MIDI_IMPL
 
#define UNMATCHED   -1
 
#define START_PLAYBACK   0
 
#define STOP_PLAYBACK   1
 
#define CLIP_SELECT   2
 
#define PLAY_FORWARDS   3
 
#define PLAY_BACKWARDS   4
 
#define REVERSE_PLAYBACK   5
 
#define PLAY_FASTER   6
 
#define PLAY_SLOWER   7
 
#define TOGGLE_FREEZE   8
 
#define SET_FRAMERATE   9
 
#define START_RECORDING   10
 
#define STOP_RECORDING   11
 
#define TOGGLE_RECORDING   12
 
#define SWAP_FOREGROUND_BACKGROUND   13
 
#define RESET_EFFECT_KEYS   14
 
#define ENABLE_EFFECT_KEY   15
 
#define DISABLE_EFFECT_KEY   16
 
#define TOGGLE_EFFECT_KEY   17
 
#define SET_PARAMETER_VALUE   18
 
#define NEXT_CLIP_SELECT   19
 
#define PREV_CLIP_SELECT   20
 
#define SET_FPS_RATIO   21
 
#define RETRIGGER_CLIP   22
 
#define NEXT_MODE_CYCLE   23
 
#define PREV_MODE_CYCLE   24
 
#define SET_VPP_PARAMETER_VALUE   25
 
#define OSC_NOTIFY   26
 
#define OMC_PARAM_INT   1
 
#define OMC_PARAM_DOUBLE   2
 
#define OMC_PARAM_SPECIAL   128
 can be int or double, depending on effect type More...
 
#define OMC_INTERNAL   0
 
#define OMC_JS   1
 
#define OMC_JS_AXIS   2
 
#define OMC_JS_BUTTON   3
 
#define OMC_MIDI   128
 
#define OMC_MIDI_NOTE   129
 
#define OMC_MIDI_NOTE_OFF   130
 
#define OMC_MIDI_CONTROLLER   131
 
#define OMC_MIDI_PITCH_BEND   132
 
#define OMC_MIDI_PGM_CHANGE   133
 
#define OMC_FILE_VSTRING   "LiVES OMC map version 1.1"
 
#define OMC_FILE_VSTRING_1_0   "LiVES OMC map version 1.0"
 
#define LIVES_DEVICEMAPS_DIR   "devicemaps"
 
#define OSC_BUF_SIZE   1024
 
#define OSC_MAX_TYPETAGS   64
 

Enumerations

enum  {
  TITLE_COLUMN, VALUE_COLUMN, FILTER_COLUMN, RANGE_COLUMN,
  OFFS1_COLUMN, SCALE_COLUMN, OFFS2_COLUMN, OMC_NUM_COLUMNS
}
 
enum  { TITLE2_COLUMN, VALUE2_COLUMN, ADJUSTMENT, OMC_NUM2_COLUMNS }
 

Functions

char * midi_mangle (void)
 
const char * get_midi_filename (void)
 
boolean midi_open (void)
 
void midi_close (void)
 
const lives_omc_macro_tget_omc_macro (int idx)
 
void on_midi_learn_activate (LiVESMenuItem *, livespointer)
 start learning MIDI inputs More...
 
boolean omc_process_string (int supertype, const char *string, boolean learn, omclearn_w *omclw)
 
boolean has_devicemap (int has_this_macro)
 
void create_devicemap_directory (void)
 
void on_devicemap_save_activate (LiVESMenuItem *, livespointer)
 
void on_devicemap_load_activate (LiVESMenuItem *, livespointer)
 
OSCbuf * omc_learner_decode (int type, int index, const char *string)
 decode learnt behaviours More...
 

Macro Definition Documentation

#define CLIP_SELECT   2
#define DISABLE_EFFECT_KEY   16
#define ENABLE_EFFECT_KEY   15
#define LIVES_DEVICEMAPS_DIR   "devicemaps"
#define N_OMC_MACROS   64

max number of macros

#define NEXT_CLIP_SELECT   19
#define NEXT_MODE_CYCLE   23
#define OMC_FILE_VSTRING   "LiVES OMC map version 1.1"
#define OMC_FILE_VSTRING_1_0   "LiVES OMC map version 1.0"
#define OMC_FP_FIX   4

floating point precision

#define OMC_INTERNAL   0
#define OMC_JS   1
#define OMC_JS_AXIS   2
#define OMC_JS_BUTTON   3
#define OMC_MIDI   128
#define OMC_MIDI_CONTROLLER   131
#define OMC_MIDI_IMPL
#define OMC_MIDI_NOTE   129
#define OMC_MIDI_NOTE_OFF   130
#define OMC_MIDI_PGM_CHANGE   133
#define OMC_MIDI_PITCH_BEND   132
#define OMC_PARAM_DOUBLE   2
#define OMC_PARAM_INT   1
#define OMC_PARAM_SPECIAL   128

can be int or double, depending on effect type

#define OSC_BUF_SIZE   1024
#define OSC_MAX_TYPETAGS   64
#define OSC_NOTIFY   26
#define PLAY_BACKWARDS   4
#define PLAY_FASTER   6
#define PLAY_FORWARDS   3
#define PLAY_SLOWER   7
#define PREV_CLIP_SELECT   20
#define PREV_MODE_CYCLE   24
#define RESET_EFFECT_KEYS   14
#define RETRIGGER_CLIP   22
#define REVERSE_PLAYBACK   5
#define SET_FPS_RATIO   21
#define SET_FRAMERATE   9
#define SET_PARAMETER_VALUE   18
#define SET_VPP_PARAMETER_VALUE   25
#define START_PLAYBACK   0
#define START_RECORDING   10
#define STOP_PLAYBACK   1
#define STOP_RECORDING   11
#define SWAP_FOREGROUND_BACKGROUND   13
#define TOGGLE_EFFECT_KEY   17
#define TOGGLE_FREEZE   8
#define TOGGLE_RECORDING   12
#define UNMATCHED   -1

Enumeration Type Documentation

anonymous enum
Enumerator
TITLE_COLUMN 
VALUE_COLUMN 
FILTER_COLUMN 
RANGE_COLUMN 
OFFS1_COLUMN 
SCALE_COLUMN 
OFFS2_COLUMN 
OMC_NUM_COLUMNS 
anonymous enum
Enumerator
TITLE2_COLUMN 
VALUE2_COLUMN 
ADJUSTMENT 
OMC_NUM2_COLUMNS 

Function Documentation

void create_devicemap_directory ( void  )
const char* get_midi_filename ( void  )
const lives_omc_macro_t* get_omc_macro ( int  idx)
boolean has_devicemap ( int  has_this_macro)
void midi_close ( void  )
char* midi_mangle ( void  )
boolean midi_open ( void  )
OSCbuf* omc_learner_decode ( int  type,
int  index,
const char *  string 
)

decode learnt behaviours

boolean omc_process_string ( int  supertype,
const char *  string,
boolean  learn,
omclearn_w omclw 
)

process a string (i.e. convert to an OSC message and pass to OSC subsys) only need to set omclw if learn is TRUE

void on_devicemap_load_activate ( LiVESMenuItem *  ,
livespointer   
)
void on_devicemap_save_activate ( LiVESMenuItem *  ,
livespointer   
)
void on_midi_learn_activate ( LiVESMenuItem *  ,
livespointer   
)

start learning MIDI inputs