annotate Gui/interface.c @ 8203:3af4919d9c5f

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