annotate Gui/mplayer/play.c @ 1797:d1aabeb7274f

fix after stop redraw. vagy nem.
author pontscho
date Fri, 31 Aug 2001 11:26:14 +0000
parents 13ea5f992185
children f5ffb03ebdb5
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
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
5 #include <unistd.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
6 #include <signal.h>
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
7
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
8 int mplParent = 1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
9
1765
29913c011d50 normal size
pontscho
parents: 1757
diff changeset
10 int moviex,moviey,moviewidth,movieheight;
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
11
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
12 #include "../app.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
13
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 "../wm/wskeys.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
16 #include "../wm/widget.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
17
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
18 #include "../../config.h"
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
19 #include "../../libvo/x11_common.h"
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
20
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
21 #include "widgets.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
22 #include "./mplayer.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
23 #include "psignal.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
24 #include "play.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
25
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
26 mplCommStruct * mplShMem;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
27 char * Filename = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
28
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
29 extern float rel_seek_secs;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
30 extern int abs_seek_pos;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
31
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
32
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
33 void mplPlayerThread( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
34 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
35 // mplayer( 0,NULL,NULL );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
36 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
37
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
38 void mplFullScreen( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
39 {
1765
29913c011d50 normal size
pontscho
parents: 1757
diff changeset
40 // if ( appMPlayer.subWindow.isFullScreen )
29913c011d50 normal size
pontscho
parents: 1757
diff changeset
41 // {
29913c011d50 normal size
pontscho
parents: 1757
diff changeset
42 // }
29913c011d50 normal size
pontscho
parents: 1757
diff changeset
43 wsFullScreen( &appMPlayer.subWindow );
1756
9621e4d14c6d fullscreen fixed
pontscho
parents: 1747
diff changeset
44 mplResize( 0,0,appMPlayer.subWindow.Width,appMPlayer.subWindow.Height );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
45 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
46
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
47 extern int mplSubRender;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
48
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
49 void mplStop()
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
50 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
51 if ( !mplShMem->Playing ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
52 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
53 printf("%%%%%% STOP \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
54 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
55 mplShMem->Playing=0;
1796
13ea5f992185 fix stop subimage
pontscho
parents: 1791
diff changeset
56 if ( !appMPlayer.subWindow.isFullScreen )
13ea5f992185 fix stop subimage
pontscho
parents: 1791
diff changeset
57 {
13ea5f992185 fix stop subimage
pontscho
parents: 1791
diff changeset
58 wsMoveWindow( &appMPlayer.subWindow,appMPlayer.sub.x,appMPlayer.sub.y );
13ea5f992185 fix stop subimage
pontscho
parents: 1791
diff changeset
59 wsResizeWindow( &appMPlayer.subWindow,appMPlayer.sub.width,appMPlayer.sub.height );
13ea5f992185 fix stop subimage
pontscho
parents: 1791
diff changeset
60 }
1797
d1aabeb7274f fix after stop redraw. vagy nem.
pontscho
parents: 1796
diff changeset
61 mplSubRender=1;
d1aabeb7274f fix after stop redraw. vagy nem.
pontscho
parents: 1796
diff changeset
62 wsPostRedisplay( &appMPlayer.subWindow );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
63 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
64
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
65 void mplPlay( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
66 {
1780
2e406cbf4f4b optim fix ;))))))
pontscho
parents: 1777
diff changeset
67 if ( mplShMem->Filename[0] == 0 ) return;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
68 if ( mplShMem->Playing ) mplStop();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
69 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
70 printf("%%%%%% PLAY \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
71 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
72 mplShMem->Playing=1;
1791
2e86c5c8071e fix subvindov
pontscho
parents: 1784
diff changeset
73 mplSubRender=0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
74 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
75
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
76 void mplPause( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
77 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
78 if ( mplShMem->Playing != 1 ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
79 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
80 printf("%%%%%% PAUSE \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
81 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
82 mplShMem->Playing=2;
1791
2e86c5c8071e fix subvindov
pontscho
parents: 1784
diff changeset
83 mplSubRender=0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
84 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
85
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
86 void mplResize( unsigned int X,unsigned int Y,unsigned int width,unsigned int height )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
87 {
1770
7e3136adcfb1 fix play->pause bug
pontscho
parents: 1765
diff changeset
88 vo_setwindowsize( width,height );
7e3136adcfb1 fix play->pause bug
pontscho
parents: 1765
diff changeset
89 vo_resize=1;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
90 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
91
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
92 void mplMPlayerInit( int argc,char* argv[], char *envp[] )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
93 {
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
94 #if 0
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
95 mplShMem=shmem_alloc( ShMemSize );
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
96 #else
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
97 mplShMem=calloc( 1,ShMemSize );
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
98 #endif
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
99 signal( SIGTYPE,mplMainSigHandler );
1743
b266f763cad3 fix playing
pontscho
parents: 1729
diff changeset
100 // signal( SIGCHLD,SIG_IGN );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
101
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
102 mplShMem->Playing=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
103 mplShMem->Volume=0.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
104 mplShMem->Position=0.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
105 mplShMem->Balance=50.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
106 mplShMem->Track=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
107 mplShMem->AudioType=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
108 mplShMem->StreamType=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
109 mplShMem->TimeSec=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
110 mplShMem->LengthInSec=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
111
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
112 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
113 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
114 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
115
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
116 float mplGetPosition( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
117 { // return 0.0 ... 100.0
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
118 return mplShMem->Position;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
119 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
120
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
121 void mplRelSeek( float s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
122 { // -+s
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
123 // ---
1743
b266f763cad3 fix playing
pontscho
parents: 1729
diff changeset
124 //printf("%%%%%% RelSEEK=%5.3f \n",s);
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
125 // ---
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
126 rel_seek_secs=s; abs_seek_pos=0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
127 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
128
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
129 void mplAbsSeek( float s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
130 { // 0.0 ... 100.0
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
131 // ---
1743
b266f763cad3 fix playing
pontscho
parents: 1729
diff changeset
132 //printf("%%%%%% AbsSEEK=%5.3f \n",s);
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
133 rel_seek_secs=0.01*s; abs_seek_pos=3;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
134 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
135 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
136