annotate Gui/interface.c @ 11143:ebf702420f9b

Add some missing <option> tags, patch by Torinthiel.
author diego
date Thu, 16 Oct 2003 11:40:13 +0000
parents 73702d2f93ab
children ec3dac7d17a0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
1
4845
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
2 #include <inttypes.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
3 #include <stdlib.h>
ed5aa118e142 inttypes.h bug fix. 10l
pontscho
parents: 4818
diff changeset
4 #include <stdio.h>
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
5 #include <string.h>
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
6 #include <sys/types.h>
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
7
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
8 #include "wm/ws.h"
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
9 #include "wm/wsxdnd.h"
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
10 #include "interface.h"
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
11 #include "skin/skin.h"
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
12
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
13 #include "mplayer/gtk/eq.h"
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
14 #include "mplayer/widgets.h"
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
15 #include "mplayer/mplayer.h"
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
16 #include "mplayer/play.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
17
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
18 #include "../mplayer.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
19 #include "app.h"
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
20 #include "cfg.h"
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
21 #include "../help_mp.h"
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
22 #include "../subreader.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
23 #include "../libvo/x11_common.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
24 #include "../libvo/video_out.h"
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
25 #include "../libvo/font_load.h"
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
26 #include "../libvo/sub.h"
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
27 #include "../input/input.h"
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
28 #include "../libao2/audio_out.h"
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
29 #include "../mixer.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
30 #include "../libao2/audio_plugin.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
31 #include "../libao2/eq.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
32
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
33 #ifdef USE_ICONV
7128
dc48f2130a76 FreeBSD iconv change/fix
nexus
parents: 7122
diff changeset
34 #include <iconv.h>
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
35 #endif
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
36
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
37 #include "../libmpdemux/stream.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
38 #include "../libmpdemux/demuxer.h"
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
39 #include "../libmpdemux/stheader.h"
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
40 #include "../libmpcodecs/dec_video.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
41
10594
57bdcdb061d7 Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents: 10272
diff changeset
42 #include "../m_config.h"
57bdcdb061d7 Removed the historic cfgparser and switched full to the new config parser (altought some macros still remain for compatibility). As a side effect 90% of the warning messages are gone from the core. Things should be cleaner now and less confusing for newbies.
alex
parents: 10272
diff changeset
43 #include "../m_option.h"
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
44
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
45 guiInterface_t guiIntfStruct;
9314
f38fe55d0e05 this patch adds the option -guiwid to gmplayer. I think its a more clean
arpi
parents: 9306
diff changeset
46 int guiWinID=-1;
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
47
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
48 char * gstrcat( char ** dest,char * src )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
49 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
50 char * tmp = NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
51
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
52 if ( !src ) return NULL;
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 if ( *dest )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
55 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
56 tmp=malloc( strlen( *dest ) + strlen( src ) + 1 );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
57 strcpy( tmp,*dest ); strcat( tmp,src ); free( *dest );
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 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
60 { tmp=malloc( strlen( src ) + 1 ); strcpy( tmp,src ); }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
61 *dest=tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
62 return tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
63 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
64
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
65 int gstrcmp( char * a,char * b )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
66 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
67 if ( !a && !b ) return 0;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
68 if ( !a || !b ) return -1;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
69 return strcmp( a,b );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
70 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
71
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
72 int gstrncmp( char * a,char * b,int size )
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
73 {
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
74 if ( !a && !b ) return 0;
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
75 if ( !a || !b ) return -1;
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
76 return strncmp( a,b,size );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
77 }
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
78
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
79 char * gstrdup( char * str )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
80 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
81 if ( !str ) return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
82 return strdup( str );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
83 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
84
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
85 char * gstrchr( char * str,int c )
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
86 {
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
87 if ( !str ) return NULL;
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
88 return strchr( str,c );
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
89 }
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
90
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
91 void gfree( void ** p )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
92 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
93 if ( *p == NULL ) return;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
94 free( *p ); *p=NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
95 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
96
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
97 void gset( char ** str,char * what )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
98 {
7887
0e5544951425 A small patch to Gui/interface.c; the first fix is a plain bug, the second is
arpi
parents: 7707
diff changeset
99 if ( *str ) { if ( !strstr( *str,what ) ) { gstrcat( str,"," ); gstrcat( str,what ); }}
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
100 else gstrcat( str,what );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
101 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
102
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
103 void gaddlist( char *** list,char * entry )
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
104 {
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
105 int i;
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
106
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
107 if ( (*list) )
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
108 {
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
109 for ( i=0;(*list)[i];i++ ) free( (*list)[i] );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
110 free( (*list) );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
111 }
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
112
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
113 (*list)=malloc( 8 );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
114 (*list)[0]=gstrdup( entry );
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
115 (*list)[1]=NULL;
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
116 }
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
117
6996
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
118 #ifdef USE_ICONV
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
119 char * gconvert_uri_to_filename( char * str )
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
120 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
121 iconv_t d;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
122 char * out = strdup( str );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
123 char * tmp = NULL;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
124 char * ize;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
125 size_t inb,outb;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
126 char * charset = "ISO8859-1";
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
127 char * cs;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
128
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
129 if ( !strchr( str,'%' ) ) return str;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
130
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
131 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
132 char * t = calloc( 1,strlen( out ) );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
133 int i,c = 0;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
134 for ( i=0;i < (int)strlen( out );i++ )
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
135 if ( out[i] != '%' ) t[c++]=out[i];
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
136 else
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
137 {
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
138 char tmp[4] = "0xXX";
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
139 // if ( out[++i] == '%' ) { t[c++]='%'; continue; };
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
140 tmp[2]=out[++i]; tmp[3]=out[++i];
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
141 t[c++]=(char)strtol( tmp,(char **)NULL,0 );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
142 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
143 free( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
144 out=t;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
145 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
146
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
147 if ( (cs=getenv( "CHARSET" )) && *cs ) charset=cs;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
148
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
149 inb=outb=strlen( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
150 tmp=calloc( 1,outb + 1 );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
151 ize=tmp;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
152 d=iconv_open( charset,"UTF-8" );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
153 if ( (iconv_t)(-1) == d ) return str;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
154 iconv( d,&out,&inb,&tmp,&outb );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
155 iconv_close( d );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
156 free( out );
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
157 return ize;
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
158 }
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
159 #endif
163f78ece9c2 add uri2filename converter
pontscho
parents: 6973
diff changeset
160
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 5997
diff changeset
161 void guiInit( void )
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
162 {
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
163 int i;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
164
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
165 memset( &guiIntfStruct,0,sizeof( guiIntfStruct ) );
6898
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
166 guiIntfStruct.Balance=50.0f;
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
167 guiIntfStruct.StreamType=-1;
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
168
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
169 memset( &gtkEquChannels,0,sizeof( gtkEquChannels ) );
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
170 #ifdef USE_OSS_AUDIO
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
171 if ( !gtkAOOSSMixer ) gtkAOOSSMixer=strdup( PATH_DEV_MIXER );
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
172 if ( !gtkAOOSSDevice ) gtkAOOSSDevice=strdup( PATH_DEV_DSP );
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
173 #endif
7707
b3c7c62c106c upsz ...
pontscho
parents: 7706
diff changeset
174 #ifdef HAVE_DXR3
7706
90044efe01ee - better dxr3 support
pontscho
parents: 7582
diff changeset
175 if ( !gtkDXR3Device ) gtkDXR3Device=strdup( "/dev/em8300-0" );
7707
b3c7c62c106c upsz ...
pontscho
parents: 7706
diff changeset
176 #endif
8311
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8302
diff changeset
177 if ( stream_cache_size != -1 ) { gtkCacheOn=1; gtkCacheSize=stream_cache_size; }
37ab4e646f65 add autosync && some 10l bugfix
pontscho
parents: 8302
diff changeset
178 if ( autosync && autosync != gtkAutoSync ) { gtkAutoSyncOn=1; gtkAutoSync=autosync; }
6898
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
179
138a7ff52a26 - fix fuckin' locale (?:)
pontscho
parents: 6891
diff changeset
180 gtkInit();
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
181 // --- initialize X
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
182 wsXInit( (void *)mDisplay );
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
183 // --- load skin
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
184 skinDirInHome=get_path("Skin");
10272
7b0bc557987b renames: DATADIR->MPLAYER_DATADIR, CONFDIR->MPLAYER_CONFDIR, LIBDIR->MPLAYER_LIBDIR
arpi
parents: 10193
diff changeset
185 skinMPlayerDir=MPLAYER_DATADIR "/Skin";
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
186 printf("SKIN dir 1: '%s'\n",skinDirInHome);
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
187 printf("SKIN dir 2: '%s'\n",skinMPlayerDir);
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
188 if ( !skinName ) skinName=strdup( "default" );
10607
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
189 i = skinRead( skinName );
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
190 if ((i == -1) && strcmp(skinName,"default"))
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
191 {
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
192 mp_msg( MSGT_GPLAYER,MSGL_INFO,"Selected skin ( %s ) not found, trying 'default'...\n", skinName);
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
193 skinName=strdup( "default" );
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
194 i = skinRead( skinName );
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
195 }
a17ebe817e33 Fixed a long standing issue: if configured a not available (not existing, permission denied, ...) skin, the gui never ever started again. Now it reverts to 'default' if it can't open the selected skin, if 'default' fails too, the gui exits with error.
alex
parents: 10594
diff changeset
196 switch (i) {
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
197 case -1: mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_SKIN_SKINCFG_SkinNotFound,skinName ); exit( 0 );
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
198 case -2: mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_SKIN_SKINCFG_SkinCfgReadError,skinName ); exit( 0 );
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
199 }
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
200 // --- initialize windows
9088
731e5dc57436 - fix -fs
pontscho
parents: 9056
diff changeset
201 if ( ( mplDrawBuffer = (unsigned char *)malloc( appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
202 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
203 fprintf( stderr,MSGTR_NEMDB );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
204 exit( 0 );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
205 }
9306
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
206
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
207 if ( gui_save_pos )
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
208 {
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
209 appMPlayer.main.x = gui_main_pos_x;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
210 appMPlayer.main.y = gui_main_pos_y;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
211 appMPlayer.sub.x = gui_sub_pos_x;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
212 appMPlayer.sub.y = gui_sub_pos_y;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
213 }
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
214
9306
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
215 if (WinID>0)
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
216 {
9306
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
217 appMPlayer.subWindow.Parent=WinID;
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
218 appMPlayer.sub.x=0;
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
219 appMPlayer.sub.y=0;
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
220 }
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
221 if (guiWinID>=0) appMPlayer.mainWindow.Parent=guiWinID;
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
222
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
223 wsCreateWindow( &appMPlayer.subWindow,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
224 appMPlayer.sub.x,appMPlayer.sub.y,appMPlayer.sub.width,appMPlayer.sub.height,
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
225 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,wsShowFrame|wsHideWindow,"MPlayer - Video" );
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
226
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
227 wsDestroyImage( &appMPlayer.subWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
228 wsCreateImage( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Width,appMPlayer.sub.Bitmap.Height );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
229 wsXDNDMakeAwareness(&appMPlayer.subWindow);
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
230
8973
0a665389cf2b - add playbar
pontscho
parents: 8949
diff changeset
231 mplMenuInit();
0a665389cf2b - add playbar
pontscho
parents: 8949
diff changeset
232 mplPBInit();
0a665389cf2b - add playbar
pontscho
parents: 8949
diff changeset
233
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
234 vo_setwindow( appMPlayer.subWindow.WindowID, appMPlayer.subWindow.wGC );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
235
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
236 // i=wsHideFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
237 // if ( appMPlayer.mainDecoration ) i=wsShowFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
238 i=wsShowFrame|wsMaxSize|wsHideWindow;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
239 wsCreateWindow( &appMPlayer.mainWindow,
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
240 appMPlayer.main.x,appMPlayer.main.y,appMPlayer.main.width,appMPlayer.main.height,
8949
d07ab8e088a9 correct skin changing
pontscho
parents: 8920
diff changeset
241 wsNoBorder,wsShowMouseCursor|wsHandleMouseButton|wsHandleMouseMove,i,"MPlayer" );
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
242
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
243 wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
244 wsXDNDMakeAwareness(&appMPlayer.mainWindow);
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
245
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
246 #ifdef DEBUG
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
247 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] Depth on screen: %d\n",wsDepthOnScreen );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
248 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] parent: 0x%x\n",(int)appMPlayer.mainWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
249 mp_msg( MSGT_GPLAYER,MSGL_DBG2,"[main] sub: 0x%x\n",(int)appMPlayer.subWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
250 #endif
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
251
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
252 appMPlayer.mainWindow.ReDraw=(void *)mplMainDraw;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
253 appMPlayer.mainWindow.MouseHandler=mplMainMouseHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
254 appMPlayer.mainWindow.KeyHandler=mplMainKeyHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
255 appMPlayer.mainWindow.DandDHandler=mplDandDHandler;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
256
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
257 appMPlayer.subWindow.ReDraw=(void *)mplSubDraw;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
258 appMPlayer.subWindow.MouseHandler=mplSubMouseHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
259 appMPlayer.subWindow.KeyHandler=mplMainKeyHandle;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
260 appMPlayer.subWindow.DandDHandler=mplDandDHandler;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
261
8973
0a665389cf2b - add playbar
pontscho
parents: 8949
diff changeset
262 wsSetBackgroundRGB( &appMPlayer.subWindow,appMPlayer.sub.R,appMPlayer.sub.G,appMPlayer.sub.B );
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
263 wsClearWindow( appMPlayer.subWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
264 if ( appMPlayer.sub.Bitmap.Image ) wsConvert( &appMPlayer.subWindow,appMPlayer.sub.Bitmap.Image,appMPlayer.sub.Bitmap.ImageSize );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
265
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
266 btnModify( evSetVolume,guiIntfStruct.Volume );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
267 btnModify( evSetBalance,guiIntfStruct.Balance );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
268 btnModify( evSetMoviePosition,guiIntfStruct.Position );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
269
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
270 wsSetIcon( wsDisplay,appMPlayer.mainWindow.WindowID,guiIcon,guiIconMask );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
271 wsSetIcon( wsDisplay,appMPlayer.subWindow.WindowID,guiIcon,guiIconMask );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
272
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
273 guiIntfStruct.Playing=0;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
274
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
275 if ( !appMPlayer.mainDecoration ) wsWindowDecoration( &appMPlayer.mainWindow,0 );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
276
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
277 wsVisibleWindow( &appMPlayer.mainWindow,wsShowWindow );
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
278 #if 0
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
279 wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
280
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
281 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
282 XEvent xev;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
283 do { XNextEvent( wsDisplay,&xev ); } while ( xev.type != MapNotify || xev.xmap.event != appMPlayer.subWindow.WindowID );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
284 appMPlayer.subWindow.Mapped=wsMapped;
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
285 }
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
286
9088
731e5dc57436 - fix -fs
pontscho
parents: 9056
diff changeset
287 if ( !fullscreen ) fullscreen=gtkLoadFullscreen;
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
288 if ( fullscreen )
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
289 {
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
290 mplFullScreen();
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
291 btnModify( evFullScreen,btnPressed );
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
292 }
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
293 #else
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
294 if ( gtkShowVideoWindow )
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
295 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
296 wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
297 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
298 XEvent xev;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
299 do { XNextEvent( wsDisplay,&xev ); } while ( xev.type != MapNotify || xev.xmap.event != appMPlayer.subWindow.WindowID );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
300 appMPlayer.subWindow.Mapped=wsMapped;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
301 }
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
302
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
303 if ( fullscreen )
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
304 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
305 mplFullScreen();
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
306 btnModify( evFullScreen,btnPressed );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
307 }
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
308 }
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
309 else
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
310 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
311 if ( fullscreen )
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
312 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
313 wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
314 {
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
315 XEvent xev;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
316 do { XNextEvent( wsDisplay,&xev ); } while ( xev.type != MapNotify || xev.xmap.event != appMPlayer.subWindow.WindowID );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
317 appMPlayer.subWindow.Mapped=wsMapped;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
318 }
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
319 wsVisibleWindow( &appMPlayer.subWindow, wsShowWindow );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
320
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
321 mplFullScreen();
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
322 btnModify( evFullScreen,btnPressed );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
323 }
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
324 }
8058
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
325 #endif
9246adcf95f0 cosmetic
pontscho
parents: 8043
diff changeset
326 mplSubRender=1;
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
327 // ---
7538
c7b61f316edf - add "start in fullscreen" function
pontscho
parents: 7526
diff changeset
328
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
329 if ( filename ) mplSetFileName( NULL,filename,STREAMTYPE_FILE );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
330 if ( plCurrent && !filename ) mplSetFileName( plCurrent->path,plCurrent->name,STREAMTYPE_FILE );
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
331 if ( subdata ) guiSetFilename( guiIntfStruct.Subtitlename, subdata->filename );
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
332 #if defined( USE_OSD ) || defined( USE_SUB )
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
333 guiLoadFont();
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
334 #endif
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
335 }
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
336
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
337 void guiDone( void )
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
338 {
8883
d6d999a9fc41 - new font render finished
pontscho
parents: 8714
diff changeset
339 mplMainRender=0;
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
340 mp_msg( MSGT_GPLAYER,MSGL_V,"[gui] done.\n" );
9625
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
341
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
342 if ( gui_save_pos )
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
343 {
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
344 gui_main_pos_x=appMPlayer.mainWindow.X; gui_main_pos_y=appMPlayer.mainWindow.Y;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
345 gui_sub_pos_x=appMPlayer.subWindow.X; gui_sub_pos_y=appMPlayer.subWindow.Y;
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
346 }
bc24dd70c6e2 many 10l for me ...
pontscho
parents: 9623
diff changeset
347
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
348 cfg_write();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
349 wsXDone();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
350 }
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
351
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
352 int guiCMDArray[] =
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
353 {
8883
d6d999a9fc41 - new font render finished
pontscho
parents: 8714
diff changeset
354 evLoadPlay,
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
355 evLoadSubtitle,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
356 evAbout,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
357 evPlay,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
358 evStop,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
359 evPlayList,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
360 evPreferences,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
361 evFullScreen,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
362 evSkinBrowser
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
363 };
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
364
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
365 extern ao_functions_t * audio_out;
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
366 extern vo_functions_t * video_out;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
367 extern int frame_dropping;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
368 extern int stream_dump_type;
9812
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
369 extern int vcd_track;
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
370 extern m_obj_settings_t*vo_plugin_args;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
371
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
372 #if defined( USE_OSD ) || defined( USE_SUB )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
373 void guiLoadFont( void )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
374 {
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
375 #ifdef HAVE_FREETYPE
8635
81dbd28ef7c0 these patches let ,,oldstyle'' and freetype subtitle renderers live
arpi
parents: 8615
diff changeset
376 load_font_ft(vo_image_width, vo_image_height);
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
377 #else
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
378 if ( vo_font )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
379 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
380 int i;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
381 if ( vo_font->name ) free( vo_font->name );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
382 if ( vo_font->fpath ) free( vo_font->fpath );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
383 for ( i=0;i<16;i++ )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
384 if ( vo_font->pic_a[i] )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
385 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
386 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
387 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
388 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
389 for ( i=0;i<16;i++ )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
390 if ( vo_font->pic_b[i] )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
391 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
392 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
393 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
394 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
395 free( vo_font ); vo_font=NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
396 }
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
397 if ( font_name )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
398 {
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
399 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
400 if ( !vo_font ) mp_msg( MSGT_CPLAYER,MSGL_ERR,MSGTR_CantLoadFont,font_name );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
401 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
402 else
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
403 {
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
404 font_name=gstrdup( get_path( "font/font.desc" ) );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
405 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
406 if ( !vo_font )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
407 {
10272
7b0bc557987b renames: DATADIR->MPLAYER_DATADIR, CONFDIR->MPLAYER_CONFDIR, LIBDIR->MPLAYER_LIBDIR
arpi
parents: 10193
diff changeset
408 gfree( (void **)&font_name ); font_name=gstrdup(MPLAYER_DATADIR "/font/font.desc" );
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
409 vo_font=read_font_desc( font_name,font_factor,0 );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
410 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
411 }
7122
0dc9cb756b68 freetype 2.0/2.1+ support - disabled by default until bugs fixed
arpi
parents: 7111
diff changeset
412 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
413 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
414 #endif
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
415
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
416 #ifdef USE_SUB
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
417 extern mp_osd_obj_t* vo_osd_list;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
418
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
419 extern char **sub_name;
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
420
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
421 void guiLoadSubtitle( char * name )
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
422 {
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
423 if ( guiIntfStruct.Playing == 0 )
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
424 {
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
425 guiIntfStruct.SubtitleChanged=1; //what is this for? (mw)
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
426 return;
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
427 }
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
428 if ( subdata )
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
429 {
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
430 mp_msg( MSGT_GPLAYER,MSGL_INFO,"[gui] Delete subtitles.\n" );
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
431 sub_free( subdata );
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
432 subdata=NULL;
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
433 vo_sub=NULL;
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
434 if ( vo_osd_list )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
435 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
436 int len;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
437 mp_osd_obj_t * osd = vo_osd_list;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
438 while ( osd )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
439 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
440 if ( osd->type == OSDTYPE_SUBTITLE ) break;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
441 osd=osd->next;
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
442 }
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
443 if ( osd && osd->flags&OSDFLAG_VISIBLE )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
444 {
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
445 len=osd->stride * ( osd->bbox.y2 - osd->bbox.y1 );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
446 memset( osd->bitmap_buffer,0,len );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
447 memset( osd->alpha_buffer,0,len );
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
448 }
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
449 }
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
450 }
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
451 if ( name )
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
452 {
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
453 mp_msg( MSGT_GPLAYER,MSGL_INFO,"[gui] Load subtitle: %s\n",name );
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
454 subdata=sub_read_file( gstrdup( name ), guiIntfStruct.FPS );
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
455 if ( !subdata ) mp_msg( MSGT_GPLAYER,MSGL_ERR,MSGTR_CantLoadSub,name );
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
456 sub_name = (malloc(2 * sizeof(char*))); //when mplayer will be restarted
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
457 sub_name[0] = strdup(name); //sub_name[0] will be read
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
458 sub_name[1] = NULL;
7169
35bab6be713b add subtitle dropping support
pontscho
parents: 7151
diff changeset
459 }
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
460 update_set_of_subtitles();
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
461
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
462 }
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
463 #endif
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
464
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
465 static void add_vop( char * str )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
466 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
467 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
468 if ( vo_plugin_args )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
469 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
470 int i = 0;
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
471 while ( vo_plugin_args[i].name ) if ( !gstrcmp( vo_plugin_args[i++].name,str ) ) { i=-1; break; }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
472 if ( i != -1 )
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
473 { vo_plugin_args=realloc( vo_plugin_args,( i + 2 ) * sizeof( m_obj_settings_t ) ); vo_plugin_args[i].name=strdup( str );vo_plugin_args[i].attribs = NULL; vo_plugin_args[i+1].name=NULL; }
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
474 } else { vo_plugin_args=malloc( 2 * sizeof( m_obj_settings_t ) ); vo_plugin_args[0].name=strdup( str );vo_plugin_args[0].attribs = NULL; vo_plugin_args[1].name=NULL; }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
475 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
476
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
477 static void remove_vop( char * str )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
478 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
479 int n = 0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
480
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
481 if ( !vo_plugin_args ) return;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
482
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
483 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
484
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
485 while ( vo_plugin_args[n++].name ); n--;
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
486 if ( n > -1 )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
487 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
488 int i = 0,m = -1;
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
489 while ( vo_plugin_args[i].name ) if ( !gstrcmp( vo_plugin_args[i++].name,str ) ) { m=i - 1; break; }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
490 i--;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
491 if ( m > -1 )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
492 {
9623
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
493 if ( n == 1 ) { free( vo_plugin_args[0].name );free( vo_plugin_args[0].attribs ); free( vo_plugin_args ); vo_plugin_args=NULL; }
20f0a254142d bugfix from Raindel Shachar <raindel@techunix.technion.ac.il>
pontscho
parents: 9314
diff changeset
494 else { free( vo_plugin_args[i].name );free( vo_plugin_args[i].attribs ); memcpy( &vo_plugin_args[i],&vo_plugin_args[i + 1],( n - i ) * sizeof( m_obj_settings_t ) ); }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
495 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
496 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
497 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
498
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
499 int guiGetEvent( int type,char * arg )
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
500 {
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
501 stream_t * stream = (stream_t *) arg;
5672
1f8b34f1e7c0 ifdef reading dvd args, without it non-dvd compilation fails.
eyck
parents: 5665
diff changeset
502 #ifdef USE_DVDREAD
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
503 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
504 #endif
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
505
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
506 switch ( type )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
507 {
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
508 case guiXEvent:
8973
0a665389cf2b - add playbar
pontscho
parents: 8949
diff changeset
509 guiIntfStruct.event_struct=(void *)arg;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
510 wsEvents( wsDisplay,(XEvent *)arg,NULL );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
511 gtkEventHandling();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
512 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
513 case guiCEvent:
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
514 switch ( (int)arg )
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
515 {
9202
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
516 case guiSetPlay:
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
517 guiIntfStruct.Playing=1;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
518 if ( !gtkShowVideoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
519 break;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
520 case guiSetStop:
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
521 guiIntfStruct.Playing=0;
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
522 if ( !gtkShowVideoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
c2f31ca14a92 - rewrite Jan Spitalnik's patch
pontscho
parents: 9088
diff changeset
523 break;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
524 case guiSetPause: guiIntfStruct.Playing=2; break;
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
525 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
526 mplState();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
527 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
528 case guiSetState:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
529 mplState();
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
530 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
531 case guiSetFileName:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
532 if ( arg ) guiSetFilename( guiIntfStruct.Filename,arg );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
533 break;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
534 case guiSetAudioOnly:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
535 guiIntfStruct.AudioOnly=(int)arg;
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
536 if ( (int)arg ) { guiIntfStruct.NoWindow=True; wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow ); }
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
537 else wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
538 break;
8312
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
539 case guiSetDemuxer:
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
540 guiIntfStruct.demuxer=(void *)arg;
ef8c992672f4 - audio track handling in menu (idea from R«ädiger Kuhlmann)
pontscho
parents: 8311
diff changeset
541 break;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
542 case guiSetShVideo:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
543 {
5986
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
544 if ( !appMPlayer.subWindow.isFullScreen )
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
545 {
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
546 wsResizeWindow( &appMPlayer.subWindow,vo_dwidth,vo_dheight );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
547 wsMoveWindow( &appMPlayer.subWindow,True,appMPlayer.sub.x,appMPlayer.sub.y );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
548 }
5955
caac20b1ca79 fix xmga fs, resize to movie size and mouse auto hide + dga
pontscho
parents: 5945
diff changeset
549 guiIntfStruct.MovieWidth=vo_dwidth;
5997
b5fb9a927bf3 add WM detection, and wm specific fullscreen code. (???)
pontscho
parents: 5986
diff changeset
550 guiIntfStruct.MovieHeight=vo_dheight;
9314
f38fe55d0e05 this patch adds the option -guiwid to gmplayer. I think its a more clean
arpi
parents: 9306
diff changeset
551 if (guiWinID>=0)
9306
b78cd2e33d2c Embed gui into the playback window, if winid>0
arpi
parents: 9291
diff changeset
552 wsMoveWindow( &appMPlayer.mainWindow,0,0, vo_dheight);
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
553 }
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
554 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
555 #ifdef USE_DVDREAD
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
556 case guiSetDVD:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
557 guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
558 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
559 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
560 guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
561 memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
562 guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
563 memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
564 guiIntfStruct.DVD.current_title=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
565 guiIntfStruct.DVD.current_chapter=dvd_chapter + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
566 guiIntfStruct.DVD.current_angle=dvd_angle + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
567 guiIntfStruct.Track=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
568 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
569 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
570 case guiSetStream:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
571 guiIntfStruct.StreamType=stream->type;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
572 switch( stream->type )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
573 {
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
574 #ifdef USE_DVDREAD
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
575 case STREAMTYPE_DVD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
576 guiGetEvent( guiSetDVD,(char *)stream->priv );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
577 break;
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
578 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
579 #ifdef HAVE_VCD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
580 case STREAMTYPE_VCD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
581 {
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
582 int i;
10696
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
583
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
584 if (!stream->priv)
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
585 {
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
586 guiIntfStruct.VCDTracks=0;
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
587 break;
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
588 }
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
589 for ( i=1;i < 100;i++ )
10696
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
590 if ( vcd_seek_to_track( stream->priv,i ) < 0 ) break;
73702d2f93ab 1000l. The vcd api changed and nobody updated the gui..
alex
parents: 10607
diff changeset
591 vcd_seek_to_track( stream->priv,vcd_track );
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
592 guiIntfStruct.VCDTracks=--i;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
593 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
594 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
595 #endif
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
596 default: break;
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
597 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
598 break;
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
599 case guiIEvent:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
600 printf( "cmd: %d\n",(int)arg );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
601 switch( (int)arg )
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
602 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
603 case MP_CMD_QUIT:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
604 mplEventHandling( evExit,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
605 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
606 case MP_CMD_VO_FULLSCREEN:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
607 mplEventHandling( evFullScreen,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
608 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
609 default:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
610 mplEventHandling( guiCMDArray[ (int)arg - MP_CMD_GUI_EVENTS - 1 ],0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
611 }
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
612 break;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
613 case guiReDraw:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
614 mplEventHandling( evRedraw,0 );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
615 break;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
616 case guiSetVolume:
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
617 if ( audio_out )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
618 {
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
619 float l,r;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
620 mixer_getvolume( &l,&r );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
621 guiIntfStruct.Volume=(r>l?r:l);
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
622 if ( r != l ) guiIntfStruct.Balance=( ( r - l ) + 100 ) * 0.5f;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
623 else guiIntfStruct.Balance=50.0f;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
624 btnModify( evSetVolume,guiIntfStruct.Volume );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
625 btnModify( evSetBalance,guiIntfStruct.Balance );
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
626 }
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
627 break;
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
628 case guiSetFileFormat:
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
629 guiIntfStruct.FileFormat=(int)arg;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
630 break;
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
631 case guiSetValues:
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
632 // -- video
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
633 guiIntfStruct.sh_video=arg;
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
634 if ( arg )
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
635 {
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
636 sh_video_t * sh = (sh_video_t *)arg;
7150
b212f74e14ec - add play time subtitle change support
pontscho
parents: 7139
diff changeset
637 guiIntfStruct.FPS=sh->fps;
6912
5ddd609550d5 - fix equ handling
pontscho
parents: 6903
diff changeset
638 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
639
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
640 if ( guiIntfStruct.NoWindow ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
8280
72700fefd3dc no seeking if stream is STREAMTYPE_STREAM (net/stdin)
pontscho
parents: 8150
diff changeset
641
8300
bf8e8144dfa6 10l fix in item disabling (vagymi)
pontscho
parents: 8284
diff changeset
642 if ( guiIntfStruct.StreamType == STREAMTYPE_STREAM ) btnSet( evSetMoviePosition,btnDisabled );
bf8e8144dfa6 10l fix in item disabling (vagymi)
pontscho
parents: 8284
diff changeset
643 else btnSet( evSetMoviePosition,btnReleased );
8284
f7d0ac887455 cache (buzeralas)
pontscho
parents: 8280
diff changeset
644
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
645 // -- audio
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
646 if ( audio_out )
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
647 {
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
648 float l,r;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
649 mixer_getvolume( &l,&r );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
650 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
651 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
652 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
653 btnModify( evSetVolume,guiIntfStruct.Volume );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
654 btnModify( evSetBalance,guiIntfStruct.Balance );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
655 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
656
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
657 if ( gtkEnableAudioEqualizer )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
658 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
659 equalizer_t eq;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
660 int i,j;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
661 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
662 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
663 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
664 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
665 gtkSet( gtkSetEqualizer,0,&eq );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
666 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
667 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
668 // -- subtitle
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
669 #ifdef HAVE_DXR3
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
670 if ( video_driver_list && !gstrcmp( video_driver_list[0],"dxr3" ) && guiIntfStruct.FileFormat != DEMUXER_TYPE_MPEG_PS
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
671 #ifdef USE_LIBAVCODEC
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
672 && !gtkVopLAVC
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
673 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
674 #ifdef USE_LIBFAME
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
675 && !gtkVopFAME
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
676 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
677 )
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
678 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
679 gtkMessageBox( GTK_MB_FATAL,MSGTR_NEEDLAVCFAME );
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
680 guiIntfStruct.Playing=0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
681 return True;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
682 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
683 #endif
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
684 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
685 case guiSetDefaults:
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
686 // if ( guiIntfStruct.Playing == 1 && guiIntfStruct.FilenameChanged )
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
687 if ( guiIntfStruct.FilenameChanged )
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
688 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
689 audio_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
690 video_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
691 dvdsub_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
692 vobsub_id=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
693 stream_cache_size=-1;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
694 autosync=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
695 vcd_track=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
696 dvd_title=0;
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
697 force_fps=0;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
698 }
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
699 wsPostRedisplay( &appMPlayer.subWindow );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
700 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
701 case guiSetParameters:
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
702 guiGetEvent( guiSetDefaults,NULL );
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
703 switch ( guiIntfStruct.StreamType )
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
704 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
705 case STREAMTYPE_PLAYLIST:
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
706 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
707 #ifdef HAVE_VCD
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
708 case STREAMTYPE_VCD:
9812
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
709 {
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
710 char tmp[512];
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
711 sprintf( tmp,"vcd://%d",guiIntfStruct.Track + 1 );
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
712 guiSetFilename( guiIntfStruct.Filename,tmp );
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
713 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
714 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
715 #endif
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
716 #ifdef USE_DVDREAD
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
717 case STREAMTYPE_DVD:
9812
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
718 {
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
719 char tmp[512];
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
720 sprintf( tmp,"dvd://%d",guiIntfStruct.Title );
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
721 guiSetFilename( guiIntfStruct.Filename,tmp );
22092ed814ad fix dvd, vcd playing, compiling, and add one small playlist patch
pontscho
parents: 9625
diff changeset
722 }
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
723 dvd_chapter=guiIntfStruct.Chapter;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
724 dvd_angle=guiIntfStruct.Angle;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
725 break;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
726 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
727 }
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
728 //if ( guiIntfStruct.StreamType != STREAMTYPE_PLAYLIST ) // Does not make problems anymore!
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
729 {
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
730 if ( guiIntfStruct.Filename ) filename=gstrdup( guiIntfStruct.Filename );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
731 else if ( filename ) guiSetFilename( guiIntfStruct.Filename,filename );
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
732 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
733 // --- video opts
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
734
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
735 if ( !video_driver_list )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
736 {
6797
06d29dbdf20d upsz, sorry, i forgott this :) (skin name saving:)
pontscho
parents: 6794
diff changeset
737 int i = 0;
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
738 while ( video_out_drivers[i++] )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
739 if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
740 {
8150
851e974e6eaa updating
pontscho
parents: 8058
diff changeset
741 gaddlist( &video_driver_list,(char *)video_out_drivers[i - 1]->info->short_name );
6903
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
742 break;
c2d4100c964e - fix mixer handling
pontscho
parents: 6898
diff changeset
743 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
744 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
745
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
746 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
747
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
748 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
749 int i = 0;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
750 guiIntfStruct.NoWindow=False;
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
751 while ( video_out_drivers[i++] )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
752 if ( video_out_drivers[i - 1]->control( VOCTRL_GUISUPPORT,NULL ) == VO_TRUE )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
753 {
8150
851e974e6eaa updating
pontscho
parents: 8058
diff changeset
754 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
755 { guiIntfStruct.NoWindow=True; break; }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
756 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
757 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
758
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
759 #ifdef HAVE_DXR3
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
760 #ifdef USE_LIBAVCODEC
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
761 remove_vop( "lavc" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
762 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
763 #ifdef USE_LIBFAME
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
764 remove_vop( "fame" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
765 #endif
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
766 if ( video_driver_list && !gstrcmp( video_driver_list[0],"dxr3" ) )
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
767 {
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
768 if ( ( guiIntfStruct.StreamType != STREAMTYPE_DVD)&&( guiIntfStruct.StreamType != STREAMTYPE_VCD ) )
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
769 {
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
770 #ifdef USE_LIBAVCODEC
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
771 if ( gtkVopLAVC ) add_vop( "lavc" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
772 #endif
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
773 #ifdef USE_LIBFAME
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
774 if ( gtkVopFAME ) add_vop( "fame" );
8043
e5dda05f9aab cleanup
pontscho
parents: 7887
diff changeset
775 #endif
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
776 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
777 }
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
778 #endif
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
779 // ---
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
780 if ( gtkVopPP ) add_vop( "pp" );
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
781 else remove_vop( "pp" );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
782
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
783 // --- 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
784 // 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
785 if ( gtkAONorm ) gset( &ao_plugin_cfg.plugin_list,"volnorm" );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
786 if ( gtkEnableAudioEqualizer ) gset( &ao_plugin_cfg.plugin_list,"eq" );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
787 if ( gtkAOExtraStereo )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
788 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
789 gset( &ao_plugin_cfg.plugin_list,"extrastereo" );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
790 ao_plugin_cfg.pl_extrastereo_mul=gtkAOExtraStereoMul;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
791 }
8600
54eac4cf587c Lots of functions and variables specific to OSS audio are used without
arpi
parents: 8484
diff changeset
792 #ifdef USE_OSS_AUDIO
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
793 mixer_device=gstrdup( gtkAOOSSMixer );
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
794 if ( audio_driver_list && !gstrncmp( audio_driver_list[0],"oss",3 ) && gtkAOOSSDevice )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
795 {
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
796 char * tmp = calloc( 1,strlen( gtkAOOSSDevice ) + 7 );
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
797 sprintf( tmp,"oss:%s",gtkAOOSSDevice );
7582
4a233f3b09a7 add [video||audio]_driver_list
pontscho
parents: 7538
diff changeset
798 gaddlist( &audio_driver_list,tmp );
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
799 }
8615
935764ebfb6a missing #endif
arpi
parents: 8600
diff changeset
800 #endif
8714
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
801 #ifdef HAVE_SDL
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
802 if ( audio_driver_list && !gstrncmp( audio_driver_list[0],"sdl",3 ) && gtkAOSDLDriver )
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
803 {
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
804 char * tmp = calloc( 1,strlen( gtkAOSDLDriver ) + 10 );
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
805 sprintf( tmp,"sdl:%s",gtkAOSDLDriver );
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
806 gaddlist( &audio_driver_list,tmp );
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
807 }
a88f827ec563 SDL Audio configure window from Filip Kalinski <filon@pld.org.pl>
pontscho
parents: 8635
diff changeset
808 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
809 // -- subtitle
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
810 #ifdef USE_SUB
9870
09d630a4f991 support for multiple subtitle files by Marcin Wojdyr <wojdyr@unipress.waw.pl>
henry
parents: 9812
diff changeset
811 //subdata->filename=gstrdup( guiIntfStruct.Subtitlename );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
812 stream_dump_type=0;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
813 if ( gtkSubDumpMPSub ) stream_dump_type=4;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
814 if ( gtkSubDumpSrt ) stream_dump_type=6;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
815 gtkSubDumpMPSub=gtkSubDumpSrt=0;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
816 #endif
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
817 #if defined( USE_OSD ) || defined( USE_SUB )
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
818 guiLoadFont();
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
819 #endif
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
820
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
821 // --- misc
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
822 if ( gtkCacheOn ) stream_cache_size=gtkCacheSize;
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
823 if ( gtkAutoSyncOn ) autosync=gtkAutoSync;
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
824
8484
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
825 if ( guiIntfStruct.AudioFile ) audio_stream=gstrdup( guiIntfStruct.AudioFile );
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
826 else if ( guiIntfStruct.FilenameChanged ) gfree( (void**)&audio_stream );
9ea5f18a7957 - fix (?) "mixer bug"
pontscho
parents: 8423
diff changeset
827 //audio_stream=NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
828
8423
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
829 guiIntfStruct.DiskChanged=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
830 guiIntfStruct.FilenameChanged=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
831 guiIntfStruct.NewPlay=0;
c6a1a5b6ba25 - fix three submenu bug
pontscho
parents: 8312
diff changeset
832
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
833 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
834 }
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
835 return False;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
836 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
837
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
838 void guiEventHandling( void )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
839 {
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
840 if ( !guiIntfStruct.Playing || guiIntfStruct.NoWindow ) wsHandleEvents();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
841 gtkEventHandling();
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
842 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
843
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
844 // ---
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
845
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
846 float gtkEquChannels[6][10];
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
847
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
848 plItem * plCurrent = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
849 plItem * plList = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
850 plItem * plLastPlayed = NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
851
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
852 URLItem *URLList = NULL;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
853
9055
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
854 char *fsHistory[fsPersistant_MaxPos] = { NULL,NULL,NULL,NULL,NULL };
4a42c0604ce1 - rewrite sub_fps
pontscho
parents: 8973
diff changeset
855
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
856 #if defined( MP_DEBUG ) && 0
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
857 void list( void )
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
858 {
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
859 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
860 printf( "--- list ---\n" );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
861 while( next || next->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
862 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
863 printf( "item: %s/%s\n",next->path,next->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
864 if ( next->next ) next=next->next; else break;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
865 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
866 printf( "--- end of list ---\n" );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
867 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
868 #else
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
869 #define list();
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
870 #endif
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
871
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
872 void * gtkSet( int cmd,float fparam, void * vparam )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
873 {
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
874 equalizer_t * eq = (equalizer_t *)vparam;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
875 plItem * item = (plItem *)vparam;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
876
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
877 URLItem * url_item = (URLItem *)vparam;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
878 int is_added = True;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
879
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
880 switch ( cmd )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
881 {
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
882 // --- handle playlist
6755
a31b9f15cbff - fix audio equalizer
pontscho
parents: 6713
diff changeset
883 case gtkAddPlItem: // add item to playlist
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
884 if ( plList )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
885 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
886 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
887 while ( next->next ) { /*printf( "%s\n",next->name );*/ next=next->next; }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
888 next->next=item; item->prev=next;
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
889 } else { item->prev=item->next=NULL; plCurrent=plList=item; }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
890 list();
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
891 return NULL;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
892 case gtkInsertPlItem: // add item into playlist after current
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
893 if ( plCurrent )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
894 {
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
895 plItem * curr = plCurrent;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
896 item->next=curr->next;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
897 if (item->next)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
898 item->next->prev=item;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
899 item->prev=curr;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
900 curr->next=item;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
901 plCurrent=plCurrent->next;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
902 return plCurrent;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
903 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
904 else
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
905 return gtkSet(gtkAddPlItem,0,(void*)item);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
906 return NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
907 case gtkGetNextPlItem: // get current item from playlist
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
908 if ( plCurrent && plCurrent->next)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
909 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
910 plCurrent=plCurrent->next;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
911 /*if ( !plCurrent && plList )
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
912 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
913 plItem * next = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
914 while ( next->next ) { if ( !next->next ) break; next=next->next; }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
915 plCurrent=next;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
916 }*/
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
917 return plCurrent;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
918 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
919 return NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
920 case gtkGetPrevPlItem:
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
921 if ( plCurrent && plCurrent->prev)
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
922 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
923 plCurrent=plCurrent->prev;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
924 //if ( !plCurrent && plList ) plCurrent=plList;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
925 return plCurrent;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
926 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
927 return NULL;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
928 case gtkSetCurrPlItem: // set current item
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
929 plCurrent=item;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
930 return plCurrent;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
931 case gtkGetCurrPlItem: // get current item
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
932 return plCurrent;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
933 case gtkDelCurrPlItem: // delete current item
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
934 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
935 plItem * curr = plCurrent;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
936
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
937 if (!curr)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
938 return NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
939 if (curr->prev)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
940 curr->prev->next=curr->next;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
941 if (curr->next)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
942 curr->next->prev=curr->prev;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
943 if (curr==plList)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
944 plList=curr->next;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
945 plCurrent=curr->next;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
946 // Free it
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
947 if ( curr->path ) free( curr->path );
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
948 if ( curr->name ) free( curr->name );
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
949 free( curr );
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
950 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
951 mplCurr(); // Instead of using mplNext && mplPrev
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
952
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
953 return plCurrent;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
954 case gtkDelPl: // delete list
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
955 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
956 plItem * curr = plList;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
957 plItem * next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
958 if ( !plList ) return NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
959 if ( !curr->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
960 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
961 if ( curr->path ) free( curr->path );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
962 if ( curr->name ) free( curr->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
963 free( curr );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
964 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
965 else
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
966 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
967 while ( curr->next )
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
968 {
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
969 next=curr->next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
970 if ( curr->path ) free( curr->path );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
971 if ( curr->name ) free( curr->name );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
972 free( curr );
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
973 curr=next;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
974 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
975 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
976 plList=NULL; plCurrent=NULL;
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
977 }
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
978 return NULL;
7092
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
979 // ----- Handle url
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
980 case gtkAddURLItem:
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
981 if ( URLList )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
982 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
983 URLItem * next_url = URLList;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
984 is_added = False;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
985 while ( next_url->next )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
986 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
987 if ( !gstrcmp( next_url->url,url_item->url ) )
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
988 {
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
989 is_added=True;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
990 break;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
991 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
992 next_url=next_url->next;
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
993 }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
994 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
995 } else { url_item->next=NULL; URLList=url_item; }
8e9607c5897e - warning fixes from Dominik Mierzejewski <dominik@rangers.eu.org>
pontscho
parents: 7019
diff changeset
996 return NULL;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
997 // --- subtitle
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
998 #ifndef HAVE_FREETYPE
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
999 case gtkSetFontFactor:
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
1000 font_factor=fparam;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1001 guiLoadFont();
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1002 return NULL;
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1003 #else
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1004 case gtkSetFontOutLine:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1005 subtitle_font_thickness=( 8.0f / 100.0f ) * fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1006 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1007 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1008 case gtkSetFontBlur:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1009 subtitle_font_radius=( 8.0f / 100.0f ) * fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1010 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1011 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1012 case gtkSetFontTextScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1013 text_font_scale_factor=fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1014 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1015 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1016 case gtkSetFontOSDScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1017 osd_font_scale_factor=fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1018 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1019 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1020 case gtkSetFontEncoding:
9056
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1021 gfree( (void **)&subtitle_font_encoding );
7139
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1022 subtitle_font_encoding=gstrdup( (char *)vparam );
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1023 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1024 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1025 case gtkSetFontAutoScale:
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1026 subtitle_autoscale=(int)fparam;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1027 guiLoadFont();
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1028 return NULL;
dd1e21e775b6 - add freetype support for gui
pontscho
parents: 7128
diff changeset
1029 #endif
9056
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1030 #ifdef USE_ICONV
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1031 case gtkSetSubEncoding:
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1032 gfree( (void **)&sub_cp );
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1033 sub_cp=gstrdup( (char *)vparam );
3086611e8213 - add subcp
pontscho
parents: 9055
diff changeset
1034 break;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1035 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1036 // --- misc
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1037 case gtkClearStruct:
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
1038 if ( (unsigned int)vparam & guiFilenames )
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1039 {
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1040 gfree( (void **)&guiIntfStruct.Filename );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1041 gfree( (void **)&guiIntfStruct.Subtitlename );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1042 gfree( (void **)&guiIntfStruct.AudioFile );
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
1043 gtkSet( gtkDelPl,0,NULL );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1044 }
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1045 #ifdef USE_DVDREAD
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
1046 if ( (unsigned int)vparam & guiDVD ) memset( &guiIntfStruct.DVD,0,sizeof( guiDVDStruct ) );
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1047 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1048 #ifdef HAVE_VCD
7009
98bed9e12087 - add dxr3 gui support (dialogbox, etc.)
pontscho
parents: 6996
diff changeset
1049 if ( (unsigned int)vparam & guiVCD ) guiIntfStruct.VCDTracks=0;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1050 #endif
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1051 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1052 case gtkSetExtraStereo:
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1053 gtkAOExtraStereoMul=fparam;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1054 audio_plugin_extrastereo.control( AOCONTROL_PLUGIN_ES_SET,(int)&gtkAOExtraStereoMul );
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1055 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1056 case gtkSetPanscan:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1057 {
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1058 mp_cmd_t * mp_cmd;
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1059 mp_cmd=(mp_cmd_t *)calloc( 1,sizeof( *mp_cmd ) );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1060 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
1061 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
1062 mp_input_queue_cmd( mp_cmd );
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1063 }
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1064 return NULL;
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1065 case gtkSetAutoq:
7019
e37a67d5e117 fix (?) cmd line handling
pontscho
parents: 7009
diff changeset
1066 auto_quality=(int)fparam;
6794
77980ab4e296 - add preferences support (first try)
pontscho
parents: 6755
diff changeset
1067 return NULL;
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
1068 // --- set equalizers
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1069 case gtkSetContrast:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1070 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
1071 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1072 case gtkSetBrightness:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1073 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
1074 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1075 case gtkSetHue:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1076 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
1077 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1078 case gtkSetSaturation:
7217
7527dc997596 rewrite eq interface and add *.rm to fs
pontscho
parents: 7170
diff changeset
1079 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
1080 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1081 case gtkSetEqualizer:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1082 if ( eq )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1083 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1084 gtkEquChannels[eq->channel][eq->band]=eq->gain;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1085 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
1086 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1087 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1088 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1089 int i,j; equalizer_t tmp; tmp.gain=0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1090 memset( gtkEquChannels,0,sizeof( gtkEquChannels ) );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1091 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1092 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1093 { 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
1094 }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
1095 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1096 }
6713
cc917a581b6e add simple playlist support
pontscho
parents: 6651
diff changeset
1097 return NULL;
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
1098 }
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1099
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1100 #define mp_basename(s) (strrchr(s,'/')==NULL?(char*)s:(strrchr(s,'/')+1))
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1101
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1102 #include "../playtree.h"
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1103
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1104 //This function adds/inserts one file into the gui playlist
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1105
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1106 int import_file_into_gui(char* temp, int insert)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1107 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1108 char *filename, *pathname;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1109 plItem * item;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1110
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1111 filename = strdup(mp_basename(temp));
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1112 pathname = strdup(temp);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1113 if (strlen(pathname)-strlen(filename)>0)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1114 pathname[strlen(pathname)-strlen(filename)-1]='\0'; // We have some path so remove / at end
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1115 else
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1116 pathname[strlen(pathname)-strlen(filename)]='\0';
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1117 mp_msg(MSGT_PLAYTREE,MSGL_V, "Adding filename %s && pathname %s\n",filename,pathname); //FIXME: Change to MSGL_DBG2 ?
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1118 item=calloc( 1,sizeof( plItem ) );
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1119 if (!item)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1120 return 0;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1121 item->name=filename;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1122 item->path=pathname;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1123 if (insert)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1124 gtkSet( gtkInsertPlItem,0,(void*)item ); // Inserts the item after current, and makes current=item
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1125 else
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1126 gtkSet( gtkAddPlItem,0,(void*)item );
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1127 return 1;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1128 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1129
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1130
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1131 // This function imports the initial playtree (based on cmd-line files) into the gui playlist
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1132 // by either:
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1133 // - overwriting gui pl (enqueue=0)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1134 // - appending it to gui pl (enqueue=1)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1135
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1136 int import_initial_playtree_into_gui(play_tree_t* my_playtree, m_config_t* config, int enqueue)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1137 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1138 play_tree_iter_t* my_pt_iter=NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1139 int result=0;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1140
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1141 if (!enqueue) // Delete playlist before "appending"
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1142 gtkSet(gtkDelPl,0,0);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1143
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1144 if((my_pt_iter=pt_iter_create(&my_playtree,config)))
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1145 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1146 while ((filename=pt_iter_get_next_file(my_pt_iter))!=NULL)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1147 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1148 if (import_file_into_gui(filename, 0)) // Add it to end of list
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1149 result=1;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1150 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1151 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1152
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1153 mplCurr(); // Update filename
10193
f0bcaf5ea675 From: Michael Joosten <joost@c-lab.de>
pontscho
parents: 9870
diff changeset
1154 mplGotoTheNext=1;
9291
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1155
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1156 if (!enqueue)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1157 filename=guiIntfStruct.Filename; // Backward compatibility; if file is specified on commandline,
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1158 // gmplayer does directly start in Play-Mode.
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1159 else
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1160 filename=NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1161
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1162 return result;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1163 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1164
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1165 // This function imports and inserts an playtree, that is created "on the fly", for example by
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1166 // parsing some MOV-Reference-File; or by loading an playlist with "File Open"
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1167 //
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1168 // The file which contained the playlist is thereby replaced with it's contents.
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1169
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1170 int import_playtree_playlist_into_gui(play_tree_t* my_playtree, m_config_t* config)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1171 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1172 play_tree_iter_t* my_pt_iter=NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1173 int result=0;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1174 plItem * save=(plItem*)gtkSet( gtkGetCurrPlItem, 0, 0); // Save current item
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1175
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1176 if((my_pt_iter=pt_iter_create(&my_playtree,config)))
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1177 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1178 while ((filename=pt_iter_get_next_file(my_pt_iter))!=NULL)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1179 {
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1180 if (import_file_into_gui(filename, 1)) // insert it into the list and set plCurrent=new item
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1181 result=1;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1182 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1183 pt_iter_destroy(&my_pt_iter);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1184 }
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1185
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1186 if (save)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1187 gtkSet(gtkSetCurrPlItem, 0, (void*)save);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1188 else
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1189 gtkSet(gtkSetCurrPlItem, 0, (void*)plList); // go to head, if plList was empty before
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1190
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1191 if (save && result)
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1192 gtkSet(gtkDelCurrPlItem, 0, 0);
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1193
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1194 mplCurr(); // Update filename
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1195 filename=NULL;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1196
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1197 return result;
64b8c5a07c2c - It adds an option enqueue/noenqueue, so users can choose if they want to
arpi
parents: 9202
diff changeset
1198 }