annotate Gui/mplayer/play.c @ 1729:d6c99f70449e

fix hprogressbar
author pontscho
date Tue, 28 Aug 2001 15:55:02 +0000
parents 5e4214a7540e
children b266f763cad3
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
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
10 float gui_position=-1;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
11
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
12 int mplx,mply,mplwidth,mplheight;
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
13
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
14 #include "../app.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
15
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
16 #include "../wm/ws.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
17 #include "../wm/wskeys.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
18 #include "../wm/widget.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
19
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
20 #include "../../config.h"
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
21 #include "../../libvo/x11_common.h"
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
22
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
23 #include "widgets.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
24 #include "./mplayer.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
25 #include "psignal.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
26 #include "play.h"
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
27
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
28 mplCommStruct * mplShMem;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
29 char * Filename = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
30
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
31 extern float rel_seek_secs;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
32 extern int abs_seek_pos;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
33
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
34
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
35 void mplPlayerThread( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
36 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
37 // mplayer( 0,NULL,NULL );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
38 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
39
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
40 void mplFullScreen( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
41 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
42 if ( appMPlayer.subWindow.isFullScreen )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
43 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
44 if ( mplShMem->Playing )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
45 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
46 appMPlayer.subWindow.OldX=mplx;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
47 appMPlayer.subWindow.OldY=mply;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
48 appMPlayer.subWindow.OldWidth=mplwidth;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
49 appMPlayer.subWindow.OldHeight=mplheight;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
50 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
51 else
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
52 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
53 appMPlayer.subWindow.OldWidth=appMPlayer.sub.width;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
54 appMPlayer.subWindow.OldHeight=appMPlayer.sub.height;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
55 appMPlayer.subWindow.OldX=( wsMaxX - appMPlayer.sub.width ) / 2;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
56 appMPlayer.subWindow.OldY=( wsMaxY - appMPlayer.sub.height ) / 2;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
57 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
58 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
59 wsFullScreen( &appMPlayer.subWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
60 wsMoveTopWindow( &appMPlayer.subWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
61 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
62
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
63 extern int mplSubRender;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
64
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
65 void mplStop()
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
66 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
67 if ( !mplShMem->Playing ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
68 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
69 printf("%%%%%% STOP \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
70 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
71 mplShMem->Playing=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
72 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
73
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
74 void mplPlay( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
75 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
76 if ( !Filename ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
77 if ( mplShMem->Playing ) mplStop();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
78 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
79 printf("%%%%%% PLAY \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
80 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
81 mplShMem->Playing=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
82 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
83
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
84 void mplPause( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
85 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
86 if ( mplShMem->Playing != 1 ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
87 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
88 printf("%%%%%% PAUSE \n");
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
89 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
90 mplShMem->Playing=2;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
91 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
92
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
93 void mplResize( unsigned int X,unsigned int Y,unsigned int width,unsigned int height )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
94 {
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
95
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
96 printf("mplResize(%d,%d,%d,%d) \n",X,Y,width,height);
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
97 vo_resize=1;
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
98
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
99 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
100
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
101 void mplMPlayerInit( int argc,char* argv[], char *envp[] )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
102 {
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
103 #if 0
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
104 mplShMem=shmem_alloc( ShMemSize );
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
105 #else
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
106 mplShMem=calloc( 1,ShMemSize );
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
107 #endif
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
108 signal( SIGTYPE,mplMainSigHandler );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
109 signal( SIGCHLD,SIG_IGN );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
110
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
111 mplShMem->Playing=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
112 mplShMem->Volume=0.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
113 mplShMem->Position=0.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
114 mplShMem->Balance=50.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
115 mplShMem->Track=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
116 mplShMem->AudioType=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
117 mplShMem->StreamType=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
118 mplShMem->TimeSec=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
119 mplShMem->LengthInSec=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
120
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
121 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
122 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
123 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
124
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
125 float mplGetPosition( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
126 { // return 0.0 ... 100.0
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
127 // return (gui_position<0)?(mplShMem->Position):(gui_position*100.0);
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
128 return mplShMem->Position;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
129 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
130
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
131 void mplRelSeek( float s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
132 { // -+s
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
133 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
134 printf("%%%%%% RelSEEK=%5.3f \n",s);
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
135 // ---
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
136 rel_seek_secs=s; abs_seek_pos=0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
137 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
138
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
139 void mplAbsSeek( float s )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
140 { // 0.0 ... 100.0
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
141 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
142 printf("%%%%%% AbsSEEK=%5.3f \n",s);
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1693
diff changeset
143 rel_seek_secs=0.01*s; abs_seek_pos=3;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
144 // ---
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
145 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
146
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
147 void mplIncAudioBufDelay( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
148 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
149 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
150
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
151 void mplDecAudioBufDelay( void )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
152 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
153 }