changeset 22667:e1859558b37d

New slave command: tv_step_freq <offset in MHz> Command sets the TV frequency relative to current value
author voroshil
date Sat, 17 Mar 2007 11:51:17 +0000
parents 51e2dfc6aeb6
children 55b0b905b353
files DOCS/tech/slave.txt command.c input/input.c input/input.h stream/tv.c stream/tv.h
diffstat 6 files changed, 27 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/DOCS/tech/slave.txt	Sat Mar 17 11:33:01 2007 +0000
+++ b/DOCS/tech/slave.txt	Sat Mar 17 11:51:17 2007 +0000
@@ -330,6 +330,9 @@
 tv_set_freq <frequency in MHz>
     Set the TV tuner frequency.
 
+tv_step_freq <frequency offset in MHz>
+    Set the TV tuner frequency relative to current value.
+
 tv_set_norm <norm>
     Set the TV tuner norm (PAL, SECAM, NTSC, ...).
 
--- a/command.c	Sat Mar 17 11:33:01 2007 +0000
+++ b/command.c	Sat Mar 17 11:51:17 2007 +0000
@@ -1941,6 +1941,12 @@
 			    cmd->args[0].v.f * 16.0);
 	    break;
 
+	case MP_CMD_TV_STEP_FREQ:
+	    if (mpctx->file_format == DEMUXER_TYPE_TV)
+		tv_step_freq((tvi_handle_t *) (mpctx->demuxer->priv),
+			    cmd->args[0].v.f * 16.0);
+	    break;
+
 	case MP_CMD_TV_SET_NORM:
 	    if (mpctx->file_format == DEMUXER_TYPE_TV)
 		tv_set_norm((tvi_handle_t *) (mpctx->demuxer->priv),
--- a/input/input.c	Sat Mar 17 11:33:01 2007 +0000
+++ b/input/input.c	Sat Mar 17 11:51:17 2007 +0000
@@ -112,6 +112,7 @@
   { MP_CMD_TV_SET_CHANNEL, "tv_set_channel", 1, { { MP_CMD_ARG_STRING, {0}}, {-1,{0}}  }},
   { MP_CMD_TV_LAST_CHANNEL, "tv_last_channel", 0, { {-1,{0}} } },
   { MP_CMD_TV_SET_FREQ, "tv_set_freq", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } },
+  { MP_CMD_TV_STEP_FREQ, "tv_step_freq", 1, { {MP_CMD_ARG_FLOAT,{0}}, {-1,{0}} } },
   { MP_CMD_TV_SET_NORM, "tv_set_norm", 1, { {MP_CMD_ARG_STRING,{0}}, {-1,{0}} } },
   { MP_CMD_TV_SET_BRIGHTNESS, "tv_set_brightness", 1,  { { MP_CMD_ARG_INT ,{0}}, { MP_CMD_ARG_INT,{1} }, {-1,{0}} }},
   { MP_CMD_TV_SET_CONTRAST, "tv_set_contrast", 1,  { { MP_CMD_ARG_INT ,{0}}, { MP_CMD_ARG_INT,{1} }, {-1,{0}} }},
--- a/input/input.h	Sat Mar 17 11:33:01 2007 +0000
+++ b/input/input.h	Sat Mar 17 11:51:17 2007 +0000
@@ -92,6 +92,7 @@
 #define MP_CMD_SET_MOUSE_POS 90
 #define MP_CMD_STEP_PROPERTY 91
 #define MP_CMD_RADIO_STEP_FREQ 92
+#define MP_CMD_TV_STEP_FREQ 93
 
 #define MP_CMD_GUI_EVENTS       5000
 #define MP_CMD_GUI_LOADFILE     5001
--- a/stream/tv.c	Sat Mar 17 11:33:01 2007 +0000
+++ b/stream/tv.c	Sat Mar 17 11:51:17 2007 +0000
@@ -781,6 +781,21 @@
     return(1);
 }
 
+/*****************************************************************
+ * \brief tune current frequency by step_interval value
+ * \parameter step_interval increment value in 1/16 MHz
+ * \note frequency is rounded to 1/16 MHz value
+ * \return 1
+ *
+ */
+int tv_step_freq(tvi_handle_t* tvh, float step_interval){
+    unsigned long frequency;
+
+    tv_get_freq(tvh,&frequency);
+    frequency+=step_interval;
+    return tv_set_freq(tvh,frequency);
+}
+
 int tv_step_channel_real(tvi_handle_t *tvh, int direction)
 {
     struct CHANLIST cl;
--- a/stream/tv.h	Sat Mar 17 11:33:01 2007 +0000
+++ b/stream/tv.h	Sat Mar 17 11:51:17 2007 +0000
@@ -184,6 +184,7 @@
 
 int tv_set_freq(tvi_handle_t *tvh, unsigned long freq);
 int tv_get_freq(tvi_handle_t *tvh, unsigned long *freq);
+int tv_step_freq(tvi_handle_t *tvh, float step_interval);
 
 int tv_set_norm(tvi_handle_t *tvh, char* norm);