LiVES 2.4.6

- Main Page
- Namespaces
- Data Structures
- Files

- File List
- Globals

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 | SPBWIDTHCHARS 12
| char width of start / end spinbuttons More...
#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 | TREE_ROW_HEIGHT ((int)(60.*widget_opts.scale))
| (unexpanded) height of rows in treeviews More...
#define | DEFAULT_FRAME_HSIZE ((int)(320.*widget_opts.scale))
#define | DEFAULT_FRAME_VSIZE ((int)(200.*widget_opts.scale))
#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)(640.*widget_opts.scale))
| horizontal size in pixels of the encoder output window More...
#define | ENC_DETAILS_WIN_V ((int)(240.*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):640))
| 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 RFX_WINSIZE_H
#define | DEF_DIALOG_HEIGHT RFX_WINSIZE_V
#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 | LIVES_FILE_EXT_PNG "png"
#define | LIVES_FILE_EXT_JPG "jpg"
#define | LIVES_FILE_EXT_MGK "mgk"
#define | LIVES_FILE_EXT_PRE "pre"
#define | LIVES_FILE_EXT_SCRAP "scrap"
#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
_palette * | palette
_merge_opts * | merge_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 RFX_WINSIZE_V

#define DEF_DIALOG_WIDTH RFX_WINSIZE_H

#define DEF_GEN_HEIGHT 480

#define DEF_GEN_WIDTH 640

default size for generators

#define DEFAULT_FRAME_HSIZE ((int)(320.*widget_opts.scale))

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

#define EFFECT_NONE 0

#define ENC_DETAILS_WIN_H ((int)(640.*widget_opts.scale))

horizontal size in pixels of the encoder output window

#define ENC_DETAILS_WIN_V ((int)(240.*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_FILE_EXT_JPG "jpg"

#define LIVES_FILE_EXT_MGK "mgk"

#define LIVES_FILE_EXT_PNG "png"

#define LIVES_FILE_EXT_PRE "pre"

#define LIVES_FILE_EXT_SCRAP "scrap"

#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):640))

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 SPBWIDTHCHARS 12

char width of start / end spinbuttons

#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 TREE_ROW_HEIGHT ((int)(60.*widget_opts.scale))

(unexpanded) height of rows in treeviews

#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 |

enum lives_dialog_t

Enumerator
LIVES_DIALOG_INFO |
LIVES_DIALOG_ERROR |
LIVES_DIALOG_WARN |
LIVES_DIALOG_WARN_WITH_CANCEL |
LIVES_DIALOG_YESNO |
LIVES_DIALOG_ABORT_CANCEL_RETRY |

enum lives_ext_cntl_t

external control types

Enumerator
EXT_CNTL_NONE | not used
EXT_CNTL_JS |
EXT_CNTL_MIDI |

enum lives_render_error_t

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 |

enum lives_storage_status_t

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 |

enum lives_time_source_t

timebase sources

Enumerator
LIVES_TIME_SOURCE_NONE |
LIVES_TIME_SOURCE_SYSTEM |
LIVES_TIME_SOURCE_SOUNDCARD |
LIVES_TIME_SOURCE_EXTERNAL |

enum lives_toy_t

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