comparison Gui/mplayer/mw.h @ 3054:9507f90d8254

add half dvd support for gui
author pontscho
date Wed, 21 Nov 2001 17:43:57 +0000
parents f294650ae03b
children 11b02bd1de45
comparison
equal deleted inserted replaced
3053:153fc4f5464f 3054:9507f90d8254
12 int mainVisible = 1; 12 int mainVisible = 1;
13 13
14 int boxMoved = 0; 14 int boxMoved = 0;
15 int sx = 0,sy = 0; 15 int sx = 0,sy = 0;
16 int i,pot = 0; 16 int i,pot = 0;
17
18 inline void TranslateFilename( int c,char * tmp )
19 {
20 int i;
21 switch ( mplShMem->StreamType )
22 {
23 case STREAMTYPE_FILE:
24 if ( gtkShMem->fs.filename[0] )
25 {
26 strcpy( tmp,gtkShMem->fs.filename );
27 if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
28 if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
29 } else strcpy( tmp,"no file loaded" );
30 break;
31 #ifdef USE_DVDREAD
32 case STREAMTYPE_DVD:
33 if ( mplShMem->DVD.current_chapter ) sprintf( tmp,"chapter %d",mplShMem->DVD.current_chapter );
34 else strcat( tmp,"no chapter" );
35 break;
36 #endif
37 default: strcpy( tmp,"no media opened" );
38 }
39 if ( c )
40 {
41 for ( i=0;i < strlen( tmp );i++ )
42 {
43 int t=0;
44 if ( c == 1 ) { if ( ( tmp[i] >= 'A' )&&( tmp[i] <= 'Z' ) ) t=32; }
45 if ( c == 2 ) { if ( ( tmp[i] >= 'a' )&&( tmp[i] <= 'z' ) ) t=-32; }
46 tmp[i]=(char)( tmp[i] + t );
47 }
48 }
49 }
17 50
18 char * Translate( char * str ) 51 char * Translate( char * str )
19 { 52 {
20 static char trbuf[512]; 53 static char trbuf[512];
21 char tmp[128]; 54 char tmp[128];
28 if ( str[i] != '$' ) { trbuf[c++]=str[i]; trbuf[c]=0; } 61 if ( str[i] != '$' ) { trbuf[c++]=str[i]; trbuf[c]=0; }
29 else 62 else
30 { 63 {
31 switch ( str[++i] ) 64 switch ( str[++i] )
32 { 65 {
33 case 't': 66 case 't': sprintf( tmp,"%02d",mplShMem->Track ); strcat( trbuf,tmp ); break;
34 sprintf( tmp,"%02d",mplShMem->Track ); strcat( trbuf,tmp ); 67 case 'o': TranslateFilename( 0,tmp ); strcat( trbuf,tmp ); break;
35 break; 68 case 'f': TranslateFilename( 1,tmp ); strcat( trbuf,tmp ); break;
36 case 'f': 69 case 'F': TranslateFilename( 2,tmp ); strcat( trbuf,tmp ); break;
37 if ( strlen( gtkShMem->fs.filename ) )
38 {
39 int i;
40 strcpy( tmp,gtkShMem->fs.filename );
41 for ( i=0;i < strlen( tmp );i++ )
42 {
43 t=0;
44 if ( ( tmp[i] >= 'A' )&&( tmp[i] <= 'Z' ) ) t=32;
45 tmp[i]=(char)( tmp[i] + t );
46 }
47 if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
48 if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
49 } else strcpy( tmp,"no file loaded" );
50 strcat( trbuf,tmp );
51 break;
52 case 'F':
53 if ( strlen( gtkShMem->fs.filename ) )
54 {
55 int i;
56 strcpy( tmp,gtkShMem->fs.filename );
57 for ( i=0;i < strlen( tmp );i++ )
58 {
59 char t = 0;
60 if ( ( tmp[i] >= 'a' )&&( tmp[i] <= 'z' ) ) t=32;
61 tmp[i]=tmp[i] - t;
62 }
63 if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
64 if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
65 } else strcpy( tmp,"NO FILE LOADED" );
66 strcat( trbuf,tmp );
67 break;
68 case 'o':
69 if ( strlen( gtkShMem->fs.filename ) )
70 {
71 strcat( trbuf,gtkShMem->fs.filename );
72 if ( trbuf[strlen( trbuf ) - 4] == '.' ) trbuf[strlen( trbuf ) - 4]=0;
73 if ( trbuf[strlen( trbuf ) - 5] == '.' ) trbuf[strlen( trbuf ) - 5]=0;
74 } else strcat( trbuf,"no file loaded" );
75 break;
76 case '6': t=mplShMem->LengthInSec; goto calclengthhhmmss; 70 case '6': t=mplShMem->LengthInSec; goto calclengthhhmmss;
77 case '1': t=mplShMem->TimeSec; 71 case '1': t=mplShMem->TimeSec;
78 calclengthhhmmss: 72 calclengthhhmmss:
79 sprintf( tmp,"%02d:%02d:%02d",t/3600,t/60%60,t%60 ); strcat( trbuf,tmp ); 73 sprintf( tmp,"%02d:%02d:%02d",t/3600,t/60%60,t%60 ); strcat( trbuf,tmp );
80 break; 74 break;
107 switch ( mplShMem->StreamType ) 101 switch ( mplShMem->StreamType )
108 { 102 {
109 case STREAMTYPE_FILE: strcat( trbuf,"f" ); break; 103 case STREAMTYPE_FILE: strcat( trbuf,"f" ); break;
110 case STREAMTYPE_VCD: strcat( trbuf,"v" ); break; 104 case STREAMTYPE_VCD: strcat( trbuf,"v" ); break;
111 case STREAMTYPE_STREAM: strcat( trbuf,"u" ); break; 105 case STREAMTYPE_STREAM: strcat( trbuf,"u" ); break;
106 #ifdef USE_DVDREAD
112 case STREAMTYPE_DVD: strcat( trbuf,"d" ); break; 107 case STREAMTYPE_DVD: strcat( trbuf,"d" ); break;
108 #endif
113 default: strcat( trbuf," " ); break; 109 default: strcat( trbuf," " ); break;
114 } 110 }
115 break; 111 break;
116 case '$': strcat( trbuf,"$" ); break; 112 case '$': strcat( trbuf,"$" ); break;
117 default: continue; 113 default: continue;
120 } 116 }
121 } 117 }
122 return trbuf; 118 return trbuf;
123 } 119 }
124 120
125 void PutImage( txSample * bf,int x,int y,int max,int ofs ) 121 inline void PutImage( txSample * bf,int x,int y,int max,int ofs )
126 { 122 {
127 int i=0,ix,iy; 123 int i=0,ix,iy;
128 unsigned long * buf = NULL; 124 unsigned long * buf = NULL;
129 unsigned long * drw = NULL; 125 unsigned long * drw = NULL;
130 unsigned long tmp; 126 unsigned long tmp;
154 !mainVisible ) return; 150 !mainVisible ) return;
155 // !appMPlayer.mainWindow.Mapped ) return; 151 // !appMPlayer.mainWindow.Mapped ) return;
156 152
157 btnModify( evSetMoviePosition,mplShMem->Position ); 153 btnModify( evSetMoviePosition,mplShMem->Position );
158 btnModify( evSetVolume,mplShMem->Volume ); 154 btnModify( evSetVolume,mplShMem->Volume );
159
160 switch ( mplShMem->Playing )
161 {
162 case 2:
163 case 0:
164 btnModify( evPlaySwitchToPause,btnReleased );
165 btnModify( evPauseSwitchToPlay,btnDisabled );
166 break;
167 case 1:
168 if ( mplShMem->Filename[0] != 0 )
169 {
170 btnModify( evPlaySwitchToPause,btnDisabled );
171 btnModify( evPauseSwitchToPlay,btnReleased );
172 }
173 }
174 155
175 if ( mplMainRender ) 156 if ( mplMainRender )
176 { 157 {
177 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize ); 158 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize );
178 for( i=0;i < appMPlayer.NumberOfItems + 1;i++ ) 159 for( i=0;i < appMPlayer.NumberOfItems + 1;i++ )
227 case evExit: 208 case evExit:
228 wsDoExit(); // sets wsTrue=False; 209 wsDoExit(); // sets wsTrue=False;
229 exit_player( "Exit" ); 210 exit_player( "Exit" );
230 break; 211 break;
231 212
213 #ifdef USE_DVDREAD
232 case evPlayDVD: 214 case evPlayDVD:
233 mplShMem->StreamType=STREAMTYPE_DVD; 215 mplShMem->StreamType=STREAMTYPE_DVD;
216 #endif
234 217
235 case evPlay: 218 case evPlay:
236 case evPlaySwitchToPause: 219 case evPlaySwitchToPause:
237 btnModify( evPlaySwitchToPause,btnDisabled ); 220 btnModify( evPlaySwitchToPause,btnDisabled );
238 btnModify( evPauseSwitchToPlay,btnReleased ); 221 btnModify( evPauseSwitchToPlay,btnReleased );
244 case STREAMTYPE_STREAM: 227 case STREAMTYPE_STREAM:
245 case STREAMTYPE_VCD: 228 case STREAMTYPE_VCD:
246 case STREAMTYPE_FILE: 229 case STREAMTYPE_FILE:
247 dvd_title=0; 230 dvd_title=0;
248 break; 231 break;
232 #ifdef USE_DVDREAD
249 case STREAMTYPE_DVD: 233 case STREAMTYPE_DVD:
250 dvd_title=1; 234 dvd_title=1;
251 dvd_chapter=1; 235 dvd_chapter=1;
252 dvd_angle=1; 236 dvd_angle=1;
253 strcpy( mplShMem->Filename,"/dev/dvd" ); 237 strcpy( mplShMem->Filename,"/dev/dvd" );
254 break; 238 break;
239 #endif
255 } 240 }
256 mplPlay(); 241 mplPlay();
257 break; 242 break;
258
259 // break;
260 243
261 case evPause: 244 case evPause:
262 case evPauseSwitchToPlay: 245 case evPauseSwitchToPlay:
263 Pause:
264 btnModify( evPlaySwitchToPause,btnReleased ); 246 btnModify( evPlaySwitchToPause,btnReleased );
265 btnModify( evPauseSwitchToPlay,btnDisabled ); 247 btnModify( evPauseSwitchToPlay,btnDisabled );
266 NoPause: 248 NoPause:
267 mplMainRender=1; 249 mplMainRender=1;
268 mplPause(); 250 mplPause();
395 mplPlay(); 377 mplPlay();
396 } 378 }
397 if ( mplMiddleMenu ) 379 if ( mplMiddleMenu )
398 { 380 {
399 mplMiddleMenu=0; 381 mplMiddleMenu=0;
400 mplMsgHandle( gtkShMem->popupmenu,0 ); 382 mplMsgHandle( gtkShMem->popupmenu,gtkShMem->popupmenuparam );
401 } 383 }
402 break; 384 break;
403 // --- system events 385 // --- system events
404 case evNone: 386 case evNone:
405 dbprintf( 1,"[mw] event none received.\n" ); 387 dbprintf( 1,"[mw] event none received.\n" );
486 mplMainRender=1; 468 mplMainRender=1;
487 itemtype=0; 469 itemtype=0;
488 break; 470 break;
489 471
490 case wsPMMouseButton: 472 case wsPMMouseButton:
473 memcpy( &gtkShMem->DVD,&mplShMem->DVD,sizeof( mplDVDStruct ) );
491 gtkSendMessage( evShowPopUpMenu ); 474 gtkSendMessage( evShowPopUpMenu );
492 break; 475 break;
493 476
494 // --- rolled mouse ... de szar :))) 477 // --- rolled mouse ... de szar :)))
495 case wsP5MouseButton: value=-2.5f; goto rollerhandled; 478 case wsP5MouseButton: value=-2.5f; goto rollerhandled;