LiVES
3.2.0
src
ldvcallbacks.c
Go to the documentation of this file.
1
// ldvcallbacks.c
2
// LiVES
3
// (c) G. Finch 2006 - 2015 <salsaman@gmail.com>
4
// released under the GNU GPL 3 or later
5
// see file ../COPYING for licensing details
6
7
#include "
main.h
"
8
#include "
ldvcallbacks.h
"
9
#include "
ldvinterface.h
"
10
11
void
on_camgrab_clicked
(LiVESButton *button, livespointer user_data) {
12
s_cam
*cam = (
s_cam
*)user_data;
13
14
char
*msg;
15
16
if
(
dvgrabw
->
filename
)
lives_free
(
dvgrabw
->
filename
);
17
dvgrabw
->
filename
=
find_free_camfile
(cam->
format
);
18
if
(!
dvgrabw
->
filename
)
return
;
19
20
lives_widget_set_sensitive
(
dvgrabw
->
grab
,
FALSE
);
21
lives_set_cursor_style
(
LIVES_CURSOR_BUSY
,
dvgrabw
->
dialog
);
22
23
if
(!
dvgrabw
->
playing
)
on_camplay_clicked
(NULL, user_data);
24
25
if
(
dvgrabw
->
dirname
)
lives_free
(
dvgrabw
->
dirname
);
26
dvgrabw
->
dirname
= lives_strdup(
lives_entry_get_text
(LIVES_ENTRY(
dvgrabw
->
dirent
)));
27
28
msg =
lives_strdup_printf
(
_
(
"Recording to %s/%s"
),
dvgrabw
->
dirname
,
dvgrabw
->
filename
);
29
lives_entry_set_text
(LIVES_ENTRY(
dvgrabw
->
status_entry
), msg);
30
lives_free
(msg);
31
32
if
(cam->
format
==
CAM_FORMAT_DV
) {
33
dvgrabw
->
filename
= lives_strdup(
lives_entry_get_text
(LIVES_ENTRY(
dvgrabw
->
filent
)));
34
}
35
rec
(cam);
36
cam->
grabbed_clips
=
TRUE
;
37
}
38
39
40
void
on_camstop_clicked
(LiVESButton *button, livespointer user_data) {
41
s_cam
*cam = (
s_cam
*)user_data;
42
43
lives_widget_set_sensitive
(
dvgrabw
->
stop
,
FALSE
);
44
dvgrabw
->
playing
=
FALSE
;
45
46
if
(cam->
format
==
CAM_FORMAT_DV
) {
47
if
(cam->
pgid
!= 0)
lives_killpg
(cam->
pgid
,
LIVES_SIGTERM
);
48
cam->
pgid
= 0;
49
}
50
51
lives_set_cursor_style
(
LIVES_CURSOR_NORMAL
,
dvgrabw
->
dialog
);
52
53
camstop
(cam);
54
55
lives_button_set_label
(LIVES_BUTTON(
dvgrabw
->
play
),
LIVES_STOCK_LABEL_MEDIA_PLAY
);
56
lives_widget_set_sensitive
(
dvgrabw
->
grab
,
TRUE
);
57
lives_entry_set_text
(LIVES_ENTRY(
dvgrabw
->
status_entry
),
_
(
"Status: Ready"
));
58
}
59
60
61
void
on_camplay_clicked
(LiVESButton *button, livespointer user_data) {
62
s_cam
*cam = (
s_cam
*)user_data;
63
64
camplay
(cam);
65
dvgrabw
->
playing
= !
dvgrabw
->
playing
;
66
if
(
dvgrabw
->
playing
) {
67
lives_button_set_label
(LIVES_BUTTON(
dvgrabw
->
play
),
LIVES_STOCK_LABEL_MEDIA_PAUSE
);
68
}
else
{
69
lives_button_set_label
(LIVES_BUTTON(
dvgrabw
->
play
),
LIVES_STOCK_LABEL_MEDIA_PLAY
);
70
}
71
lives_widget_set_sensitive
(
dvgrabw
->
stop
,
TRUE
);
72
}
73
74
75
void
on_camrew_clicked
(LiVESButton *button, livespointer user_data) {
76
s_cam
*cam = (
s_cam
*)user_data;
77
camrew
(cam);
78
lives_widget_set_sensitive
(
dvgrabw
->
stop
,
TRUE
);
79
}
80
81
82
void
on_camff_clicked
(LiVESButton *button, livespointer user_data) {
83
s_cam
*cam = (
s_cam
*)user_data;
84
camff
(cam);
85
lives_widget_set_sensitive
(
dvgrabw
->
stop
,
TRUE
);
86
}
87
88
89
void
on_cameject_clicked
(LiVESButton *button, livespointer user_data) {
90
s_cam
*cam = (
s_cam
*)user_data;
91
cameject
(cam);
92
}
93
94
95
void
on_camquit_clicked
(LiVESButton *button, livespointer user_data) {
96
s_cam
*cam = (
s_cam
*)user_data;
97
98
on_camstop_clicked
(button, user_data);
99
//if (cam->format==CAM_FORMAT_HDV) close_raw1394(cam->rec_handle);
100
lives_widget_destroy
(
dvgrabw
->
dialog
);
101
if
(
dvgrabw
->
cursor
)
lives_cursor_unref
(
dvgrabw
->
cursor
);
102
if
(
dvgrabw
->
filename
)
lives_free
(
dvgrabw
->
filename
);
103
if
(
dvgrabw
->
dirname
)
lives_free
(
dvgrabw
->
dirname
);
104
if
(cam->
grabbed_clips
)
do_error_dialog_with_check
105
(
_
(
"\nClips grabbed from the device can now be loaded with File|Open File/Directory.\n"
),
106
WARN_MASK_AFTER_DVGRAB
);
107
108
if
(
mainw
->
multitrack
) {
109
mt_sensitise
(
mainw
->
multitrack
);
110
mainw
->
multitrack
->idlefunc =
mt_idle_add
(
mainw
->
multitrack
);
111
}
112
}
113
s_cam
Definition:
ldvgrab.h:17
_dvgrabw::cursor
LiVESXCursor * cursor
Definition:
ldvgrab.h:53
lives_free
#define lives_free
Definition:
machinestate.h:52
LIVES_CURSOR_NORMAL
@ LIVES_CURSOR_NORMAL
must be zero
Definition:
widget-helper.h:1292
lives_widget_destroy
LIVES_GLOBAL_INLINE boolean lives_widget_destroy(LiVESWidget *widget)
Definition:
widget-helper.c:1553
camstop
void camstop(s_cam *cam)
Definition:
ldvgrab.c:184
lives_set_cursor_style
void lives_set_cursor_style(lives_cursor_t cstyle, LiVESWidget *widget)
Definition:
widget-helper.c:11950
camplay
void camplay(s_cam *cam)
Definition:
ldvgrab.c:179
on_camff_clicked
void on_camff_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:82
LIVES_STOCK_LABEL_MEDIA_PAUSE
char LIVES_STOCK_LABEL_MEDIA_PAUSE[32]
Definition:
widget-helper.h:1397
_dvgrabw::dirent
LiVESWidget * dirent
Definition:
ldvgrab.h:46
camrew
void camrew(s_cam *cam)
Definition:
ldvgrab.c:190
_dvgrabw::grab
LiVESWidget * grab
Definition:
ldvgrab.h:48
TRUE
#define TRUE
Definition:
videoplugin.h:59
ldvcallbacks.h
LIVES_SIGTERM
#define LIVES_SIGTERM
Definition:
mainwindow.h:1862
_dvgrabw::dirname
char * dirname
Definition:
ldvgrab.h:55
_dvgrabw::status_entry
LiVESWidget * status_entry
Definition:
ldvgrab.h:51
on_camrew_clicked
void on_camrew_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:75
CAM_FORMAT_DV
#define CAM_FORMAT_DV
Definition:
ldvgrab.h:14
lives_cursor_unref
WIDGET_HELPER_GLOBAL_INLINE boolean lives_cursor_unref(LiVESXCursor *cursor)
Definition:
widget-helper.c:11139
s_cam::grabbed_clips
boolean grabbed_clips
Definition:
ldvgrab.h:22
_dvgrabw::dialog
LiVESWidget * dialog
Definition:
ldvgrab.h:44
camff
void camff(s_cam *cam)
Definition:
ldvgrab.c:195
s_cam::pgid
lives_pgid_t pgid
Definition:
ldvgrab.h:23
do_error_dialog_with_check
LiVESResponseType do_error_dialog_with_check(const char *text, uint64_t warn_mask_number)
Definition:
dialogs.c:800
lives_killpg
int lives_killpg(lives_pgid_t pgrp, int sig)
Definition:
utils.c:1432
WARN_MASK_AFTER_DVGRAB
#define WARN_MASK_AFTER_DVGRAB
Definition:
preferences.h:108
_dvgrabw::playing
boolean playing
Definition:
ldvgrab.h:54
ldvinterface.h
find_free_camfile
char * find_free_camfile(int format)
Definition:
ldvgrab.c:212
lives_strdup_printf
#define lives_strdup_printf(fmt,...)
Definition:
support.c:27
lives_widget_set_sensitive
WIDGET_HELPER_GLOBAL_INLINE boolean lives_widget_set_sensitive(LiVESWidget *widget, boolean state)
Definition:
widget-helper.c:1477
mainwindow::multitrack
lives_mt * multitrack
holds a pointer to the entire multitrack environment; NULL in Clip Edit mode
Definition:
mainwindow.h:1087
rec
boolean rec(s_cam *cam)
Definition:
ldvgrab.c:248
on_camplay_clicked
void on_camplay_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:61
on_camquit_clicked
void on_camquit_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:95
_dvgrabw::filent
LiVESWidget * filent
Definition:
ldvgrab.h:45
main.h
LIVES_CURSOR_BUSY
@ LIVES_CURSOR_BUSY
Definition:
widget-helper.h:1293
mainw
mainwindow * mainw
Definition:
main.c:103
cameject
void cameject(s_cam *cam)
Definition:
ldvgrab.c:205
s_cam::format
int format
Definition:
ldvgrab.h:21
lives_entry_set_text
WIDGET_HELPER_GLOBAL_INLINE boolean lives_entry_set_text(LiVESEntry *entry, const char *text)
Definition:
widget-helper.c:6211
lives_entry_get_text
WIDGET_HELPER_GLOBAL_INLINE const char * lives_entry_get_text(LiVESEntry *entry)
Definition:
widget-helper.c:6203
lives_button_set_label
WIDGET_HELPER_GLOBAL_INLINE boolean lives_button_set_label(LiVESButton *button, const char *label)
Definition:
widget-helper.c:4345
on_cameject_clicked
void on_cameject_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:89
mt_sensitise
void mt_sensitise(lives_mt *mt)
Definition:
multitrack.c:17052
_dvgrabw::play
LiVESWidget * play
Definition:
ldvgrab.h:49
on_camgrab_clicked
void on_camgrab_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:11
on_camstop_clicked
void on_camstop_clicked(LiVESButton *button, livespointer user_data)
Definition:
ldvcallbacks.c:40
FALSE
#define FALSE
Definition:
videoplugin.h:60
mt_idle_add
uint32_t mt_idle_add(lives_mt *mt)
Definition:
multitrack.c:901
_
#define _(String)
Definition:
support.h:44
_dvgrabw::filename
char * filename
Definition:
ldvgrab.h:56
dvgrabw
struct _dvgrabw * dvgrabw
Definition:
ldvgrab.h:61
_dvgrabw::stop
LiVESWidget * stop
Definition:
ldvgrab.h:47
LIVES_STOCK_LABEL_MEDIA_PLAY
char LIVES_STOCK_LABEL_MEDIA_PLAY[32]
Definition:
widget-helper.h:1396
Generated on Sun Dec 20 2020 14:12:49 for LiVES by
1.8.20