X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fremotecontrol.C;h=0907707d6e6311c0935f2e6eb56cdc8c679cc489;hb=refs%2Fheads%2Fmaster;hp=de2bc271323c317ce7dd2742687bedca6de0e190;hpb=4c207ab325a8e8e6b79a9a18d4647273b5f59f93;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/remotecontrol.C b/cinelerra-5.1/cinelerra/remotecontrol.C index de2bc271..5e1df35d 100644 --- a/cinelerra-5.1/cinelerra/remotecontrol.C +++ b/cinelerra-5.1/cinelerra/remotecontrol.C @@ -1,3 +1,22 @@ +/* + * CINELERRA + * Copyright (C) 2016-2020 William Morrow + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ #include "bccolors.h" #include "mainsession.h" @@ -12,6 +31,8 @@ RemoteWindow::RemoteWindow(RemoteControl *remote_control) 0, 0, xS(16), yS(16), -1, -1, 1, 0, 1) { this->remote_control = remote_control; +// *** CONTEXT_HELP *** + context_help_set_keyword("Remote Control for DVB"); } RemoteWindow::~RemoteWindow() @@ -53,11 +74,13 @@ RemoteControl::~RemoteControl() int RemoteControl::activate(RemoteHandler *handler) { int result = 0; - active_lock->lock("RemoteControl::activate"); - if( !is_active() ) { - if( !handler ) handler = !mwindow_gui->record->running() ? + deactivate(); + if( !handler ) + handler = !mwindow_gui->record->running() ? (RemoteHandler *)mwindow_gui->cwindow_remote_handler : (RemoteHandler *)mwindow_gui->record_remote_handler ; + active_lock->lock("RemoteControl::activate"); + if( handler ) { gui->lock_window("RemoteControl::activate"); gui->set_active(handler); gui->set_color(handler->color); @@ -72,19 +95,21 @@ int RemoteControl::activate(RemoteHandler *handler) int RemoteControl::deactivate() { int result = 0; - active_lock->lock("RemoteControl::deactivate"); if( is_active() ) { - gui->set_inactive(); - result = 1; + active_lock->lock("RemoteControl::deactivate"); + if( is_active() ) { + gui->set_inactive(); + result = 1; + } + active_lock->unlock(); } - active_lock->unlock(); return result; } int RemoteControl::remote_key(int key) { if( !is_active() ) return 0; - return handler->process_key(key); + return handler->remote_key(key); } void RemoteControl::set_color(int color) @@ -182,4 +207,14 @@ RemoteHandler::~RemoteHandler() { } +int RemoteHandler::remote_key(int key) +{ + gui->set_inactive(); + return -1; +} + +int RemoteHandler::process_key(int key) +{ + return -1; +}