comparison Gui/mplayer/mw.h @ 6794:77980ab4e296

- add preferences support (first try) - fix some playlist bug - fix some equ bug - fix some redraw bug - fix dvd playing - fix file open dialog box - etc.
author pontscho
date Thu, 25 Jul 2002 20:26:38 +0000
parents a31b9f15cbff
children c2d4100c964e
comparison
equal deleted inserted replaced
6793:48d432a8d531 6794:77980ab4e296
168 // !appMPlayer.mainWindow.Mapped ) return; 168 // !appMPlayer.mainWindow.Mapped ) return;
169 169
170 btnModify( evSetMoviePosition,guiIntfStruct.Position ); 170 btnModify( evSetMoviePosition,guiIntfStruct.Position );
171 btnModify( evSetVolume,guiIntfStruct.Volume ); 171 btnModify( evSetVolume,guiIntfStruct.Volume );
172 172
173 if ( mplMainRender ) 173 if ( mplMainRender && appMPlayer.mainWindow.State == wsWindowExpose )
174 { 174 {
175 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize ); 175 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize );
176 for( i=0;i < appMPlayer.NumberOfItems + 1;i++ ) 176 for( i=0;i < appMPlayer.NumberOfItems + 1;i++ )
177 { 177 {
178 item=&appMPlayer.Items[i]; 178 item=&appMPlayer.Items[i];
232 case evExit: 232 case evExit:
233 exit_player( "Exit" ); 233 exit_player( "Exit" );
234 break; 234 break;
235 235
236 case evPlayNetwork: 236 case evPlayNetwork:
237 if ( guiIntfStruct.Subtitlename ) { free( guiIntfStruct.Subtitlename ); guiIntfStruct.Subtitlename=NULL; }
238 if ( guiIntfStruct.AudioFile ) { free( guiIntfStruct.AudioFile ); guiIntfStruct.AudioFile=NULL; }
237 guiIntfStruct.StreamType=STREAMTYPE_STREAM; 239 guiIntfStruct.StreamType=STREAMTYPE_STREAM;
238 goto play; 240 goto play;
239 case evSetURL: 241 case evSetURL:
240 gtkShow( evPlayNetwork,NULL ); 242 gtkShow( evPlayNetwork,NULL );
241 break; 243 break;
242 244
243 #ifdef HAVE_VCD 245 #ifdef HAVE_VCD
244 case evSetVCDTrack: 246 case evSetVCDTrack:
245 guiIntfStruct.Track=(int)param; 247 guiIntfStruct.Track=(int)param;
246 case evPlayVCD: 248 case evPlayVCD:
249 gtkSet( gtkClearStruct,guiALL,NULL );
247 guiIntfStruct.StreamType=STREAMTYPE_VCD; 250 guiIntfStruct.StreamType=STREAMTYPE_VCD;
248 goto play; 251 goto play;
249 #endif 252 #endif
250 #ifdef USE_DVDREAD 253 #ifdef USE_DVDREAD
251 case evPlayDVD: 254 case evPlayDVD:
252 guiIntfStruct.DVD.current_title=1; 255 guiIntfStruct.DVD.current_title=1;
253 guiIntfStruct.DVD.current_chapter=1; 256 guiIntfStruct.DVD.current_chapter=1;
254 guiIntfStruct.DVD.current_angle=1; 257 guiIntfStruct.DVD.current_angle=1;
255 play_dvd_2: 258 play_dvd_2:
259 gtkSet( gtkClearStruct,guiALL - guiDVD,NULL );
256 guiIntfStruct.StreamType=STREAMTYPE_DVD; 260 guiIntfStruct.StreamType=STREAMTYPE_DVD;
257 #endif 261 #endif
258 case evPlay: 262 case evPlay:
259 case evPlaySwitchToPause: 263 case evPlaySwitchToPause:
260 play: 264 play:
261 265
262 mplMainAutoPlay=0; 266 mplMainAutoPlay=0;
263 if ( ( msg == evPlaySwitchToPause )&&( guiIntfStruct.Playing == 1 ) ) goto NoPause; 267 if ( ( msg == evPlaySwitchToPause )&&( guiIntfStruct.Playing == 2 ) ) goto NoPause;
264 268
265 vcd_track=0; 269 vcd_track=0;
266 dvd_title=0; 270 dvd_title=0;
267 271
268 if ( gtkSet( gtkGetCurrPlItem,0,NULL ) ) 272 if ( gtkSet( gtkGetCurrPlItem,0,NULL ) )
270 plItem * next = gtkSet( gtkGetCurrPlItem,0,NULL ); 274 plItem * next = gtkSet( gtkGetCurrPlItem,0,NULL );
271 plLastPlayed=next; 275 plLastPlayed=next;
272 guiSetDF( guiIntfStruct.Filename,next->path,next->name ); 276 guiSetDF( guiIntfStruct.Filename,next->path,next->name );
273 guiIntfStruct.StreamType=STREAMTYPE_FILE; 277 guiIntfStruct.StreamType=STREAMTYPE_FILE;
274 guiIntfStruct.FilenameChanged=1; 278 guiIntfStruct.FilenameChanged=1;
275 if ( guiIntfStruct.AudioFile ) free( guiIntfStruct.AudioFile ); 279 gfree( (void **)&guiIntfStruct.AudioFile );
276 guiIntfStruct.AudioFile=NULL; 280 gfree( (void **)&guiIntfStruct.Subtitlename );
277 } 281 }
278 282
279 switch ( guiIntfStruct.StreamType ) 283 switch ( guiIntfStruct.StreamType )
280 { 284 {
281 case STREAMTYPE_STREAM: 285 case STREAMTYPE_STREAM:
282 case STREAMTYPE_FILE: 286 case STREAMTYPE_FILE:
283 guiGetEvent( guiClearStruct,(char *)guiALL ); 287 gtkSet( gtkClearStruct,guiALL - guiFilenames,NULL );
284 break; 288 break;
285 #ifdef HAVE_VCD 289 #ifdef HAVE_VCD
286 case STREAMTYPE_VCD: 290 case STREAMTYPE_VCD:
287 guiGetEvent( guiClearStruct,(char *)(guiALL - guiVCD ) ); 291 gtkSet( gtkClearStruct,guiALL - guiVCD - guiFilenames,NULL );
288 if ( !cdrom_device ) 292 if ( !cdrom_device )
289 { 293 {
290 cdrom_device=DEFAULT_CDROM_DEVICE; 294 cdrom_device=DEFAULT_CDROM_DEVICE;
291 guiSetFilename( guiIntfStruct.Filename,cdrom_device ); 295 guiSetFilename( guiIntfStruct.Filename,cdrom_device );
292 } 296 }
302 } 306 }
303 break; 307 break;
304 #endif 308 #endif
305 #ifdef USE_DVDREAD 309 #ifdef USE_DVDREAD
306 case STREAMTYPE_DVD: 310 case STREAMTYPE_DVD:
307 guiGetEvent( guiClearStruct,(char *)(guiALL - guiDVD ) ); 311 gtkSet( gtkClearStruct,guiALL - guiDVD - guiFilenames,NULL );
308 if ( !dvd_device ) 312 if ( !dvd_device )
309 { 313 {
310 dvd_device=DEFAULT_DVD_DEVICE; 314 dvd_device=DEFAULT_DVD_DEVICE;
311 guiSetFilename( guiIntfStruct.Filename,dvd_device ); 315 guiSetFilename( guiIntfStruct.Filename,dvd_device )
312 } 316 }
313 if ( guiIntfStruct.Playing != 2 ) 317 if ( guiIntfStruct.Playing != 2 )
314 { 318 {
315 dvd_title=guiIntfStruct.DVD.current_title; 319 dvd_title=guiIntfStruct.DVD.current_title;
316 dvd_angle=guiIntfStruct.DVD.current_angle; 320 dvd_angle=guiIntfStruct.DVD.current_angle;
319 } 323 }
320 break; 324 break;
321 #endif 325 #endif
322 } 326 }
323 mplPlay(); 327 mplPlay();
324 mplMainRender=1;
325 break; 328 break;
326 #ifdef USE_DVDREAD 329 #ifdef USE_DVDREAD
327 case evSetDVDSubtitle: 330 case evSetDVDSubtitle:
328 dvdsub_id=(int)param; 331 dvdsub_id=(int)param;
329 goto play_dvd_2; 332 goto play_dvd_2;
346 349
347 case evPause: 350 case evPause:
348 case evPauseSwitchToPlay: 351 case evPauseSwitchToPlay:
349 NoPause: 352 NoPause:
350 mplPause(); 353 mplPause();
351 mplMainRender=1; 354 break;
352 break; 355
353 356 case evStop: guiIntfStruct.Playing=guiSetStop; break;
354 case evStop:
355 mplStop();
356 mplMainRender=1;
357 break;
358 357
359 case evLoadPlay: 358 case evLoadPlay:
360 mplMainAutoPlay=1; 359 mplMainAutoPlay=1;
361 // guiIntfStruct.StreamType=STREAMTYPE_FILE; 360 // guiIntfStruct.StreamType=STREAMTYPE_FILE;
362 case evLoad: 361 case evLoad:
363 mplMainRender=1;
364 gtkSet( gtkDelPl,0,NULL ); 362 gtkSet( gtkDelPl,0,NULL );
365 gtkShow( evLoad,NULL ); 363 gtkShow( evLoad,NULL );
366 break; 364 break;
367 case evLoadSubtitle: 365 case evLoadSubtitle: gtkShow( evLoadSubtitle,NULL ); break;
368 mplMainRender=1; 366 case evLoadAudioFile: gtkShow( evLoadAudioFile,NULL ); break;
369 gtkShow( evLoadSubtitle,NULL ); 367 case evPrev: mplPrev(); break;
370 break; 368 case evNext: mplNext(); break;
371 case evLoadAudioFile:
372 gtkShow( evLoadAudioFile,NULL );
373 break;
374 case evPrev:
375 mplPrev();
376 mplMainRender=1;
377 break;
378 case evNext:
379 mplNext();
380 mplMainRender=1;
381 break;
382 369
383 case evPlayList: gtkShow( evPlayList,NULL ); break; 370 case evPlayList: gtkShow( evPlayList,NULL ); break;
384 case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break; 371 case evSkinBrowser: gtkShow( evSkinBrowser,skinName ); break;
385 case evAbout: gtkShow( evAbout,NULL ); break; 372 case evAbout: gtkShow( evAbout,NULL ); break;
386 case evPreferences: gtkShow( evPreferences,NULL ); break; 373 case evPreferences: gtkShow( evPreferences,NULL ); break;
459 appMPlayer.Items[j].tmp=!appMPlayer.Items[j].tmp; 446 appMPlayer.Items[j].tmp=!appMPlayer.Items[j].tmp;
460 appMPlayer.Items[j].pressed=appMPlayer.Items[j].tmp; 447 appMPlayer.Items[j].pressed=appMPlayer.Items[j].tmp;
461 } 448 }
462 } 449 }
463 mplFullScreen(); 450 mplFullScreen();
464 mplMainRender=1;
465 break; 451 break;
466 452
467 // --- timer events 453 // --- timer events
468 case evRedraw: 454 case evRedraw:
469 mplMainRender=1; 455 mplMainRender=1;
514 case wsPLMouseButton: 500 case wsPLMouseButton:
515 gtkShow( evHidePopUpMenu,NULL ); 501 gtkShow( evHidePopUpMenu,NULL );
516 sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton; // if move the main window 502 sx=X; sy=Y; boxMoved=1; itemtype=itPLMButton; // if move the main window
517 SelectedItem=currentselected; 503 SelectedItem=currentselected;
518 if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window 504 if ( SelectedItem == -1 ) break; // yeees, i'm move the fucking window
519 boxMoved=0; mplMainRender=1; // No, not move the window, i'm pressed one button 505 boxMoved=0; //mplMainRender=1; // No, not move the window, i'm pressed one button
520 item=&appMPlayer.Items[SelectedItem]; 506 item=&appMPlayer.Items[SelectedItem];
521 itemtype=item->type; 507 itemtype=item->type;
522 item->pressed=btnPressed; 508 item->pressed=btnPressed;
523 switch( item->type ) 509 switch( item->type )
524 { 510 {
545 mplEventHandling( item->msg,item->value ); 531 mplEventHandling( item->msg,item->value );
546 value=item->value; 532 value=item->value;
547 break; 533 break;
548 } 534 }
549 mplEventHandling( item->msg,value ); 535 mplEventHandling( item->msg,value );
550 mplMainRender=1; 536 // mplMainRender=1;
551 itemtype=0; 537 itemtype=0;
552 break; 538 break;
553 539
554 case wsPRMouseButton: 540 case wsPRMouseButton:
555 gtkShow( evShowPopUpMenu,NULL ); 541 gtkShow( evShowPopUpMenu,NULL );
563 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) ) 549 if ( ( item->type == itHPotmeter )||( item->type == itVPotmeter )||( item->type == itPotmeter ) )
564 { 550 {
565 item->value+=value; 551 item->value+=value;
566 btnModify( item->msg,item->value ); 552 btnModify( item->msg,item->value );
567 mplEventHandling( item->msg,item->value ); 553 mplEventHandling( item->msg,item->value );
568 mplMainRender=1;
569 } 554 }
570 break; 555 break;
571 556
572 // --- moving 557 // --- moving
573 case wsMoveMouse: 558 case wsMoveMouse: