LiVES  2.4.1-svn
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Structures | Macros | Enumerations | Variables
mainwindow.h File Reference
#include <pthread.h>
#include "effects-data.h"
#include "audio.h"

Go to the source code of this file.

Data Structures

struct  _palette
 set in set_palette_colours() More...
 
struct  lives_mgeometry_t
 screen details More...
 
struct  lives_rect_t
 
struct  lives_screen_area_t
 
struct  mainwindow
 mainw-> More...
 
struct  _merge_opts
 

Macros

#define U_SEC   100000000.
 
#define U_SECL   (int64_t)100000000
 
#define U_SEC_RATIO   (U_SECL/1000000)
 how many U_SECs (ticks) in a microsecond [default 100] More...
 
#define V_RESIZE_ADJUST   ((W_PACKING_WIDTH+2)*3)
 
#define H_RESIZE_ADJUST   ((W_PACKING_HEIGHT+2)*2)
 
#define CE_FRAME_HSPACE   ((int)(420.*widget_opts.scale))
 
#define MIN_SEPWIN_WIDTH   600
 
#define MIN_SEPWIN_HEIGHT   36
 
#define SCR_HEIGHT_SAFETY   ((int)(100.*widget_opts.scale))
 sepwin/screen size safety margins in pixels More...
 
#define SCR_WIDTH_SAFETY   ((int)(100.*widget_opts.scale))
 
#define DEF_GEN_WIDTH   640
 default size for generators More...
 
#define DEF_GEN_HEIGHT   480
 
#define PREVIEW_BOX_HT   ((int)(100.*widget_opts.scale))
 height of preview widgets in sepwin More...
 
#define MSG_AREA_HEIGHT   ((int)(50.*widget_opts.scale))
 height of msg area More...
 
#define CE_HRULE_HEIGHT   ((int)(20.*widget_opts.scale))
 clip editor hrule height More...
 
#define CE_VIDBAR_HEIGHT   ((int)(10.*widget_opts.scale))
 clip edit vid/aud bar height More...
 
#define DEFAULT_FRAME_HSIZE   320
 
#define DEFAULT_FRAME_VSIZE   200
 
#define MAIN_SPIN_SPACER   ((int)52.*widget_opts.scale)
 pixel spacing for start/end spins for clip and multitrack editors More...
 
#define PROCW_STRETCHER   " "
 blank label to show so our message dialogs are not too small More...
 
#define ENC_DETAILS_WIN_H   ((int)(600.*widget_opts.scale))
 horizontal size in pixels of the encoder output window More...
 
#define ENC_DETAILS_WIN_V   ((int)(200.*widget_opts.scale))
 vertical size in pixels of the encoder output window More...
 
#define MIN_MSG_WIDTH_CHARS   ((int)(40.*widget_opts.scale))
 min width of text on warning/error labels More...
 
#define MAX_MSG_WIDTH_CHARS   ((int)(100.*widget_opts.scale))
 max width of text on warning/error labels More...
 
#define RFX_WINSIZE_H   ((int)(mainw->scr_width>1024?(820.*widget_opts.scale):600))
 size of the fx dialog windows scrollwindow More...
 
#define RFX_WINSIZE_V   ((int)(480.*widget_opts.scale))
 
#define RFX_TEXT_SCROLL_HEIGHT   ((int)(80.*widget_opts.scale))
 height of textview scrolled window More...
 
#define DEF_BUTTON_WIDTH   ((int)(80.*widget_opts.scale))
 
#define DEF_DIALOG_WIDTH   640
 
#define DEF_DIALOG_HEIGHT   480
 
#define FN_KEYS   12
 number of function keys More...
 
#define FX_KEYS_PHYSICAL   9
 FX keys, 1 - 9 normally. More...
 
#define FX_KEYS_MAX_VIRTUAL   64
 
#define FX_KEYS_MAX   65536
 the rest of the keys are accessible through the multitrack renderer (must, be > FX_KEYS_MAX_VIRTUAL) More...
 
#define EFFECT_NONE   0
 
#define GU641   ((uint64_t)1)
 
#define MAX_FX_THREADS   65536
 
#define LIVES_DCLICK_TIME   400
 double click time (milliseconds) More...
 
#define MAX_EXT_CNTL   2
 max ext_cntl + 1 More...
 
#define STYLE_PLAIN   0
 no theme (theme 'none') More...
 
#define STYLE_1   1<<0
 turn on theming if set More...
 
