annotate Gui/mplayer/psignal.c @ 1723:5e4214a7540e

GUI stuff. now seeking works, and xmga renders to video window
author arpi
date Mon, 27 Aug 2001 23:56:44 +0000
parents a0f28ba7c34a
children b60319205152
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
1
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
2 #include <stdlib.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
3 #include <stdio.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
4 #include <string.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
5 #include <signal.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
6 #include <unistd.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
7
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
8 #include "widgets.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
9 #include "play.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
10
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
11 #include "../app.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
12
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
13 #include "../skin/skin.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
14 #include "../wm/ws.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
15 #include "../config.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
16 #include "../error.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
17 #include "../language.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
18
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
19 #include "../../config.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
20
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
21 #include "../../libvo/x11_common.h"
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
22 //#include "../../libvo/sub.h"
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
23
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
24 #include "./mplayer.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
25
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
26 #define gtkShow( w ) gtkShMem->vs.window=w; gtkSendMessage( evShowWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
27
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
28 pid_t mplMPlayerPID = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
29 pid_t mplParentPID = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
30
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
31 pid_t gtkChildPID = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
32 pid_t gtkParentPID = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
33
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
34 int mplCriticalError = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
35 int gtkIsOk = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
36
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
37 void mplErrorHandler( int critical,const char * format, ... )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
38 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
39 char * p;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
40 va_list ap;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
41 int n;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
42
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
43 if ( (p=(char *)malloc( 512 ) ) == NULL ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
44 va_start( ap,format );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
45 n=vsnprintf( p,512,format,ap );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
46 va_end( ap );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
47 mplCriticalError=critical;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
48 gtkMessageBox( p );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
49 // message( False,p );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
50 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
51
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
52 void mplPlayerSigHandler( int s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
53 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
54 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
55 dbprintf( 5,"[psignal] mpl sig handler msg: %d\n",mplShMem->message );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
56 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
57 if ( s != SIGTYPE ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
58 switch ( mplShMem->message )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
59 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
60 case mplQuit:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
61 exit_player( "GUI close" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
62 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
63 case mplPauseEvent:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
64 // if ( osd_function != OSD_PAUSE ) osd_function=OSD_PAUSE;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
65 // else osd_function=OSD_PLAY;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
66 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
67 case mplResizeEvent:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
68 vo_resize=1;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
69 vo_expose=1;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
70 printf( "[psignal] resize.\n" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
71 // if (video_out != NULL ) video_out->check_events();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
72 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
73 case mplExposeEvent:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
74 vo_expose=1;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1700
diff changeset
75 printf( "[psignal] expose.\n" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
76 // if (video_out != NULL ) video_out->check_events();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
77 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
78 case mplSeekEvent:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
79 // rel_seek_secs+=mplShMem->videodata.seek;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
80 // if ( rel_seek_secs > 0 ) osd_function=OSD_FFW;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
81 // else osd_function=OSD_REW;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
82 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
83 case mplIncAudioBufferDelay:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
84 // audio_delay+=0.1; // increase audio buffer delay
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
85 // a_frame-=0.1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
86 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
87 case mplDecAudioBufferDelay:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
88 // audio_delay-=0.1; // increase audio buffer delay
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
89 // a_frame+=0.1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
90 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
91 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
92 mplShMem->message=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
93 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
94
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
95 void gtkSigHandler( int s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
96 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
97 if ( s != SIGTYPE ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
98 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
99 dbprintf( 5,"[psignal] gtk sig handler msg: %d\n",gtkShMem->message );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
100 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
101 switch ( gtkShMem->message )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
102 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
103 case evHideWindow:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
104 switch ( gtkShMem->vs.window )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
105 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
106 case evPlayList: gtk_widget_hide( PlayList ); gtkVisiblePlayList=0; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
107 case evSkinBrowser: gtk_widget_hide( SkinBrowser ); gtkVisibleSkinBrowser=0; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
108 case evLoad: gtk_widget_hide( FileSelect ); gtkVisibleFileSelect=0; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
109 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
110 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
111 case evSkinBrowser:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
112 if ( gtkVisibleSkinBrowser ) gtk_widget_hide( SkinBrowser );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
113 gtkClearList( SkinList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
114 if ( !gtkFillSkinList( sbMPlayerPrefixDir ) ) break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
115 if ( gtkFillSkinList( sbMPlayerDirInHome ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
116 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
117 gtkSetDefaultToCList( SkinList,cfgSkin );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
118 gtk_widget_show( SkinBrowser );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
119 gtkVisibleSkinBrowser=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
120 gtkShow( evSkinBrowser );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
121 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
122 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
123 case evPreferences:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
124 if ( gtkVisibleOptions ) gtk_widget_hide( Options );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
125 gtk_widget_show( Options );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
126 gtkVisibleOptions=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
127 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
128 case evPlayList:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
129 if ( gtkVisiblePlayList ) gtk_widget_hide( PlayList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
130 gtk_widget_show( PlayList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
131 gtkVisiblePlayList=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
132 gtkShow( evPlayList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
133 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
134 case evLoad:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
135 if ( gtkVisibleFileSelect ) gtk_widget_hide( FileSelect );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
136 gtk_widget_show( FileSelect );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
137 gtkVisibleFileSelect=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
138 gtkShow( evPlay );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
139 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
140 case evMessageBox:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
141 gtk_label_set_text( gtkMessageBoxText,(char *)gtkShMem->mb.str );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
142 gtk_widget_set_usize( MessageBox,gtkShMem->mb.sx,gtkShMem->mb.sy );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
143 gtk_widget_set_usize( gtkMessageBoxText,gtkShMem->mb.tsx,gtkShMem->mb.tsy );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
144 if ( gtkVisibleMessageBox ) gtk_widget_hide( MessageBox );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
145 gtk_widget_show( MessageBox );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
146 gtkVisibleMessageBox=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
147 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
148 case evAbout:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
149 if ( gtkVisibleAboutBox ) gtk_widget_hide( AboutBox );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
150 gtk_widget_show( AboutBox );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
151 gtkVisibleAboutBox=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
152 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
153 case evExit:
1700
a0f28ba7c34a gtk exit cleanup
arpi
parents: 1693
diff changeset
154 gtk_main_quit();
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
155 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
156 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
157 gtkShMem->message=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
158 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
159
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
160 listItems tmpList;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
161
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
162 void mplMainSigHandler( int s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
163 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
164 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
165 if ( gtkShMem->message ) dbprintf( 5,"[psignal] main sig handler gtk msg: %d\n",gtkShMem->message );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
166 if ( mplShMem->message ) dbprintf( 5,"[psignal] main sig handler mpl msg: %d\n",mplShMem->message );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
167 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
168
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
169 if ( s != SIGTYPE ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
170
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
171 switch ( gtkShMem->message )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
172 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
173 case evGtkIsOk:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
174 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
175 dbprintf( 1,"[psignal] gtk is ok.\n" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
176 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
177 gtkIsOk=True;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
178 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
179 case evShowWindow:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
180 switch ( gtkShMem->vs.window )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
181 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
182 case evPlayList: gtkVisiblePlayList=1; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
183 case evLoad: gtkVisibleFileSelect=1; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
184 case evSkinBrowser: gtkVisibleSkinBrowser=1; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
185 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
186 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
187 case evHideWindow:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
188 switch ( gtkShMem->vs.window )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
189 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
190 case evPlayList:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
191 btnModify( evPlayList,btnReleased ); gtkVisiblePlayList=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
192 mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
193 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
194 case evSkinBrowser: gtkVisibleSkinBrowser=0; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
195 case evLoad: gtkVisibleFileSelect=0; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
196 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
197 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
198 case evSkinBrowser:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
199 if ( strcmp( cfgSkin,gtkShMem->sb.name ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
200 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
201 int ret;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
202 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
203 dbprintf( 1,"[psignal] skin: %s\n",gtkShMem->sb.name );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
204 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
205
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
206 mainVisible=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
207
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
208 appInitStruct( &tmpList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
209 skinAppMPlayer=&tmpList;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
210 ret=skinRead( gtkShMem->sb.name );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
211
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
212 appInitStruct( &tmpList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
213 skinAppMPlayer=&appMPlayer;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
214 appInitStruct( &appMPlayer );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
215 if ( !ret ) strcpy( cfgSkin,gtkShMem->sb.name );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
216 skinRead( cfgSkin );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
217
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
218 if ( ret )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
219 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
220 mainVisible=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
221 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
222 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
223
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
224 // appCopy( &appMPlayer,&tmpList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
225 // appInitStruct( &tmpList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
226 // skinAppMPlayer=&appMPlayer;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
227 // strcpy( cfgSkin,gtkShMem->sb.name );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
228
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
229 if ( mplDrawBuffer ) free( mplDrawBuffer );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
230 if ( ( mplDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.main.Bitmap.ImageSize ) ) == NULL )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
231 { message( False,langNEMDB ); break; }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
232 wsResizeWindow( &appMPlayer.mainWindow,appMPlayer.main.width,appMPlayer.main.height );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
233 wsMoveWindow( &appMPlayer.mainWindow,appMPlayer.main.x,appMPlayer.main.y );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
234 wsResizeImage( &appMPlayer.mainWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
235 wsSetShape( &appMPlayer.mainWindow,appMPlayer.main.Mask.Image );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
236 mainVisible=1; mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
237 btnModify( evSetVolume,mplShMem->Volume );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
238 btnModify( evSetBalance,mplShMem->Balance );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
239 btnModify( evSetMoviePosition,mplShMem->Position );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
240
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
241 if ( appMPlayer.menuBase.Bitmap.Image )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
242 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
243 if ( mplMenuDrawBuffer ) free( mplMenuDrawBuffer );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
244 if ( ( mplMenuDrawBuffer = (unsigned char *)calloc( 1,appMPlayer.menuBase.Bitmap.ImageSize ) ) == NULL )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
245 { message( False,langNEMDB ); break; }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
246 wsResizeWindow( &appMPlayer.menuWindow,appMPlayer.menuBase.width,appMPlayer.menuBase.height );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
247 wsResizeImage( &appMPlayer.menuWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
248 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
249
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
250 mplSkinChanged=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
251 if ( !mplShMem->Playing )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
252 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
253 mplSkinChanged=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
254 if ( appMPlayer.subWindow.isFullScreen ) wsFullScreen( &appMPlayer.subWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
255 wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
256 wsMoveWindow( &appMPlayer.subWindow,appMPlayer.sub.x,appMPlayer.sub.y );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
257 if ( appMPlayer.sub.Bitmap.Image ) wsResizeImage( &appMPlayer.subWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
258 mplSubRender=1; wsPostRedisplay( &appMPlayer.subWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
259 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
260 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
261 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
262 case evFileLoaded:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
263 if ( Filename ) free( Filename );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
264 Filename=(char *)malloc( strlen( gtkShMem->fs.dir ) + strlen( gtkShMem->fs.filename ) + 2 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
265 strcpy( Filename,gtkShMem->fs.dir ); strcat( Filename,"/" ); strcat( Filename,gtkShMem->fs.filename );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
266 if ( mplMainAutoPlay ) mplGeneralTimer=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
267 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
268 case evMessageBox:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
269 if ( mplCriticalError )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
270 { gtkSendMessage( evExit ); exit( 1 ); }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
271 mplCriticalError=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
272 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
273 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
274
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
275 // switch( mplShMem->message )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
276 // {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
277 // }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
278 gtkShMem->message=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
279 mplShMem->message=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
280 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
281
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
282 void mplSendMessage( int msg )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
283 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
284 if ( !mplShMem->Playing ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
285 mplShMem->message=msg;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
286 kill( mplMPlayerPID,SIGTYPE ); usleep( 10 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
287 kill( mplMPlayerPID,SIGTYPE ); usleep( 10 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
288 kill( mplMPlayerPID,SIGTYPE );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
289 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
290
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
291 void gtkSendMessage( int msg )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
292 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
293 if ( !gtkIsOk ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
294 gtkShMem->message=msg;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
295 kill( gtkChildPID,SIGTYPE );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
296 }