LiVES  3.2.0
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 
18  if (!dvgrabw->filename) return;
19 
22 
23  if (!dvgrabw->playing) on_camplay_clicked(NULL, user_data);
24 
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 
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 
52 
53  camstop(cam);
54 
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);
66  if (dvgrabw->playing) {
68  } else {
70  }
72 }
73 
74 
75 void on_camrew_clicked(LiVESButton *button, livespointer user_data) {
76  s_cam *cam = (s_cam *)user_data;
77  camrew(cam);
79 }
80 
81 
82 void on_camff_clicked(LiVESButton *button, livespointer user_data) {
83  s_cam *cam = (s_cam *)user_data;
84  camff(cam);
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);
105  (_("\nClips grabbed from the device can now be loaded with File|Open File/Directory.\n"),
107 
108  if (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