annotate Gui/interface.c @ 8635:81dbd28ef7c0

these patches let ,,oldstyle'' and freetype subtitle renderers live together happily. if an oldstyle subtitle (font.desc) is found, it will be used. otherwise mplayer will choose subfont.ttf, if freetype was detected during ./configure. (also you can use -font /path/to/font.desc and -font /path/to/foobar.ttf too) patch-set by Wojtek Kaniewski <wojtekka@bydg.pdi.net>
author arpi
date Sun, 29 Dec 2002 14:59:23 +0000
parents 935764ebfb6a
children a88f827ec563
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
1
4845
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
2 #include <inttypes.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
3 #include <stdlib.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
4 #include <stdio.h>
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
5 #include <string.h>
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
6 #include <sys/types.h>
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
7
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
8 #include "wm/ws.h"
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
9 #include "wm/wsxdnd.h"
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
10 #include "interface.h"
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
11 #include "skin/skin.h"
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
12
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
13 #include "mplayer/gtk/eq.h"
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
14 #include "mplayer/widgets.h"
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
15 #include "mplayer/mplayer.h"
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
16 #include "mplayer/play.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
17
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
18 #include "../mplayer.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
19 #include "app.h"
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
20 #include "cfg.h"
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
21 #include "../help_mp.h"
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
22 #include "../subreader.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
23 #include "../libvo/x11_common.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
24 #include "../libvo/video_out.h"
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
25 #include "../libvo/font_load.h"
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
26 #include "../libvo/sub.h"
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
27 #include "../input/input.h"
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
28 #include "../libao2/audio_out.h"
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
29 #include "../mixer.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
30 #include "../libao2/audio_plugin.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
31 #include "../libao2/eq.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
32
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
33 #ifdef USE_ICONV
7128
dc48f2130a76 FreeBSD iconv change/fix
nexus
parents: 7122
diff changeset
34 #include <iconv.h>
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
35 #endif
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
36
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
37 #include "../libmpdemux/stream.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
38 #include "../libmpdemux/demuxer.h"
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
39 #include "../libmpdemux/stheader.h"
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
40 #include "../libmpcodecs/dec_video.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
41
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
42 guiInterface_t guiIntfStruct;
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
43
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
44 char * gstrcat( char ** dest,char * src )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
45 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
46 char * tmp = NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
47
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
48 if ( !src ) return NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
49
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
50 if ( *dest )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
51 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
52 tmp=malloc( strlen( *dest ) + strlen( src ) + 1 );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
53 strcpy( tmp,*dest ); strcat( tmp,src ); free( *dest );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
54 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
55 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
56 { tmp=malloc( strlen( src ) + 1 ); strcpy( tmp,src ); }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
57 *dest=tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
58 return tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
59 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
60
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
61 int gstrcmp( char * a,char * b )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
62 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
63 if ( !a && !b ) return 0;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
64 if ( !a || !b ) return -1;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
65 return strcmp( a,b );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
66 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
67
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
68 int gstrncmp( char * a,char * b,int size )
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
69 {
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
70 if ( !a && !b ) return 0;
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
71 if ( !a || !b ) return -1;
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
72 return strncmp( a,b,size );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
73 }
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
74
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
75 char * gstrdup( char * str )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
76 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
77 if ( !str ) return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
78 return strdup( str );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
79 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
80
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
81 char * gstrchr( char * str,int c )
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
82 {
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
83 if ( !str ) return NULL;
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
84 return strchr( str,c );
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
85 }
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
86
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
87 void gfree( void ** p )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
88 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
89 if ( *p == NULL ) return;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
90 free( *p ); *p=NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
91 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
92
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
93 void gset( char ** str,char * what )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
94 {
7887
0e5544951425 A small patch to Gui/interface.c; the first fix is a plain bug, the second is
arpi
parents: 7707
diff changeset
95 if ( *str ) { if ( !strstr( *str,what ) ) { gstrcat( str,"," ); gstrcat( str,what ); }}
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
96 else gstrcat( str,what );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
97 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
98
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
99 void gaddlist( char *** list,char * entry )
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
100 {
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
101 int i;
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
102
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
103 if ( (*list) )
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
104 {
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
105 for ( i=0;(*list)[i];i++ ) free( (*list)[i] );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
106 free( (*list) );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
107 }
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
108
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
109 (*list)=malloc( 8 );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
110 (*list)[0]=gstrdup( entry );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
111 (*list)[1]=NULL;
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
112 }
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
113
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
114 #ifdef USE_ICONV
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
115 char * gconvert_uri_to_filename( char * str )
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
116 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
117 iconv_t d;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
118 char * out = strdup( str );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
119 char * tmp = NULL;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
120 char * ize;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
121 size_t inb,outb;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
122 char * charset = "ISO8859-1";
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
123 char * cs;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
124
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
125 if ( !strchr( str,'%' ) ) return str;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
126
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
127 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
128 char * t = calloc( 1,strlen( out ) );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
129 int i,c = 0;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
130 for ( i=0;i < (int)strlen( out );i++ )
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
131 if ( out[i] != '%' ) t[c++]=out[i];
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
132 else
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
133 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
134 char tmp[4] = "0xXX";
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
135 // if ( out[++i] == '%' ) { t[c++]='%'; continue; };
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
136 tmp[2]=out[++i]; tmp[3]=out[++i];
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
137 t[c++]=(char)strtol( tmp,(char **)NULL,0 );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
138 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
139 free( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
140 out=t;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
141 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
142
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
143 if ( (cs=getenv( "CHARSET" )) && *cs ) charset=cs;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
144
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
145 inb=outb=strlen( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
146 tmp=calloc( 1,outb + 1 );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
147 ize=tmp;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
148 d=iconv_open( charset,"UTF-8" );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
149 if ( (iconv_t)(-1) == d ) return str;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
150 iconv( d,&out,&inb,&tmp,&outb );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
151 iconv_close( d );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
152 free( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
153 return ize;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
154 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
155 #endif
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
156
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 5997
diff changeset
157 void guiInit( void )
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
158 {
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
159 int i;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
160
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
161 memset( &guiIntfStruct,0,sizeof( guiIntfStruct ) );
6898
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
162 guiIntfStruct.Balance=50.0f;
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
163 guiIntfStruct.StreamType=-1;
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
164
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
165 memset( &gtkEquChannels,0,sizeof( gtkEquChannels ) );
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
166 #ifdef USE_OSS_AUDIO
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
167 if ( !gtkAOOSSMixer ) gtkAOOSSMixer=strdup( PATH_DEV_MIXER );
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
168 if ( !gtkAOOSSDevice ) gtkAOOSSDevice=strdup( PATH_DEV_DSP );
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
169 #endif
7707
b3c7c62c106c upsz ...
pontscho
parents: 7706
diff changeset
170 #ifdef HAVE_DXR3
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
171 if ( !gtkDXR3Device ) gtkDXR3Device=strdup( "/dev/em8300-0" );
7707
b3c7c62c106c upsz ...
pontscho
parents: 7706
diff changeset
172 #endif
8311
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8302
diff changeset
173 fullscreen=gtkLoadFullscreen;
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8302
diff changeset
174 if ( stream_cache_size != -1 ) { gtkCacheOn=1; gtkCacheSize=stream_cache_size; }
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8302
diff changeset
175 if ( autosync && autosync != gtkAutoSync ) { gtkAutoSyncOn=1; gtkAutoSync=autosync; }
6898
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
176
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
177 gtkInit();
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
178 // --- initialize X
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
179 wsXInit( (void *)mDisplay );
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
180 // --- load skin
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
181 skinDirInHome=get_path("Skin");
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
182 skinMPlayerDir=DATADIR "/Skin";
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
183 printf("SKIN dir 1: '%s'\n",skinDirInHome);
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
184 printf("SKIN dir 2: '%s'\n",skinMPlayerDir);
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
185 if ( !skinName ) skinName=strdup( "default" );
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
186 switch ( skinRead( skinName ) )
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
187 {
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
188 case -1: mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_SKIN_SKINCFG_SkinNotFound,skinName ); exit( 0 );
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
189 case -2: mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_SKIN_SKINCFG_SkinCfgReadError,skinName ); exit( 0 );
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
190 }
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
191 // --- initialize windows
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
192 if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
193 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
194 fprintf( stderr,MSGTR_NEMDB );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
195 exit( 0 );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
196 }
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
197
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
198 wsCreateWindow( &appMPlayer.subWindow,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
199 appMPlayer.sub.x,appMPlayer.sub.y,appMPlayer.sub.width,appMPlayer.sub.height,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
200 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsShowFrame|wsHideWindow,"ViDEO" );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
201
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
202 wsDestroyImage( &appMPlayer.subWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
203 wsCreateImage( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Width,appMPlayer.sub.Bitmap.Height );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
204 wsXDNDMakeAwareness(&appMPlayer.subWindow);
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
205
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
206 vo_setwindow( appMPlayer.subWindow.WindowID, appMPlayer.subWindow.wGC );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
207
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
208 // i=wsHideFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
209 // if ( appMPlayer.mainDecoration ) i=wsShowFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
210 i=wsShowFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
211 wsCreateWindow( &appMPlayer.mainWindow,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
212 appMPlayer.main.x,appMPlayer.main.y,appMPlayer.main.width,appMPlayer.main.height,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
213 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,i,"MPlayer" ); //wsMinSize|
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
214
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
215 wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
216 wsXDNDMakeAwareness(&appMPlayer.mainWindow);
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
217
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
218 mplMenuInit();
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
219
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
220 #ifdef DEBUG
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
221 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] Depth on screen: %d\n",wsDepthOnScreen );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
222 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] parent: 0x%x\n",(int)appMPlayer.mainWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
223 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] sub: 0x%x\n",(int)appMPlayer.subWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
224 #endif
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
225
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
226 appMPlayer.mainWindow.ReDraw=(void *)mplMainDraw;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
227 appMPlayer.mainWindow.MouseHandler=mplMainMouseHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
228 appMPlayer.mainWindow.KeyHandler=mplMainKeyHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
229 appMPlayer.mainWindow.DandDHandler=mplDandDHandler;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
230
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
231 appMPlayer.subWindow.ReDraw=(void *)mplSubDraw;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
232 appMPlayer.subWindow.MouseHandler=mplSubMouseHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
233 appMPlayer.subWindow.KeyHandler=mplMainKeyHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
234 appMPlayer.subWindow.DandDHandler=mplDandDHandler;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
235
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
236 wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.subR,appMPlayer.subG,appMPlayer.subB );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
237 wsClearWindow( appMPlayer.subWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
238 if ( appMPlayer.sub.Bitmap.Image ) wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
239
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
240 btnModify( evSetVolume,guiIntfStruct.Volume );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
241 btnModify( evSetBalance,guiIntfStruct.Balance );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
242 btnModify( evSetMoviePosition,guiIntfStruct.Position );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
243
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
244 wsSetIcon( wsDisplay,appMPlayer.mainWindow.WindowID,guiIcon,guiIconMask );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
245 wsSetIcon( wsDisplay,appMPlayer.subWindow.WindowID,guiIcon,guiIconMask );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
246
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
247 guiIntfStruct.Playing=0;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
248
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
249 if ( !appMPlayer.mainDecoration ) wsWindowDecoration( &appMPlayer.mainWindow,0 );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
250
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
251 wsVisibleWindow( &appMPlayer.mainWindow,wsShowWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
252 #if 1
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
253 wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
254
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
255 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
256 XEvent xev;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
257 do { XNextEvent( wsDisplay,&xev ); } while ( xev.type != MapNotify || xev.xmap.event != appMPlayer.subWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
258 appMPlayer.subWindow.Mapped=wsMapped;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
259 }
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
260
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
261 if ( fullscreen )
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
262 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
263 mplFullScreen();
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
264 btnModify( evFullScreen,btnPressed );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
265 }
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
266 #endif
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
267 mplSubRender=1;
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
268 // ---
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
269
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
270 if ( filename ) mplSetFileName( NULL,filename,STREAMTYPE_FILE );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
271 if ( plCurrent && !filename ) mplSetFileName( plCurrent->path,plCurrent->name,STREAMTYPE_FILE );
6973
8cc27ab533b2 fix -sub
pontscho
parents: 6968
diff changeset
272 if ( sub_name ) guiSetFilename( guiIntfStruct.Subtitlename,sub_name );
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
273 #if defined( USE_OSD ) || defined( USE_SUB )
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
274 guiLoadFont();
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
275 #endif
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
276 }
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
277
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
278 void guiDone( void )
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
279 {
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
280 mp_msg( MSGT_GPLAYER,MSGL_V,"[gui] done.\n" );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
281 cfg_write();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
282 wsXDone();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
283 }
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
284
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
285 int guiCMDArray[] =
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
286 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
287 evLoad,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
288 evLoadSubtitle,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
289 evAbout,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
290 evPlay,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
291 evStop,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
292 evPlayList,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
293 evPreferences,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
294 evFullScreen,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
295 evSkinBrowser
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
296 };
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
297
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
298 extern ao_functions_t * audio_out;
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
299 extern vo_functions_t * video_out;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
300 extern int frame_dropping;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
301 extern int stream_dump_type;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
302 extern char ** vo_plugin_args;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
303
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
304 #if defined( USE_OSD ) || defined( USE_SUB )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
305 void guiLoadFont( void )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
306 {
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
307 #ifdef HAVE_FREETYPE
8635
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 8615
diff changeset
308 load_font_ft(vo_image_width, vo_image_height);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
309 #else
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
310 if ( vo_font )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
311 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
312 int i;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
313 if ( vo_font->name ) free( vo_font->name );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
314 if ( vo_font->fpath ) free( vo_font->fpath );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
315 for ( i=0;i<16;i++ )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
316 if ( vo_font->pic_a[i] )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
317 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
318 if ( vo_font->pic_a[i]->bmp ) free( vo_font->pic_a[i]->bmp );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
319 if ( vo_font->pic_a[i]->pal ) free( vo_font->pic_a[i]->pal );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
320 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
321 for ( i=0;i<16;i++ )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
322 if ( vo_font->pic_b[i] )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
323 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
324 if ( vo_font->pic_b[i]->bmp ) free( vo_font->pic_b[i]->bmp );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
325 if ( vo_font->pic_b[i]->pal ) free( vo_font->pic_b[i]->pal );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
326 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
327 free( vo_font ); vo_font=NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
328 }
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
329 if ( font_name )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
330 {
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
331 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
332 if ( !vo_font ) mp_msg( MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadFont,font_name );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
333 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
334 else
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
335 {
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
336 font_name=gstrdup( get_path( "font/font.desc" ) );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
337 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
338 if ( !vo_font )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
339 {
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
340 gfree( (void **)&font_name ); font_name=gstrdup( DATADIR"/font/font.desc" );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
341 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
342 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
343 }
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
344 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
345 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
346 #endif
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
347
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
348 #ifdef USE_SUB
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
349 extern mp_osd_obj_t* vo_osd_list;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
350
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
351 void guiLoadSubtitle( char * name )
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
352 {
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
353 if ( guiIntfStruct.Playing == 0 )
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
354 {
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
355 guiIntfStruct.SubtitleChanged=1;
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
356 return;
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
357 }
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
358 if ( subtitles )
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
359 {
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
360 mp_msg( MSGT_GPLAYER,MSGL_INFO,"[gui] Delete subtitles.\n" );
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
361 sub_free( subtitles );
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
362 subtitles=NULL;
7170
4ae1a0fecac5 upsz, 10l
pontscho
parents: 7169
diff changeset
363 gfree( (void **)&sub_name );
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
364 vo_sub=NULL;
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
365 if ( vo_osd_list )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
366 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
367 int len;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
368 mp_osd_obj_t * osd = vo_osd_list;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
369 while ( osd )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
370 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
371 if ( osd->type == OSDTYPE_SUBTITLE ) break;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
372 osd=osd->next;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
373 }
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
374 if ( osd && osd->flags&OSDFLAG_VISIBLE )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
375 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
376 len=osd->stride * ( osd->bbox.y2 - osd->bbox.y1 );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
377 memset( osd->bitmap_buffer,0,len );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
378 memset( osd->alpha_buffer,0,len );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
379 }
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
380 }
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
381 }
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
382 if ( name )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
383 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
384 mp_msg( MSGT_GPLAYER,MSGL_INFO,"[gui] Delete Load subtitle: %s\n",name );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
385 sub_name=gstrdup( name );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
386 subtitles=sub_read_file( sub_name,guiIntfStruct.FPS );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
387 }
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
388 }
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
389 #endif
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
390
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
391 static void add_vop( char * str )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
392 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
393 mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[gui] add video filter: %s\n",str );
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
394 if ( vo_plugin_args )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
395 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
396 int i = 0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
397 while ( vo_plugin_args[i] ) if ( !gstrcmp( vo_plugin_args[i++],str ) ) { i=-1; break; }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
398 if ( i != -1 )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
399 { vo_plugin_args=realloc( vo_plugin_args,( i + 2 ) * sizeof( char * ) ); vo_plugin_args[i]=strdup( str ); vo_plugin_args[i+1]=NULL; }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
400 } else { vo_plugin_args=malloc( 2 * sizeof( char * ) ); vo_plugin_args[0]=strdup( str ); vo_plugin_args[1]=NULL; }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
401 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
402
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
403 static void remove_vop( char * str )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
404 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
405 int n = 0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
406
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
407 if ( !vo_plugin_args ) return;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
408
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
409 mp_msg( MSGT_GPLAYER,MSGL_STATUS,"[gui] remove video filter: %s\n",str );
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
410
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
411 while ( vo_plugin_args[n++] ); n--;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
412 if ( n > -1 )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
413 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
414 int i = 0,m = -1;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
415 while ( vo_plugin_args[i] ) if ( !gstrcmp( vo_plugin_args[i++],str ) ) { m=i - 1; break; }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
416 i--;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
417 if ( m > -1 )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
418 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
419 if ( n == 1 ) { free( vo_plugin_args[0] ); free( vo_plugin_args ); vo_plugin_args=NULL; }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
420 else memcpy( &vo_plugin_args[i],&vo_plugin_args[i + 1],( n - i ) * sizeof( char * ) );
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
421 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
422 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
423 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
424
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
425 int guiGetEvent( int type,char * arg )
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
426 {
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
427 stream_t * stream = (stream_t *) arg;
5672
1f8b34f1e7c0 ifdef reading dvd args, without it non-dvd compilation fails.
eyck
parents: 5665
diff changeset
428 #ifdef USE_DVDREAD
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
429 dvd_priv_t * dvdp = (dvd_priv_t *) arg;
5672
1f8b34f1e7c0 ifdef reading dvd args, without it non-dvd compilation fails.
eyck
parents: 5665
diff changeset
430 #endif
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
431
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
432 switch ( type )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
433 {
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
434 case guiXEvent:
8302
c7fa49f1de0a no exit on fulscreen if you press esc
pontscho
parents: 8300
diff changeset
435 guiIntfStruct.event_struct=(void *)arg;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
436 wsEvents( wsDisplay,(XEvent *)arg,NULL );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
437 gtkEventHandling();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
438 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
439 case guiCEvent:
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
440 switch ( (int)arg )
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
441 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
442 case guiSetPlay: guiIntfStruct.Playing=1; break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
443 case guiSetStop: guiIntfStruct.Playing=0; break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
444 case guiSetPause: guiIntfStruct.Playing=2; break;
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
445 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
446 mplState();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
447 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
448 case guiSetState:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
449 mplState();
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
450 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
451 case guiSetFileName:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
452 if ( arg ) guiSetFilename( guiIntfStruct.Filename,arg );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
453 break;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
454 case guiSetAudioOnly:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
455 guiIntfStruct.AudioOnly=(int)arg;
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
456 if ( (int)arg ) { guiIntfStruct.NoWindow=True; wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow ); }
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
457 else wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
458 break;
8312
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
459 case guiSetDemuxer:
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
460 guiIntfStruct.demuxer=(void *)arg;
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
461 break;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
462 case guiSetShVideo:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
463 {
5986
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
464 if ( !appMPlayer.subWindow.isFullScreen )
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
465 {
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
466 wsResizeWindow( &appMPlayer.subWindow,vo_dwidth,vo_dheight );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
467 wsMoveWindow( &appMPlayer.subWindow,True,appMPlayer.sub.x,appMPlayer.sub.y );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
468 }
5955
caac20b1ca79 fix xmga fs, resize to movie size and mouse auto hide + dga
pontscho
parents: 5945
diff changeset
469 guiIntfStruct.MovieWidth=vo_dwidth;
5997
b5fb9a927bf3 add WM detection, and wm specific fullscreen code. (???)
pontscho
parents: 5986
diff changeset
470 guiIntfStruct.MovieHeight=vo_dheight;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
471 }
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
472 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
473 #ifdef USE_DVDREAD
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
474 case guiSetDVD:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
475 guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
476 guiIntfStruct.DVD.chapters=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_ptts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
477 guiIntfStruct.DVD.angles=dvdp->vmg_file->tt_srpt->title[dvd_title].nr_of_angles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
478 guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
479 memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
480 guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
481 memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
482 guiIntfStruct.DVD.current_title=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
483 guiIntfStruct.DVD.current_chapter=dvd_chapter + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
484 guiIntfStruct.DVD.current_angle=dvd_angle + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
485 guiIntfStruct.Track=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
486 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
487 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
488 case guiSetStream:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
489 guiIntfStruct.StreamType=stream->type;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
490 switch( stream->type )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
491 {
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
492 #ifdef USE_DVDREAD
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
493 case STREAMTYPE_DVD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
494 guiGetEvent( guiSetDVD,(char *)stream->priv );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
495 break;
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
496 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
497 #ifdef HAVE_VCD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
498 case STREAMTYPE_VCD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
499 {
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
500 int i;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
501 for ( i=1;i < 100;i++ )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
502 if ( vcd_seek_to_track( stream->fd,i ) < 0 ) break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
503 vcd_seek_to_track( stream->fd,vcd_track );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
504 guiIntfStruct.VCDTracks=--i;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
505 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
506 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
507 #endif
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
508 default: break;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
509 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
510 break;
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
511 case guiIEvent:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
512 printf( "cmd: %d\n",(int)arg );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
513 switch( (int)arg )
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
514 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
515 case MP_CMD_QUIT:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
516 mplEventHandling( evExit,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
517 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
518 case MP_CMD_VO_FULLSCREEN:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
519 mplEventHandling( evFullScreen,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
520 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
521 default:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
522 mplEventHandling( guiCMDArray[ (int)arg - MP_CMD_GUI_EVENTS - 1 ],0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
523 }
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
524 break;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
525 case guiReDraw:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
526 mplEventHandling( evRedraw,0 );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
527 break;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
528 case guiSetVolume:
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
529 if ( audio_out )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
530 {
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
531 float l,r;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
532 mixer_getvolume( &l,&r );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
533 guiIntfStruct.Volume=(r>l?r:l);
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
534 if ( r != l ) guiIntfStruct.Balance=( ( r - l ) + 100 ) * 0.5f;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
535 else guiIntfStruct.Balance=50.0f;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
536 btnModify( evSetVolume,guiIntfStruct.Volume );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
537 btnModify( evSetBalance,guiIntfStruct.Balance );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
538 }
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
539 break;
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
540 case guiSetFileFormat:
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
541 guiIntfStruct.FileFormat=(int)arg;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
542 break;
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
543 case guiSetValues:
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
544 // -- video
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
545 guiIntfStruct.sh_video=arg;
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
546 if ( arg )
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
547 {
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
548 sh_video_t * sh = (sh_video_t *)arg;
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
549 guiIntfStruct.FPS=sh->fps;
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
550 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
551
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
552 if ( guiIntfStruct.NoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
8280
72700fefd3dc no seeking if stream is STREAMTYPE_STREAM (net/stdin)
pontscho
parents: 8150
diff changeset
553
8300
bf8e8144dfa6 10l fix in item disabling (vagymi)
pontscho
parents: 8284
diff changeset
554 if ( guiIntfStruct.StreamType == STREAMTYPE_STREAM ) btnSet( evSetMoviePosition,btnDisabled );
bf8e8144dfa6 10l fix in item disabling (vagymi)
pontscho
parents: 8284
diff changeset
555 else btnSet( evSetMoviePosition,btnReleased );
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
556
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
557 // -- audio
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
558 if ( audio_out )
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
559 {
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
560 float l,r;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
561 mixer_getvolume( &l,&r );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
562 guiIntfStruct.Volume=(r>l?r:l);
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
563 if ( r != l ) guiIntfStruct.Balance=( ( r - l ) + 100 ) * 0.5f;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
564 else guiIntfStruct.Balance=50.0f;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
565 btnModify( evSetVolume,guiIntfStruct.Volume );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
566 btnModify( evSetBalance,guiIntfStruct.Balance );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
567 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
568
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
569 if ( gtkAONoSound ) { if ( !muted ) mixer_mute(); }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
570 else if ( muted ) mixer_mute();
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
571
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
572 if ( gtkEnableAudioEqualizer )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
573 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
574 equalizer_t eq;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
575 int i,j;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
576 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
577 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
578 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
579 eq.channel=i; eq.band=j; eq.gain=gtkEquChannels[i][j];
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
580 gtkSet( gtkSetEqualizer,0,&eq );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
581 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
582 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
583 // -- subtitle
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
584 #ifdef HAVE_DXR3
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
585 if ( video_driver_list && !gstrcmp( video_driver_list[0],"dxr3" ) && guiIntfStruct.FileFormat != DEMUXER_TYPE_MPEG_PS
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
586 #ifdef USE_LIBAVCODEC
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
587 && !gtkVopLAVC
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
588 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
589 #ifdef USE_LIBFAME
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
590 && !gtkVopFAME
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
591 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
592 )
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
593 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
594 gtkMessageBox( GTK_MB_FATAL,MSGTR_NEEDLAVCFAME );
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
595 guiIntfStruct.Playing=0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
596 return True;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
597 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
598 #endif
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
599 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
600 case guiSetDefaults:
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
601 if ( guiIntfStruct.Playing == 1 && guiIntfStruct.FilenameChanged )
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
602 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
603 audio_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
604 video_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
605 dvdsub_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
606 vobsub_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
607 stream_cache_size=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
608 autosync=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
609 vcd_track=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
610 dvd_title=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
611 }
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
612 wsPostRedisplay( &appMPlayer.subWindow );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
613 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
614 case guiSetParameters:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
615 switch ( guiIntfStruct.StreamType )
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
616 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
617 case STREAMTYPE_PLAYLIST:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
618 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
619 #ifdef HAVE_VCD
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
620 case STREAMTYPE_VCD:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
621 vcd_track=guiIntfStruct.Track;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
622 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
623 #endif
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
624 #ifdef USE_DVDREAD
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
625 case STREAMTYPE_DVD:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
626 dvd_title=guiIntfStruct.Title;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
627 dvd_chapter=guiIntfStruct.Chapter;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
628 dvd_angle=guiIntfStruct.Angle;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
629 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
630 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
631 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
632 if ( guiIntfStruct.StreamType != STREAMTYPE_PLAYLIST )
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
633 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
634 if ( guiIntfStruct.Filename ) filename=gstrdup( guiIntfStruct.Filename );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
635 else if ( filename ) guiSetFilename( guiIntfStruct.Filename,filename );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
636 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
637 // --- video opts
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
638
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
639 if ( !video_driver_list )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
640 {
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
641 int i = 0;
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
642 while ( video_out_drivers[i++] )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
643 if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
644 {
8150
851e974e6eaa updating
pontscho
parents: 8058
diff changeset
645 gaddlist( &video_driver_list,(char *)video_out_drivers[i - 1]->info->short_name );
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
646 break;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
647 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
648 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
649
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
650 if ( !video_driver_list && !video_driver_list[0] ) { gtkMessageBox( GTK_MB_FATAL,MSGTR_IDFGCVD ); exit_player( "gui init" ); }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
651
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
652 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
653 int i = 0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
654 guiIntfStruct.NoWindow=False;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
655 while ( video_out_drivers[i++] )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
656 if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
657 {
8150
851e974e6eaa updating
pontscho
parents: 8058
diff changeset
658 if ( ( video_driver_list && !gstrcmp( video_driver_list[0],(char *)video_out_drivers[i - 1]->info->short_name ) )&&( video_out_drivers[i - 1]->control( VOCTRL_GUI_NOWINDOW,NULL ) == VO_TRUE ) )
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
659 { guiIntfStruct.NoWindow=True; break; }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
660 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
661 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
662
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
663 #ifdef HAVE_DXR3
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
664 #ifdef USE_LIBAVCODEC
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
665 remove_vop( "lavc" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
666 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
667 #ifdef USE_LIBFAME
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
668 remove_vop( "fame" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
669 #endif
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
670 if ( video_driver_list && !gstrcmp( video_driver_list[0],"dxr3" ) )
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
671 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
672 if ( ( guiIntfStruct.StreamType != STREAMTYPE_DVD)&&( guiIntfStruct.StreamType != STREAMTYPE_VCD ) )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
673 {
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
674 #ifdef USE_LIBAVCODEC
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
675 if ( gtkVopLAVC ) add_vop( "lavc" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
676 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
677 #ifdef USE_LIBFAME
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
678 if ( gtkVopFAME ) add_vop( "fame" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
679 #endif
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
680 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
681 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
682 #endif
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
683 // ---
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
684 if ( gtkVopPP ) add_vop( "pp" );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
685 else remove_vop( "pp" );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
686
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
687 // --- audio opts
7887
0e5544951425 A small patch to Gui/interface.c; the first fix is a plain bug, the second is
arpi
parents: 7707
diff changeset
688 // if ( ao_plugin_cfg.plugin_list ) { free( ao_plugin_cfg.plugin_list ); ao_plugin_cfg.plugin_list=NULL; }
6840
ed02bae611d5 - some cosmetic change in preferences
pontscho
parents: 6797
diff changeset
689 if ( gtkAONorm ) gset( &ao_plugin_cfg.plugin_list,"volnorm" );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
690 if ( gtkEnableAudioEqualizer ) gset( &ao_plugin_cfg.plugin_list,"eq" );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
691 if ( gtkAOExtraStereo )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
692 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
693 gset( &ao_plugin_cfg.plugin_list,"extrastereo" );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
694 ao_plugin_cfg.pl_extrastereo_mul=gtkAOExtraStereoMul;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
695 }
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
696 #ifdef USE_OSS_AUDIO
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
697 mixer_device=gstrdup( gtkAOOSSMixer );
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
698 if ( audio_driver_list && !gstrncmp( audio_driver_list[0],"oss",3 ) && gtkAOOSSDevice )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
699 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
700 char * tmp = calloc( 1,strlen( gtkAOOSSDevice ) + 7 );
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
701 sprintf( tmp,"oss:%s",gtkAOOSSDevice );
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
702 gaddlist( &audio_driver_list,tmp );
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
703 }
8615
935764ebfb6a missing #endif
arpi
parents: 8600
diff changeset
704 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
705
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
706 // -- subtitle
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
707 #ifdef USE_SUB
7170
4ae1a0fecac5 upsz, 10l
pontscho
parents: 7169
diff changeset
708 sub_name=gstrdup( guiIntfStruct.Subtitlename );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
709 stream_dump_type=0;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
710 if ( gtkSubDumpMPSub ) stream_dump_type=4;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
711 if ( gtkSubDumpSrt ) stream_dump_type=6;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
712 gtkSubDumpMPSub=gtkSubDumpSrt=0;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
713 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
714 #if defined( USE_OSD ) || defined( USE_SUB )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
715 guiLoadFont();
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
716 #endif
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
717
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
718 // --- misc
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
719 if ( gtkCacheOn ) stream_cache_size=gtkCacheSize;
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
720 if ( gtkAutoSyncOn ) autosync=gtkAutoSync;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
721
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
722 if ( guiIntfStruct.AudioFile ) audio_stream=gstrdup( guiIntfStruct.AudioFile );
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
723 else if ( guiIntfStruct.FilenameChanged ) gfree( (void**)&audio_stream );
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
724 //audio_stream=NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
725
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
726 guiIntfStruct.DiskChanged=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
727 guiIntfStruct.FilenameChanged=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
728 guiIntfStruct.NewPlay=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
729
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
730 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
731 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
732 return False;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
733 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
734
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
735 void guiEventHandling( void )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
736 {
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
737 if ( !guiIntfStruct.Playing || guiIntfStruct.NoWindow ) wsHandleEvents();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
738 gtkEventHandling();
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
739 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
740
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
741 // ---
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
742
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
743 float gtkEquChannels[6][10];
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
744
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
745 plItem * plCurrent = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
746 plItem * plList = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
747 plItem * plLastPlayed = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
748
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
749 URLItem *URLList = NULL;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
750
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
751 #if defined( MP_DEBUG ) && 0
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
752 void list( void )
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
753 {
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
754 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
755 printf( "--- list ---\n" );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
756 while( next || next->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
757 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
758 printf( "item: %s/%s\n",next->path,next->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
759 if ( next->next ) next=next->next; else break;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
760 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
761 printf( "--- end of list ---\n" );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
762 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
763 #else
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
764 #define list();
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
765 #endif
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
766
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
767 void * gtkSet( int cmd,float fparam, void * vparam )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
768 {
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
769 equalizer_t * eq = (equalizer_t *)vparam;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
770 plItem * item = (plItem *)vparam;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
771
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
772 URLItem * url_item = (URLItem *)vparam;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
773 int is_added = True;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
774
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
775 switch ( cmd )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
776 {
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
777 // --- handle playlist
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
778 case gtkAddPlItem: // add item to playlist
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
779 if ( plList )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
780 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
781 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
782 while ( next->next ) { /*printf( "%s\n",next->name );*/ next=next->next; }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
783 next->next=item; item->prev=next;
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
784 } else { item->prev=item->next=NULL; plCurrent=plList=item; }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
785 list();
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
786 return NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
787 case gtkGetNextPlItem: // get current item from playlist
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
788 if ( plCurrent )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
789 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
790 plCurrent=plCurrent->next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
791 if ( !plCurrent && plList )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
792 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
793 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
794 while ( next->next ) { if ( !next->next ) break; next=next->next; }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
795 plCurrent=next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
796 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
797 return plCurrent;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
798 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
799 return NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
800 case gtkGetPrevPlItem:
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
801 if ( plCurrent )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
802 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
803 plCurrent=plCurrent->prev;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
804 if ( !plCurrent && plList ) plCurrent=plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
805 return plCurrent;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
806 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
807 return NULL;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
808 case gtkGetCurrPlItem: // get current item
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
809 return plCurrent;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
810 case gtkDelPl: // delete list
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
811 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
812 plItem * curr = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
813 plItem * next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
814 if ( !plList ) return NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
815 if ( !curr->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
816 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
817 if ( curr->path ) free( curr->path );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
818 if ( curr->name ) free( curr->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
819 free( curr );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
820 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
821 else
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
822 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
823 while ( curr->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
824 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
825 next=curr->next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
826 if ( curr->path ) free( curr->path );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
827 if ( curr->name ) free( curr->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
828 free( curr );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
829 curr=next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
830 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
831 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
832 plList=NULL; plCurrent=NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
833 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
834 return NULL;
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
835 // ----- Handle url
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
836 case gtkAddURLItem:
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
837 if ( URLList )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
838 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
839 URLItem * next_url = URLList;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
840 is_added = False;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
841 while ( next_url->next )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
842 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
843 if ( !gstrcmp( next_url->url,url_item->url ) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
844 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
845 is_added=True;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
846 break;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
847 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
848 next_url=next_url->next;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
849 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
850 if ( ( !is_added )&&( gstrcmp( next_url->url,url_item->url ) ) ) next_url->next=url_item;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
851 } else { url_item->next=NULL; URLList=url_item; }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
852 return NULL;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
853 // --- subtitle
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
854 #if defined( USE_OSD ) || defined( USE_SUB )
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
855 #ifndef HAVE_FREETYPE
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
856 case gtkSetFontFactor:
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
857 font_factor=fparam;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
858 guiLoadFont();
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
859 return NULL;
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
860 #else
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
861 case gtkSetFontOutLine:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
862 subtitle_font_thickness=( 8.0f / 100.0f ) * fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
863 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
864 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
865 case gtkSetFontBlur:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
866 subtitle_font_radius=( 8.0f / 100.0f ) * fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
867 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
868 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
869 case gtkSetFontTextScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
870 text_font_scale_factor=fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
871 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
872 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
873 case gtkSetFontOSDScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
874 osd_font_scale_factor=fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
875 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
876 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
877 case gtkSetFontEncoding:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
878 if ( subtitle_font_encoding ) free( subtitle_font_encoding );
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
879 subtitle_font_encoding=gstrdup( (char *)vparam );
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
880 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
881 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
882 case gtkSetFontAutoScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
883 subtitle_autoscale=(int)fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
884 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
885 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
886 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
887 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
888 // --- misc
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
889 case gtkClearStruct:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
890 if ( (unsigned int)vparam & guiFilenames )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
891 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
892 gfree( (void **)&guiIntfStruct.Filename );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
893 gfree( (void **)&guiIntfStruct.Subtitlename );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
894 gfree( (void **)&guiIntfStruct.AudioFile );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
895 gtkSet( gtkDelPl,0,NULL );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
896 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
897 #ifdef USE_DVDREAD
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
898 if ( (unsigned int)vparam & guiDVD ) memset( &guiIntfStruct.DVD,0,sizeof( guiDVDStruct ) );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
899 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
900 #ifdef HAVE_VCD
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
901 if ( (unsigned int)vparam & guiVCD ) guiIntfStruct.VCDTracks=0;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
902 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
903 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
904 case gtkSetExtraStereo:
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
905 gtkAOExtraStereoMul=fparam;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
906 audio_plugin_extrastereo.control( AOCONTROL_PLUGIN_ES_SET,(int)&gtkAOExtraStereoMul );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
907 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
908 case gtkSetPanscan:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
909 {
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
910 mp_cmd_t * mp_cmd;
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
911 mp_cmd=(mp_cmd_t *)calloc( 1,sizeof( *mp_cmd ) );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
912 mp_cmd->id=MP_CMD_PANSCAN; mp_cmd->name=strdup( "panscan" );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
913 mp_cmd->args[0].v.f=fparam; mp_cmd->args[1].v.i=1;
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
914 mp_input_queue_cmd( mp_cmd );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
915 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
916 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
917 case gtkSetAutoq:
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
918 auto_quality=(int)fparam;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
919 return NULL;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
920 // --- set equalizers
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
921 case gtkSetContrast:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
922 if ( guiIntfStruct.sh_video ) set_video_colors( guiIntfStruct.sh_video,"contrast",(int)fparam );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
923 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
924 case gtkSetBrightness:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
925 if ( guiIntfStruct.sh_video ) set_video_colors( guiIntfStruct.sh_video,"brightness",(int)fparam );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
926 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
927 case gtkSetHue:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
928 if ( guiIntfStruct.sh_video ) set_video_colors( guiIntfStruct.sh_video,"hue",(int)fparam );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
929 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
930 case gtkSetSaturation:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
931 if ( guiIntfStruct.sh_video ) set_video_colors( guiIntfStruct.sh_video,"saturation",(int)fparam );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
932 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
933 case gtkSetEqualizer:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
934 if ( eq )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
935 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
936 gtkEquChannels[eq->channel][eq->band]=eq->gain;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
937 audio_plugin_eq.control( AOCONTROL_PLUGIN_EQ_SET_GAIN,(int)eq );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
938 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
939 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
940 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
941 int i,j; equalizer_t tmp; tmp.gain=0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
942 memset( gtkEquChannels,0,sizeof( gtkEquChannels ) );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
943 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
944 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
945 { tmp.channel=i; tmp.band=j; audio_plugin_eq.control( AOCONTROL_PLUGIN_EQ_SET_GAIN,(int)&tmp ); }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
946 }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
947 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
948 }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
949 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
950 }