mirror of
https://github.com/mpv-player/mpv
synced 2025-01-18 21:31:13 +00:00
All aalib options can be passed to aalib (-aaXXX), also -aahelp is new
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1538 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
5663ecf375
commit
992bd08506
150
libvo/vo_aa.c
150
libvo/vo_aa.c
@ -1,4 +1,24 @@
|
||||
/*
|
||||
/ /* configuration */
|
||||
/*
|
||||
if (osdcolor;
|
||||
int subcolor;
|
||||
int extended;
|
||||
int eight;
|
||||
char *driver;
|
||||
char *font;
|
||||
int dim;
|
||||
int bold;
|
||||
int reverse;
|
||||
int normal;
|
||||
int boldfont;
|
||||
|
||||
int inverse;
|
||||
int bright;
|
||||
int contrast;
|
||||
int gamma;
|
||||
int dimmul;
|
||||
int boldmul;
|
||||
*/*
|
||||
* MPlayer
|
||||
*
|
||||
* Video driver for AAlib - alpha version
|
||||
@ -27,6 +47,7 @@
|
||||
|
||||
#include "linux/keycodes.h"
|
||||
#include <aalib.h>
|
||||
#include "cfgparser.h"
|
||||
|
||||
#define RGB 0
|
||||
#define BGR 1
|
||||
@ -82,11 +103,12 @@ extern void mplayer_put_key(int code);
|
||||
/* to disable stdout outputs when curses/linux mode */
|
||||
extern int quiet;
|
||||
|
||||
/* config options */
|
||||
int aaopt_extended = 0;
|
||||
int aaopt_eight = 0;
|
||||
/* configuration */
|
||||
int aaopt_osdcolor = AA_SPECIAL;
|
||||
char *aaopt_driver = NULL;
|
||||
int aaopt_subcolor = AA_SPECIAL;
|
||||
|
||||
extern struct aa_hardware_params aa_defparams;
|
||||
extern struct aa_renderparams aa_defrenderparams;
|
||||
|
||||
void
|
||||
resize(void){
|
||||
@ -202,19 +224,15 @@ init(uint32_t width, uint32_t height, uint32_t d_width,
|
||||
return 1;
|
||||
}
|
||||
bppmul=bpp/8;
|
||||
|
||||
|
||||
/* initializing of aalib */
|
||||
/*
|
||||
TODO check /dev/vcsa
|
||||
aa_recommendhidisplay("curses");
|
||||
aa_recommendhidisplay("X11");
|
||||
aa_recommendlowdisplay("linux");
|
||||
|
||||
/* options ? */
|
||||
if (aaopt_eight) aa_defparams.supported|=AA_EIGHT;
|
||||
if (aaopt_extended && !aaopt_eight) aa_defparams.supported|=AA_EXTENDED;
|
||||
if (aaopt_driver!=NULL){
|
||||
aa_recommendhidisplay(aaopt_driver);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
c = aa_autoinit(&aa_defparams);
|
||||
aa_resizehandler(c, (void *)resize);
|
||||
@ -257,16 +275,17 @@ init(uint32_t width, uint32_t height, uint32_t d_width,
|
||||
/* say hello */
|
||||
osdmessage(5, 1, "Welcome to ASCII ARTS MPlayer");
|
||||
|
||||
printf("VO: screendriver: %s\n", c->driver->name);
|
||||
printf("VO: keyboarddriver: %s\n", c->kbddriver->name);
|
||||
printf("VO: [aa] screendriver: %s\n", c->driver->name);
|
||||
printf("VO: [aa] keyboarddriver: %s\n", c->kbddriver->name);
|
||||
//printf("VO: mousedriver: %s\n", c->mousedriver->name);
|
||||
|
||||
printf(
|
||||
"\n"
|
||||
"Options\n"
|
||||
"\t-aaosdfont 0=normal, 1=dark, 2=bold, 3-boldfont, 4=reverse, 5=special\n"
|
||||
"Important Options\n"
|
||||
"\t-aaextended use use all 256 characters\n"
|
||||
"\t-aaeight use eight bit ascii\n"
|
||||
"\t-aadriver set recommended aalib driver (X11,curses,linux)\n"
|
||||
"\t-aahelp to see all options provided by aalib\n"
|
||||
"\n"
|
||||
"AA-MPlayer Keys:\n"
|
||||
"\t1 : fast rendering\n"
|
||||
@ -536,3 +555,100 @@ uninit(void) {
|
||||
static void
|
||||
draw_osd(void){
|
||||
}
|
||||
|
||||
int
|
||||
getcolor(char * s){
|
||||
int i;
|
||||
char * rest;
|
||||
if (s==NULL) return -1;
|
||||
i=strtol(s, &rest, 10);
|
||||
if ((rest==NULL || strlen(rest)==0) && i>=0 && i<=5) return i;
|
||||
if (!strcasecmp(s, "normal")) return AA_NORMAL;
|
||||
else if (!strcasecmp(s, "dim")) return AA_DIM;
|
||||
else if (!strcasecmp(s, "bold")) return AA_BOLD;
|
||||
else if (!strcasecmp(s, "boldfont")) return AA_BOLDFONT;
|
||||
else if (!strcasecmp(s, "special")) return AA_SPECIAL;
|
||||
else return -1;
|
||||
}
|
||||
|
||||
int
|
||||
vo_aa_parseoption(struct config * conf, char *opt, char *param){
|
||||
/* got an option starting with aa */
|
||||
char *pseudoargv[3];
|
||||
int pseudoargc;
|
||||
char * x, *help;
|
||||
int i;
|
||||
/* do WE need it ? */
|
||||
if (!strcasecmp(opt, "aaosdcolor")){
|
||||
if (param==NULL) return ERR_MISSING_PARAM;
|
||||
if ((i=getcolor(param))==-1) return ERR_OUT_OF_RANGE;
|
||||
aaopt_osdcolor=i;
|
||||
return 1;
|
||||
}else if (!strcasecmp(opt, "aasubcolor")){
|
||||
if ((i=getcolor(param))==-1) return ERR_OUT_OF_RANGE;
|
||||
aaopt_subcolor=i;
|
||||
return 1;
|
||||
}else if (!strcasecmp(opt, "aahelp")){
|
||||
printf("Here are the aalib options:\n");
|
||||
help=strdup(aa_help); /* aa_help is const :( */
|
||||
x=strtok(help,"-");
|
||||
printf(x);
|
||||
while (x=strtok(NULL, "-")){
|
||||
if (*(x-2)==' ') printf("-aa");
|
||||
else printf("-");
|
||||
printf("%s", x);
|
||||
}
|
||||
printf(
|
||||
"\n"
|
||||
"\n"
|
||||
"Additional options vo_aa provides:\n"
|
||||
" -aaosdcolor set osd color\n"
|
||||
" -aasubcolor set subtitle color\n"
|
||||
" the color params are:\n"
|
||||
" 0 : normal\n"
|
||||
" 1 : dark\n"
|
||||
" 2 : bold\n"
|
||||
" 3 : boldfont\n"
|
||||
" 4 : reverse\n"
|
||||
" 6 : special\n"
|
||||
"\n\n"
|
||||
" dT8 8Tb\n"
|
||||
" dT 8 8 Tb\n"
|
||||
" dT 8 8 Tb\n"
|
||||
" <PROJECT><PROJECT>\n"
|
||||
" dT 8 8 Tb\n"
|
||||
" dT 8 8 Tb\n"
|
||||
"\n"
|
||||
|
||||
);
|
||||
exit(0);
|
||||
|
||||
}else{
|
||||
/* parse param to aalib */
|
||||
pseudoargv[1]=malloc(strlen(opt));
|
||||
pseudoargv[3]=NULL;
|
||||
sprintf(pseudoargv[1], "-%s", opt+2);
|
||||
if (param!=NULL){
|
||||
pseudoargv[2]=param;
|
||||
pseudoargc=3;
|
||||
}else{
|
||||
pseudoargv[2]=NULL;
|
||||
pseudoargc=2;
|
||||
}
|
||||
fprintf(stderr,"VO: [aa] ");
|
||||
i=aa_parseoptions(&aa_defparams, &aa_defrenderparams, &pseudoargc, pseudoargv);
|
||||
if (i!=1){
|
||||
return ERR_MISSING_PARAM;
|
||||
}
|
||||
if (pseudoargv[1]!=NULL){
|
||||
/* aalib has given param back */
|
||||
fprintf(stderr," Parameter -%s accepted\n", opt, param);
|
||||
return 0; /* param could be the filename */
|
||||
}
|
||||
fprintf(stderr," Parameter -%s %s accepted\n", opt, param==NULL ? "" : param);
|
||||
return 1; /* all opt & params accepted */
|
||||
|
||||
}
|
||||
return ERR_NOT_AN_OPTION;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user