#define STYLE_2   1<<1
 colour the spinbuttons on the front page if set More...
 
#define STYLE_3   1<<2
 style is lightish - allow themeing of widgets with dark text, otherwise use menu bg More...
 
#define STYLE_4   1<<3
 coloured bg for poly window in mt More...
 
#define STYLE_5   1<<4
 drop down menu text col. in mt More...
 
#define STYLE_6   1<<4
 separator col. in mt More...
 
#define RFX_TOOL_MENU_POSN   2
 where do we add the builtin tools in the tools menu More...
 
#define SEL_MOVE_START   1
 which bar should we move ? More...
 
#define SEL_MOVE_END   2
 
#define SEL_MOVE_AUTO   3
 
#define SEL_MOVE_SINGLE   4
 
#define PREFS_THEME_CHANGED   (1<<0)
 
#define PREFS_JACK_CHANGED   (1<<1)
 
#define PREFS_TEMPDIR_CHANGED   (1<<2)
 
#define SCRATCH_NONE   0
 
#define SCRATCH_BACK   -1
 
#define SCRATCH_FWD   1
 
#define SCRATCH_JUMP   2
 
#define PRV_FREE   0
 
#define PRV_START   1
 
#define PRV_END   2
 
#define PRV_PTR   3
 
#define LIVES_MAX_ALARMS   1024
 
#define LIVES_NO_ALARM_TICKS   -1
 
#define SCREEN_AREA_NONE   -1
 
#define SCREEN_AREA_FOREGROUND   0
 
#define SCREEN_AREA_BACKGROUND   1
 
#define SCREEN_AREA_USER_DEFINED1   2
 
#define LIVES_SIGKILL   SIGKILL
 
#define LIVES_SIGINT   SIGINT
 
#define LIVES_SIGPIPE   SIGPIPE
 
#define LIVES_SIGUSR1   SIGUSR1
 
#define LIVES_SIGABRT   SIGABRT
 
#define LIVES_SIGSEGV   SIGSEGV
 
#define LIVES_SIGHUP   SIGHUP
 
#define LIVES_SIGTERM   SIGTERM
 
#define LIVES_SIGQUIT   SIGQUIT
 

Enumerations

enum  lives_ext_cntl_t { EXT_CNTL_NONE =-1, EXT_CNTL_JS =0, EXT_CNTL_MIDI =1 }
 external control types More...
 
enum  lives_time_source_t { LIVES_TIME_SOURCE_NONE =0, LIVES_TIME_SOURCE_SYSTEM, LIVES_TIME_SOURCE_SOUNDCARD, LIVES_TIME_SOURCE_EXTERNAL }
 timebase sources More...
 
enum  lives_toy_t { LIVES_TOY_NONE =0, LIVES_TOY_MAD_FRAMES, LIVES_TOY_TV, LIVES_TOY_AUTOLIVES }
 
enum  lives_dialog_t {
  LIVES_DIALOG_INFO, LIVES_DIALOG_ERROR, LIVES_DIALOG_WARN, LIVES_DIALOG_WARN_WITH_CANCEL,
  LIVES_DIALOG_YESNO, LIVES_DIALOG_ABORT_CANCEL_RETRY
}
 
enum  lives_render_error_t {
  LIVES_RENDER_ERROR_NONE =0, LIVES_RENDER_READY, LIVES_RENDER_PROCESSING, LIVES_RENDER_EFFECTS_PAUSED,
  LIVES_RENDER_COMPLETE, LIVES_RENDER_WARNING, LIVES_RENDER_WARNING_READ_FRAME, LIVES_RENDER_ERROR,
  LIVES_RENDER_ERROR_READ_AUDIO, LIVES_RENDER_ERROR_WRITE_AUDIO, LIVES_RENDER_ERROR_WRITE_FRAME
}
 various return conditions from rendering (multitrack or after recording) More...
 
enum  lives_storage_status_t {
  LIVES_STORAGE_STATUS_UNKNOWN =0, LIVES_STORAGE_STATUS_NORMAL, LIVES_STORAGE_STATUS_WARNING, LIVES_STORAGE_STATUS_CRITICAL,
  LIVES_STORAGE_STATUS_OFFLINE
}
 disk/storage status values More...
 
