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

◆ CLIP_SELECT

#define CLIP_SELECT   2

◆ DISABLE_EFFECT_KEY

#define DISABLE_EFFECT_KEY   16

◆ ENABLE_EFFECT_KEY

#define ENABLE_EFFECT_KEY   15

◆ LIVES_DEVICEMAPS_DIR

#define LIVES_DEVICEMAPS_DIR   "devicemaps"

◆ N_OMC_MACROS

#define N_OMC_MACROS   64

max number of macros

◆ NEXT_CLIP_SELECT

#define NEXT_CLIP_SELECT   19

◆ NEXT_MODE_CYCLE

#define NEXT_MODE_CYCLE   23

◆ OMC_FILE_VSTRING

#define OMC_FILE_VSTRING   "LiVES OMC map version 1.1"

◆ OMC_FILE_VSTRING_1_0

#define OMC_FILE_VSTRING_1_0   "LiVES OMC map version 1.0"

◆ OMC_FP_FIX

#define OMC_FP_FIX   4

floating point precision

◆ OMC_INTERNAL

#define OMC_INTERNAL   0

◆ OMC_JS

#define OMC_JS   1

◆ OMC_JS_AXIS

#define OMC_JS_AXIS   2

◆ OMC_JS_BUTTON

#define OMC_JS_BUTTON   3

◆ OMC_MIDI

#define OMC_MIDI   128

◆ OMC_MIDI_CONTROLLER

#define OMC_MIDI_CONTROLLER   131

◆ OMC_MIDI_IMPL

#define OMC_MIDI_IMPL

◆ OMC_MIDI_NOTE

#define OMC_MIDI_NOTE   129

◆ OMC_MIDI_NOTE_OFF

#define OMC_MIDI_NOTE_OFF   130

◆ OMC_MIDI_PGM_CHANGE

#define OMC_MIDI_PGM_CHANGE   133

◆ OMC_MIDI_PITCH_BEND

#define OMC_MIDI_PITCH_BEND   132

◆ OMC_PARAM_DOUBLE

#define OMC_PARAM_DOUBLE   2

◆ OMC_PARAM_INT

#define OMC_PARAM_INT   1

◆ OMC_PARAM_SPECIAL

#define OMC_PARAM_SPECIAL   128

can be int or double, depending on effect type

◆ OSC_BUF_SIZE

#define OSC_BUF_SIZE   1024

◆ OSC_MAX_TYPETAGS

#define OSC_MAX_TYPETAGS   64

◆ OSC_NOTIFY

#define OSC_NOTIFY   26

◆ PLAY_BACKWARDS

#define PLAY_BACKWARDS   4

◆ PLAY_FASTER

#define PLAY_FASTER   6

◆ PLAY_FORWARDS

#define PLAY_FORWARDS   3

◆ PLAY_SLOWER

#define PLAY_SLOWER   7

◆ PREV_CLIP_SELECT

#define PREV_CLIP_SELECT   20

◆ PREV_MODE_CYCLE

#define PREV_MODE_CYCLE   24

◆ RESET_EFFECT_KEYS

#define RESET_EFFECT_KEYS   14

◆ RETRIGGER_CLIP

#define RETRIGGER_CLIP   22

◆ REVERSE_PLAYBACK

#define REVERSE_PLAYBACK   5

◆ SET_FPS_RATIO

#define SET_FPS_RATIO   21

◆ SET_FRAMERATE

#define SET_FRAMERATE   9

◆ SET_PARAMETER_VALUE

#define SET_PARAMETER_VALUE   18

◆ SET_VPP_PARAMETER_VALUE

#define SET_VPP_PARAMETER_VALUE   25

◆ START_PLAYBACK

#define START_PLAYBACK   0

◆ START_RECORDING

#define START_RECORDING   10

◆ STOP_PLAYBACK

#define STOP_PLAYBACK   1

◆ STOP_RECORDING

#define STOP_RECORDING   11

◆ SWAP_FOREGROUND_BACKGROUND

#define SWAP_FOREGROUND_BACKGROUND   13

◆ TOGGLE_EFFECT_KEY

#define TOGGLE_EFFECT_KEY   17

◆ TOGGLE_FREEZE

#define TOGGLE_FREEZE   8

◆ TOGGLE_RECORDING

#define TOGGLE_RECORDING   12

◆ UNMATCHED

#define UNMATCHED   -1

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TITLE_COLUMN 
VALUE_COLUMN 
FILTER_COLUMN 
RANGE_COLUMN 
OFFS1_COLUMN 
SCALE_COLUMN 
OFFS2_COLUMN 
OMC_NUM_COLUMNS 

◆ anonymous enum

anonymous enum
Enumerator
TITLE2_COLUMN 
VALUE2_COLUMN 
ADJUSTMENT 
OMC_NUM2_COLUMNS 

Function Documentation

◆ create_devicemap_directory()

void create_devicemap_directory ( void  )

◆ get_midi_filename()

const char* get_midi_filename ( void  )

◆ get_omc_macro()

const lives_omc_macro_t* get_omc_macro ( int  idx)

◆ has_devicemap()

boolean has_devicemap ( int  has_this_macro)

◆ midi_close()

void midi_close ( void  )

◆ midi_mangle()

char* midi_mangle ( void  )

◆ midi_open()

boolean midi_open ( void  )

◆ omc_learner_decode()

OSCbuf* omc_learner_decode ( int  type,
int  index,
const char *  string 
)

decode learnt behaviours

◆ omc_process_string()

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

◆ on_devicemap_load_activate()

void on_devicemap_load_activate ( LiVESMenuItem *  ,
livespointer   
)

◆ on_devicemap_save_activate()

void on_devicemap_save_activate ( LiVESMenuItem *  ,
livespointer   
)

◆ on_midi_learn_activate()

void on_midi_learn_activate ( LiVESMenuItem *  ,
livespointer   
)

start learning MIDI inputs