[MPlayer-cvslog] r22302 - in trunk: access_mpcontext.h libmenu/menu.c libmenu/menu.h libmenu/menu_param.c libmenu/menu_pt.c libmenu/vf_menu.c mplayer.c
uau
subversion at mplayerhq.hu
Wed Feb 21 19:28:49 CET 2007
Author: uau
Date: Wed Feb 21 19:28:48 2007
New Revision: 22302
Added:
trunk/access_mpcontext.h
Modified:
trunk/libmenu/menu.c
trunk/libmenu/menu.h
trunk/libmenu/menu_param.c
trunk/libmenu/menu_pt.c
trunk/libmenu/vf_menu.c
trunk/mplayer.c
Log:
Fix menu to work with mpctx
Added: trunk/access_mpcontext.h
==============================================================================
--- (empty file)
+++ trunk/access_mpcontext.h Wed Feb 21 19:28:48 2007
@@ -0,0 +1,2 @@
+void *mpctx_get_video_out(struct MPContext *mpctx);
+void *mpctx_get_playtree_iter(struct MPContext *mpctx);
Modified: trunk/libmenu/menu.c
==============================================================================
--- trunk/libmenu/menu.c (original)
+++ trunk/libmenu/menu.c Wed Feb 21 19:28:48 2007
@@ -52,6 +52,7 @@
char* args;
} menu_def_t;
+static struct MPContext *menu_ctx = NULL;
static menu_def_t* menu_list = NULL;
static int menu_count = 0;
@@ -122,7 +123,7 @@
#define BUF_STEP 1024
#define BUF_MIN 128
#define BUF_MAX BUF_STEP*1024
-int menu_init(char* cfg_file) {
+int menu_init(struct MPContext *mpctx, char* cfg_file) {
char* buffer = NULL;
int bl = BUF_STEP, br = 0;
int f, fd;
@@ -160,6 +161,7 @@
close(fd);
+ menu_ctx = mpctx;
f = menu_parse_config(buffer);
free(buffer);
return f;
@@ -216,6 +218,7 @@
m = calloc(1,sizeof(menu_t));
m->priv_st = &(menu_list[i].type->priv_st);
m->priv = m_struct_copy(m->priv_st,menu_list[i].cfg);
+ m->ctx = menu_ctx;
if(menu_list[i].type->open(m,menu_list[i].args))
return m;
if(m->priv)
Modified: trunk/libmenu/menu.h
==============================================================================
--- trunk/libmenu/menu.h (original)
+++ trunk/libmenu/menu.h Wed Feb 21 19:28:48 2007
@@ -3,6 +3,7 @@
typedef struct menu_s menu_t;
struct menu_s {
+ struct MPContext *ctx;
void (*draw)(menu_t* menu,mp_image_t* mpi);
void (*read_cmd)(menu_t* menu,int cmd);
void (*read_key)(menu_t* menu,int cmd);
@@ -36,7 +37,7 @@
#define MENU_CMD_ACTION 6
/// Global init/uninit
-int menu_init(char* cfg_file);
+int menu_init(struct MPContext *mpctx, char* cfg_file);
void menu_unint(void);
/// Open a menu defined in the config file
Modified: trunk/libmenu/menu_param.c
==============================================================================
--- trunk/libmenu/menu_param.c (original)
+++ trunk/libmenu/menu_param.c Wed Feb 21 19:28:48 2007
@@ -79,7 +79,7 @@
m_option_t* mp_property_find(const char* name);
static void entry_set_text(menu_t* menu, list_entry_t* e) {
- char* val = m_property_print(e->opt);
+ char* val = m_property_print(e->opt, menu->ctx);
int l,edit = (mpriv->edit && e == mpriv->p.current);
if(!val) {
if(mpriv->hide_na) {
@@ -227,22 +227,22 @@
case MENU_CMD_UP:
if(!mpriv->edit) break;
case MENU_CMD_RIGHT:
- if(m_property_do(e->opt,M_PROPERTY_STEP_UP,NULL) > 0)
+ if(m_property_do(e->opt,M_PROPERTY_STEP_UP,NULL,menu->ctx) > 0)
update_entries(menu);
return;
case MENU_CMD_DOWN:
if(!mpriv->edit) break;
case MENU_CMD_LEFT:
- if(m_property_do(e->opt,M_PROPERTY_STEP_DOWN,NULL) > 0)
+ if(m_property_do(e->opt,M_PROPERTY_STEP_DOWN,NULL,menu->ctx) > 0)
update_entries(menu);
return;
case MENU_CMD_OK:
// check that the property is writable
- if(m_property_do(e->opt,M_PROPERTY_SET,NULL) < 0) return;
+ if(m_property_do(e->opt,M_PROPERTY_SET,NULL,menu->ctx) < 0) return;
// shortcut for flags
if(e->opt->type == CONF_TYPE_FLAG) {
- if(m_property_do(e->opt,M_PROPERTY_STEP_UP,NULL) > 0)
+ if(m_property_do(e->opt,M_PROPERTY_STEP_UP,NULL,menu->ctx) > 0)
update_entries(menu);
return;
}
Modified: trunk/libmenu/menu_pt.c
==============================================================================
--- trunk/libmenu/menu_pt.c (original)
+++ trunk/libmenu/menu_pt.c Wed Feb 21 19:28:48 2007
@@ -19,11 +19,10 @@
#include "playtree.h"
#include "input/input.h"
+#include "access_mpcontext.h"
#define mp_basename(s) (strrchr((s),'/')==NULL?(char*)(s):(strrchr((s),'/')+1))
-extern play_tree_iter_t* playtree_iter;
-
struct list_entry_s {
struct list_entry p;
play_tree_t* pt;
@@ -58,7 +57,7 @@
char str[15];
play_tree_t* i;
mp_cmd_t* c;
-
+ play_tree_iter_t* playtree_iter = mpctx_get_playtree_iter(menu->ctx);
if(playtree_iter->tree == mpriv->p.current->pt)
break;
@@ -107,6 +106,8 @@
static int op(menu_t* menu, char* args) {
play_tree_t* i;
list_entry_t* e;
+ play_tree_iter_t* playtree_iter = mpctx_get_playtree_iter(menu->ctx);
+
args = NULL; // Warning kill
menu->draw = menu_list_draw;
Modified: trunk/libmenu/vf_menu.c
==============================================================================
--- trunk/libmenu/vf_menu.c (original)
+++ trunk/libmenu/vf_menu.c Wed Feb 21 19:28:48 2007
@@ -23,8 +23,7 @@
#include "input/input.h"
#include "m_struct.h"
#include "menu.h"
-
-extern vo_functions_t* video_out;
+#include "access_mpcontext.h"
static struct vf_priv_s* st_priv = NULL;
@@ -78,6 +77,7 @@
}
void vf_menu_pause_update(struct vf_instance_s* vf) {
+ vo_functions_t *video_out = mpctx_get_video_out(vf->priv->current->ctx);
if(pause_mpi) {
put_image(vf,pause_mpi, MP_NOPTS_VALUE);
// Don't draw the osd atm
Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c (original)
+++ trunk/mplayer.c Wed Feb 21 19:28:48 2007
@@ -381,6 +381,16 @@
#define mp_basename2(s) (strrchr(s,'/')==NULL?(char*)s:(strrchr(s,'/')+1))
+void *mpctx_get_video_out(MPContext *mpctx)
+{
+ return mpctx->video_out;
+}
+
+void *mpctx_get_playtree_iter(MPContext *mpctx)
+{
+ return mpctx->playtree_iter;
+}
+
static int is_valid_metadata_type (metadata_t type) {
switch (type)
{
@@ -2485,14 +2495,14 @@
#ifdef HAVE_MENU
if(use_menu) {
- if(menu_cfg && menu_init(menu_cfg))
+ if(menu_cfg && menu_init(mpctx, menu_cfg))
mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, menu_cfg);
else {
menu_cfg = get_path("menu.conf");
- if(menu_init(menu_cfg))
+ if(menu_init(mpctx, menu_cfg))
mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, menu_cfg);
else {
- if(menu_init(MPLAYER_CONFDIR "/menu.conf"))
+ if(menu_init(mpctx, MPLAYER_CONFDIR "/menu.conf"))
mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitialized, MPLAYER_CONFDIR"/menu.conf");
else {
mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_MenuInitFailed);
More information about the MPlayer-cvslog
mailing list