enum  {
  LIVES_STRING_CONSTANT_ANY =0, LIVES_STRING_CONSTANT_NONE, LIVES_STRING_CONSTANT_RECOMMENDED, LIVES_STRING_CONSTANT_DISABLED,
  LIVES_STRING_CONSTANT_CL, LIVES_STRING_CONSTANT_BUILTIN, LIVES_STRING_CONSTANT_CUSTOM, LIVES_STRING_CONSTANT_TEST,
  NUM_LIVES_STRING_CONSTANTS
}
 constant strings More...
 

Variables

_palettepalette
 
_merge_optsmerge_opts
 
LiVESWidget * fx_dialog [2]
 

Macro Definition Documentation

#define CE_FRAME_HSPACE   ((int)(420.*widget_opts.scale))
#define CE_HRULE_HEIGHT   ((int)(20.*widget_opts.scale))

clip editor hrule height

#define CE_VIDBAR_HEIGHT   ((int)(10.*widget_opts.scale))

clip edit vid/aud bar height

#define DEF_BUTTON_WIDTH   ((int)(80.*widget_opts.scale))
#define DEF_DIALOG_HEIGHT   480
#define DEF_DIALOG_WIDTH   640
#define DEF_GEN_HEIGHT   480
#define DEF_GEN_WIDTH   640

default size for generators

#define DEFAULT_FRAME_HSIZE   320
#define DEFAULT_FRAME_VSIZE   200
#define EFFECT_NONE   0
#define ENC_DETAILS_WIN_H   ((int)(600.*widget_opts.scale))

horizontal size in pixels of the encoder output window

#define ENC_DETAILS_WIN_V   ((int)(200.*widget_opts.scale))

vertical size in pixels of the encoder output window

#define FN_KEYS   12

number of function keys

#define FX_KEYS_MAX   65536

the rest of the keys are accessible through the multitrack renderer (must, be > FX_KEYS_MAX_VIRTUAL)

#define FX_KEYS_MAX_VIRTUAL   64

must be >= FX_KEYS_PHYSICAL, and <=64 (number of bits in a 64bit int mask) (max number of keys accesible through rte window or via OSC)

#define FX_KEYS_PHYSICAL   9

FX keys, 1 - 9 normally.

#define GU641   ((uint64_t)1)
#define H_RESIZE_ADJUST   ((W_PACKING_HEIGHT+2)*2)
#define LIVES_DCLICK_TIME   400

double click time (milliseconds)

#define LIVES_MAX_ALARMS   1024
#define LIVES_NO_ALARM_TICKS   -1
#define LIVES_SIGABRT   SIGABRT
#define LIVES_SIGHUP   SIGHUP
#define LIVES_SIGINT   SIGINT
#define LIVES_SIGKILL   SIGKILL
#define LIVES_SIGPIPE   SIGPIPE
#define LIVES_SIGQUIT   SIGQUIT
#define LIVES_SIGSEGV   SIGSEGV
#define LIVES_SIGTERM   SIGTERM
#define LIVES_SIGUSR1   SIGUSR1
#define MAIN_SPIN_SPACER   ((int)52.*widget_opts.scale)

pixel spacing for start/end spins for clip and multitrack editors

#define MAX_EXT_CNTL   2

max ext_cntl + 1

#define MAX_FX_THREADS   65536
#define MAX_MSG_WIDTH_CHARS   ((int)(100.*widget_opts.scale))

max width of text on warning/error labels

#define MIN_MSG_WIDTH_CHARS   ((int)(40.*widget_opts.scale))

min width of text on warning/error labels

#define MIN_SEPWIN_HEIGHT   36
#define MIN_SEPWIN_WIDTH   600
#define MSG_AREA_HEIGHT   ((int)(50.*widget_opts.scale))

height of msg area

#define PREFS_JACK_CHANGED   (1<<1)
#define PREFS_TEMPDIR_CHANGED   (1<<2)
#define PREFS_THEME_CHANGED   (1<<0)
#define PREVIEW_BOX_HT   ((int)(100.*widget_opts.scale))

height of preview widgets in sepwin

#define PROCW_STRETCHER   " "

blank label to show so our message dialogs are not too small

#define PRV_END   2
#define PRV_FREE   0
#define PRV_PTR   3
#define PRV_START   1
#define RFX_TEXT_SCROLL_HEIGHT   ((int)(80.*widget_opts.scale))

height of textview scrolled window

#define RFX_TOOL_MENU_POSN   2

where do we add the builtin tools in the tools menu

#define RFX_WINSIZE_H   ((int)(mainw->scr_width>1024?(820.*widget_opts.scale):600))

size of the fx dialog windows scrollwindow

