#include "recordscopes.h"
#include "recordtransport.h"
#include "recordmonitor.h"
+#include "signalstatus.h"
#include "theme.h"
#include "videodevice.inc"
#include "vframe.h"
RecordMonitorGUI::~RecordMonitorGUI()
{
lock_window("RecordMonitorGUI::~RecordMonitorGUI");
+#ifdef HAVE_DVB
delete signal_status;
+#endif
delete canvas;
if( bitmap ) delete bitmap;
if( channel_picker ) delete channel_picker;
- if( avc1394transport_thread )
#ifdef HAVE_FIREWIRE
+ if( avc1394transport_thread )
delete avc1394transport_thread;
if( avc ) {
delete avc;
add_subwindow(avc1394transport_timecode =
new BC_Title(avc1394_transport->x_end,
mwindow->theme->rmonitor_tx_y + 10,
- _("00:00:00:00"),
+ "00:00:00:00",
MEDIUM_7SEGMENT,
BLACK));
canvas->create_objects(0);
canvas->use_rwindow();
+#ifdef HAVE_DVB
if( driver == CAPTURE_DVB ) {
int ssw = SignalStatus::calculate_w(this);
signal_status = new SignalStatus(this, get_w()-ssw-3, 0);
add_subwindow(signal_status);
signal_status->create_objects();
}
+#endif
int x = mwindow->theme->widget_border;
int y = mwindow->theme->widget_border;
{
if(mwindow->session->rwindow_fullscreen && canvas && canvas->get_canvas())
return canvas->button_press_event_base(canvas->get_canvas());
-
- if( get_buttonpress() == 2 ) {
- return 0;
- }
- else
-// Right button
- if( get_buttonpress() == 3 ) {
- monitor_menu->activate_menu();
- return 1;
- }
return 0;
}
int RecordMonitorGUI::button_release_event()
{
+ if( get_buttonpress() == 3 && cursor_inside() ) {
+ monitor_menu->activate_menu();
+ return 1;
+ }
if( canvas && canvas->get_canvas() )
return canvas->button_release_event();
return 0;
default:
if(canvas) result = canvas->keypress_event(this);
+#ifdef HAVE_FIREWIRE
if(!result && avc1394_transport)
result = avc1394_transport->keypress_event(get_keypress());
+#endif
break;
}
void RecordMonitorGUI::enable_signal_status(int enable)
{
+#ifdef HAVE_DVB
if( !signal_status ) return;
signal_status->lock_window("RecordMonitorGUI::enable_signal_status");
if( !enable )
DeviceDVBInput *dvb_input = record->dvb_device();
if( dvb_input )
dvb_input->set_signal_status(!enable ? 0 : signal_status);
+#endif
}
void RecordMonitorGUI::
}
int RecordMonitorFullsize::handle_event()
{
+ Record *record = window->record;
+ record->video_zoom = 1.0;
+ record->record_gui->set_translation(record->video_x, record->video_y, record->video_zoom);
return 1;
}
int RecVideoDVThread::start_rendering()
{
+#ifdef HAVE_DV
dv = dv_new();
+#endif
return 0;
}
int RecVideoDVThread::stop_rendering()
{
+#ifdef HAVE_DV
if( dv ) { dv_delete(((dv_t*)dv)); dv = 0; }
+#endif
return 0;
}
int RecVideoDVThread::render_frame(VFrame *frame, long size)
{
+#ifdef HAVE_DV
unsigned char *yuv_planes[3];
yuv_planes[0] = thread->output_frame->get_y();
yuv_planes[1] = thread->output_frame->get_u();
frame->get_data(),
frame->get_compressed_size(),
thread->output_frame->get_color_model());
-
+#endif
return 0;
}