Mercurial > mplayer.hg
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: |