#define RFX_WINSIZE_V   ((int)(480.*widget_opts.scale))
#define SCR_HEIGHT_SAFETY   ((int)(100.*widget_opts.scale))

sepwin/screen size safety margins in pixels

#define SCR_WIDTH_SAFETY   ((int)(100.*widget_opts.scale))
#define SCRATCH_BACK   -1
#define SCRATCH_FWD   1
#define SCRATCH_JUMP   2
#define SCRATCH_NONE   0
#define SCREEN_AREA_BACKGROUND   1
#define SCREEN_AREA_FOREGROUND   0
#define SCREEN_AREA_NONE   -1
#define SCREEN_AREA_USER_DEFINED1   2
#define SEL_MOVE_AUTO   3
#define SEL_MOVE_END   2
#define SEL_MOVE_SINGLE   4
#define SEL_MOVE_START   1

which bar should we move ?

#define STYLE_1   1<<0

turn on theming if set

#define STYLE_2   1<<1

colour the spinbuttons on the front page if set

#define STYLE_3   1<<2

style is lightish - allow themeing of widgets with dark text, otherwise use menu bg

#define STYLE_4   1<<3

coloured bg for poly window in mt

#define STYLE_5   1<<4

drop down menu text col. in mt

#define STYLE_6   1<<4

separator col. in mt

#define STYLE_PLAIN   0

no theme (theme 'none')

#define U_SEC   100000000.

fraction of a second quantisation for event timing; must match U_SECL, and must be a multiple of 10>=1000000

>10**8 is not recommended, since we sometimes store seconds in a double

#define U_SEC_RATIO   (U_SECL/1000000)

how many U_SECs (ticks) in a microsecond [default 100]

#define U_SECL   (int64_t)100000000
#define V_RESIZE_ADJUST   ((W_PACKING_WIDTH+2)*3)

Enumeration Type Documentation

anonymous enum

constant strings

Enumerator
LIVES_STRING_CONSTANT_ANY 
LIVES_STRING_CONSTANT_NONE 
LIVES_STRING_CONSTANT_RECOMMENDED 
LIVES_STRING_CONSTANT_DISABLED 
LIVES_STRING_CONSTANT_CL 
LIVES_STRING_CONSTANT_BUILTIN 
LIVES_STRING_CONSTANT_CUSTOM 
LIVES_STRING_CONSTANT_TEST 
NUM_LIVES_STRING_CONSTANTS 
Enumerator
LIVES_DIALOG_INFO 
LIVES_DIALOG_ERROR 
LIVES_DIALOG_WARN 
LIVES_DIALOG_WARN_WITH_CANCEL 
LIVES_DIALOG_YESNO 
LIVES_DIALOG_ABORT_CANCEL_RETRY 

external control types

Enumerator
EXT_CNTL_NONE 

not used

EXT_CNTL_JS 
EXT_CNTL_MIDI 

various return conditions from rendering (multitrack or after recording)

Enumerator
LIVES_RENDER_ERROR_NONE 
LIVES_RENDER_READY 
LIVES_RENDER_PROCESSING 
LIVES_RENDER_EFFECTS_PAUSED 
LIVES_RENDER_COMPLETE 
LIVES_RENDER_WARNING 
LIVES_RENDER_WARNING_READ_FRAME 
LIVES_RENDER_ERROR 
LIVES_RENDER_ERROR_READ_AUDIO 
LIVES_RENDER_ERROR_WRITE_AUDIO 
LIVES_RENDER_ERROR_WRITE_FRAME 

disk/storage status values

Enumerator
LIVES_STORAGE_STATUS_UNKNOWN 
LIVES_STORAGE_STATUS_NORMAL 
LIVES_STORAGE_STATUS_WARNING 
LIVES_STORAGE_STATUS_CRITICAL 
LIVES_STORAGE_STATUS_OFFLINE 

timebase sources

Enumerator
LIVES_TIME_SOURCE_NONE 
LIVES_TIME_SOURCE_SYSTEM 
LIVES_TIME_SOURCE_SOUNDCARD 
LIVES_TIME_SOURCE_EXTERNAL 
Enumerator
LIVES_TOY_NONE 
LIVES_TOY_MAD_FRAMES 
LIVES_TOY_TV 
LIVES_TOY_AUTOLIVES 

Variable Documentation

LiVESWidget* fx_dialog[2]

note, we can only have two of these currently, one for rendered effects, one for real time effects 0 for rfx, 1 for rte

_merge_opts* merge_opts
_palette* palette