annotate Gui/interface.c @ 6690:e8f7dbe19df0

Sync by Jiri Svoboda <jiri.svoboda at seznam.cz>
author atmos4
date Wed, 10 Jul 2002 03:19:28 +0000
parents 8f49c75a2824
children cc917a581b6e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
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>
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
6
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
7 #include "ws.h"
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
8 #include "mplayer/play.h"
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
9 #include "interface.h"
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
10 #include "skin/skin.h"
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
11 #include "mplayer/gtk/eq.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
12
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
13 #include "../mplayer.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
14 #include "mplayer/widgets.h"
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
15 #include "mplayer/mplayer.h"
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
16 #include "app.h"
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
17 #include "../libvo/x11_common.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
18 #include "../libvo/video_out.h"
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
19 #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
20 #include "../libao2/audio_out.h"
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
21 #include "../mixer.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
22 #include "../libao2/audio_plugin.h"
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
23 #include "../libao2/eq.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
24
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
25 #include <inttypes.h>
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
26 #include <sys/types.h>
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
27
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
28 #include "../libmpdemux/stream.h"
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
29 #include "../libmpdemux/demuxer.h"
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
30
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
31 guiInterface_t guiIntfStruct;
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
32
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
33 char * gstrcat( char ** dest,char * src )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
34 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
35 char * tmp = NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
36
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
37 if ( !src ) return NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
38
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
39 if ( *dest )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
40 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
41 tmp=malloc( strlen( *dest ) + strlen( src ) + 1 );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
42 strcpy( tmp,*dest ); strcat( tmp,src ); free( *dest );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
43 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
44 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
45 { tmp=malloc( strlen( src ) + 1 ); strcpy( tmp,src ); }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
46 *dest=tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
47 return tmp;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
48 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
49
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 5997
diff changeset
50 void guiInit( void )
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
51 {
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
52 memset( &guiIntfStruct,0,sizeof( guiIntfStruct ) );
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
53 memset( &gtkEquChannels,0,sizeof( gtkEquChannels ) );
6218
8cfddba867b4 fix text render chrash ...
pontscho
parents: 5997
diff changeset
54 appInit( (void*)mDisplay );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
55 }
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
56
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
57 void guiDone( void )
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
58 {
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
59 mp_msg( MSGT_GPLAYER,MSGL_V,"[mplayer] exit.\n" );
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
60 mplStop();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
61 gtkDone();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
62 wsXDone();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
63 }
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
64
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
65 int guiCMDArray[] =
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
66 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
67 evLoad,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
68 evLoadSubtitle,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
69 evAbout,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
70 evPlay,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
71 evStop,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
72 evPlayList,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
73 evPreferences,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
74 evFullScreen,
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
75 evSkinBrowser
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
76 };
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
77
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
78 typedef struct
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
79 {
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
80 demux_stream_t *ds;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
81 unsigned int format;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
82 struct codecs_st *codec;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
83 int inited;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
84 // output format:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
85 float timer;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
86 float fps;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
87 float frametime;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
88 int i_bps;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
89 int disp_w,disp_h;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
90 } tmp_sh_video_t;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
91
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
92 extern ao_functions_t * audio_out;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
93
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
94 void guiGetEvent( int type,char * arg )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
95 {
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
96 stream_t * stream = (stream_t *) arg;
5672
1f8b34f1e7c0 ifdef reading dvd args, without it non-dvd compilation fails.
eyck
parents: 5665
diff changeset
97 #ifdef USE_DVDREAD
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
98 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
99 #endif
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
100
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
101 switch ( type )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
102 {
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
103 case guiXEvent:
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
104 wsEvents( wsDisplay,(XEvent *)arg,NULL );
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
105 gtkEventHandling();
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
106 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
107 case guiCEvent:
4963
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
108 switch ( (int)arg )
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
109 {
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
110 case guiSetPlay: guiIntfStruct.Playing=1; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
111 case guiSetStop: guiIntfStruct.Playing=0; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
112 case guiSetPause: guiIntfStruct.Playing=2; mplState(); break;
13262bd21965 small changes
pontscho
parents: 4858
diff changeset
113 }
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
114 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
115 case guiSetState:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
116 mplState();
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
117 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
118 case guiSetFileName:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
119 if ( arg ) guiSetFilename( guiIntfStruct.Filename,arg );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
120 break;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
121 case guiSetAudioOnly:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
122 guiIntfStruct.AudioOnly=(int)arg;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
123 if ( (int)arg ) wsVisibleWindow( &appMPlayer.subWindow,wsHideWindow );
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
124 else wsVisibleWindow( &appMPlayer.subWindow,wsShowWindow );
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
125 break;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
126 case guiReDrawSubWindow:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
127 wsPostRedisplay( &appMPlayer.subWindow );
5956
1e6273906977 fix video vindov background
pontscho
parents: 5955
diff changeset
128 if ( guiIntfStruct.Playing == 1 ) wsSetBackgroundRGB( &appMPlayer.subWindow,0,0,0 );
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
129 break;
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
130 case guiSetShVideo:
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
131 {
5986
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
132 if ( !appMPlayer.subWindow.isFullScreen )
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
133 {
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
134 wsResizeWindow( &appMPlayer.subWindow,vo_dwidth,vo_dheight );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
135 wsMoveWindow( &appMPlayer.subWindow,True,appMPlayer.sub.x,appMPlayer.sub.y );
d34622ebaf45 window resize bug fixed
pontscho
parents: 5956
diff changeset
136 }
5955
caac20b1ca79 fix xmga fs, resize to movie size and mouse auto hide + dga
pontscho
parents: 5945
diff changeset
137 guiIntfStruct.MovieWidth=vo_dwidth;
5997
b5fb9a927bf3 add WM detection, and wm specific fullscreen code. (???)
pontscho
parents: 5986
diff changeset
138 guiIntfStruct.MovieHeight=vo_dheight;
5789
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
139 }
0132c5747e8a fix audio only files play
pontscho
parents: 5672
diff changeset
140 break;
5665
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
141 #ifdef USE_DVDREAD
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
142 case guiSetDVD:
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
143 guiIntfStruct.DVD.titles=dvdp->vmg_file->tt_srpt->nr_of_srpts;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
144 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
145 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
146 guiIntfStruct.DVD.nr_of_audio_channels=dvdp->nr_of_channels;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
147 memcpy( guiIntfStruct.DVD.audio_streams,dvdp->audio_streams,sizeof( dvdp->audio_streams ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
148 guiIntfStruct.DVD.nr_of_subtitles=dvdp->nr_of_subtitles;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
149 memcpy( guiIntfStruct.DVD.subtitles,dvdp->subtitles,sizeof( dvdp->subtitles ) );
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
150 guiIntfStruct.DVD.current_title=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
151 guiIntfStruct.DVD.current_chapter=dvd_chapter + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
152 guiIntfStruct.DVD.current_angle=dvd_angle + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
153 guiIntfStruct.Track=dvd_title + 1;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
154 break;
3e7f39c4110c fix dvd playing under gui
pontscho
parents: 5120
diff changeset
155 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
156 case guiSetStream:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
157 guiIntfStruct.StreamType=stream->type;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
158 switch( stream->type )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
159 {
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
160 case STREAMTYPE_DVD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
161 guiGetEvent( guiSetDVD,(char *)stream->priv );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
162 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
163 #ifdef HAVE_VCD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
164 case STREAMTYPE_VCD:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
165 {
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
166 int i;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
167 for ( i=1;i < 100;i++ )
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
168 if ( vcd_seek_to_track( stream->fd,i ) < 0 ) break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
169 vcd_seek_to_track( stream->fd,vcd_track );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
170 guiIntfStruct.VCDTracks=--i;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
171 mp_msg( MSGT_GPLAYER,MSGL_INFO,"[interface] vcd tracks: %d\n",guiIntfStruct.VCDTracks );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
172 guiIntfStruct.Track=vcd_track;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
173 break;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
174 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
175 #endif
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
176 }
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
177 break;
5120
ce054c1eabdc workaround to compile without new-input support
alex
parents: 4965
diff changeset
178 #ifdef HAVE_NEW_INPUT
4858
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
179 case guiIEvent:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
180 printf( "cmd: %d\n",(int)arg );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
181 switch( (int)arg )
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
182 {
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
183 case MP_CMD_QUIT:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
184 mplEventHandling( evExit,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
185 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
186 case MP_CMD_VO_FULLSCREEN:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
187 mplEventHandling( evFullScreen,0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
188 break;
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
189 default:
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
190 mplEventHandling( guiCMDArray[ (int)arg - MP_CMD_GUI_EVENTS - 1 ],0 );
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
191 }
65730cea02e7 add half new input support for gui
pontscho
parents: 4845
diff changeset
192 break;
5120
ce054c1eabdc workaround to compile without new-input support
alex
parents: 4965
diff changeset
193 #endif
6280
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
194 case guiClearStruct:
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
195 #ifdef USE_DVDREAD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
196 if ( (unsigned int)arg & guiDVD ) memset( &guiIntfStruct.DVD,0,sizeof( guiDVDStruct ) );
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
197 #endif
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
198 #ifdef HAVE_VCD
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
199 if ( (unsigned int)arg & guiVCD ) guiIntfStruct.VCDTracks=0;
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
200 #endif
cf2c2b92d1a7 add VCD support for GUI
pontscho
parents: 6218
diff changeset
201 break;
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
202 case guiReDraw:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
203 mplEventHandling( evRedraw,0 );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
204 break;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
205 case guiSetVolume:
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
206 if ( audio_out )
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
207 {
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
208 float l,r;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
209 mixer_getvolume( &l,&r );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
210 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
211 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
212 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
213 btnModify( evSetVolume,guiIntfStruct.Volume );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
214 btnModify( evSetBalance,guiIntfStruct.Balance );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
215 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
216
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
217 if ( gtkEnableVideoEqualizer )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
218 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
219 gtkSet( gtkSetContrast,gtkContrast,NULL );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
220 gtkSet( gtkSetBrightness,gtkBrightness,NULL );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
221 gtkSet( gtkSetHue,gtkHue,NULL );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
222 gtkSet( gtkSetSaturation,gtkSaturation,NULL );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
223 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
224 if ( gtkEnableAudioEqualizer )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
225 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
226 equalizer_t eq;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
227 int i,j;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
228 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
229 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
230 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
231 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
232 gtkSet( gtkSetEqualizer,0,&eq );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
233 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
234 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
235 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
236 case guiSetDefaults:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
237 #if defined( HAVE_VCD ) || defined( USE_DVDREAD )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
238 if ( guiIntfStruct.DiskChanged )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
239 {
6651
8f49c75a2824 - add icon (nice, but very ugly hakk:)
pontscho
parents: 6627
diff changeset
240 /*
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
241 #ifdef USE_DVDREAD
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
242 switch ( guiIntfStruct.StreamType )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
243 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
244 case STREAMTYPE_DVD: filename=DEFAULT_DVD_DEVICE; break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
245 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
246 #endif
6651
8f49c75a2824 - add icon (nice, but very ugly hakk:)
pontscho
parents: 6627
diff changeset
247 */
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
248 guiIntfStruct.DiskChanged=0;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
249 guiGetEvent( guiCEvent,(char *)guiSetPlay );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
250 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
251 #endif
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
252
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
253 #ifdef USE_SUB
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
254 if ( guiIntfStruct.SubtitleChanged || !guiIntfStruct.FilenameChanged )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
255 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
256 if ( ( guiIntfStruct.Subtitlename )&&( guiIntfStruct.Subtitlename[0] != 0 ) ) sub_name=guiIntfStruct.Subtitlename;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
257 guiIntfStruct.SubtitleChanged=0;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
258 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
259 #endif
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
260
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
261 if ( guiIntfStruct.AudioFile ) audio_stream=guiIntfStruct.AudioFile;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
262 else if ( guiIntfStruct.FilenameChanged ) audio_stream=NULL;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
263
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
264 if ( gtkEnableAudioEqualizer )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
265 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
266 if ( ao_plugin_cfg.plugin_list ) { if ( !strstr( ao_plugin_cfg.plugin_list,"eq" ) ) gstrcat( &ao_plugin_cfg.plugin_list,"," ); }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
267 else gstrcat( &ao_plugin_cfg.plugin_list,"eq" );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
268 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
269
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
270 break;
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
271 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
272 }
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
273
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
274 extern unsigned int GetTimerMS( void );
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
275 extern int mplTimer;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
276
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
277 void guiEventHandling( void )
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
278 {
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
279 if ( !guiIntfStruct.Playing || guiIntfStruct.AudioOnly ) wsHandleEvents();
4818
3473ca9ef158 new gui interface, and gtk moved into mplayer process. fork ... bleh :)
pontscho
parents: 4798
diff changeset
280 gtkEventHandling();
6619
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
281 mplTimer=GetTimerMS() / 20;
f554e7271587 fix volume handling ( step 2 ) -- add balance support and some code cleanup and fix
pontscho
parents: 6280
diff changeset
282 // if ( !( GetTimerMS()%2 ) )
4798
c39affa2b376 new interface ? :)
pontscho
parents:
diff changeset
283 }
6627
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
284
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
285 // ---
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
286
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
287 float gtkContrast = 0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
288 float gtkBrightness = 0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
289 float gtkHue = 0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
290 float gtkSaturation = 0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
291
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
292 float gtkEquChannels[6][10];
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
293
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
294 void gtkSet( int cmd,float fparam, void * vparam )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
295 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
296 mp_cmd_t * mp_cmd = (mp_cmd_t *)calloc( 1,sizeof( *mp_cmd ) );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
297 equalizer_t * eq = (equalizer_t *)vparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
298
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
299 switch ( cmd )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
300 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
301 case gtkSetContrast:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
302 mp_cmd->id=MP_CMD_CONTRAST; mp_cmd->name=strdup( "contrast" );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
303 gtkContrast=fparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
304 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
305 case gtkSetBrightness:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
306 mp_cmd->id=MP_CMD_BRIGHTNESS; mp_cmd->name=strdup( "brightness" );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
307 gtkBrightness=fparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
308 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
309 case gtkSetHue:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
310 mp_cmd->id=MP_CMD_HUE; mp_cmd->name=strdup( "hue" );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
311 gtkHue=fparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
312 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
313 case gtkSetSaturation:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
314 mp_cmd->id=MP_CMD_SATURATION; mp_cmd->name=strdup( "saturation" );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
315 gtkSaturation=fparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
316 break;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
317 case gtkSetEqualizer:
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
318 if ( eq )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
319 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
320 gtkEquChannels[eq->channel][eq->band]=eq->gain;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
321 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
322 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
323 else
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
324 {
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
325 int i,j; equalizer_t tmp; tmp.gain=0.0f;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
326 memset( gtkEquChannels,0,sizeof( gtkEquChannels ) );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
327 for ( i=0;i<6;i++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
328 for ( j=0;j<10;j++ )
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
329 { 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
330 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
331 return;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
332 default: free( mp_cmd ); return;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
333 }
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
334 mp_cmd->args[0].v.i=(int)fparam;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
335 mp_cmd->args[1].v.i=1;
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
336 mp_input_queue_cmd( mp_cmd );
fd3ac41ee1a1 add equalizer support and fix some small bug...
pontscho
parents: 6623
diff changeset
337 }