summaryrefslogtreecommitdiffstats
path: root/Gui/mplayer/play.c
blob: 11a45ef4fae53361f9d12b2d5abd06835c816af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

#include <stdlib.h>
#include <stdio.h>

#include <unistd.h>
#include <signal.h>

int    mplParent = 1;

int    moviex,moviey,moviewidth,movieheight;

#include "../app.h"

#include "../wm/ws.h"
#include "../wm/wskeys.h"
#include "../wm/widget.h"

#include "../../config.h"
#include "../../libvo/x11_common.h"

#include "widgets.h"
#include "./mplayer.h"
#include "psignal.h"
#include "play.h"

mplCommStruct * mplShMem;
char          * Filename = NULL;

extern float rel_seek_secs;
extern int abs_seek_pos;


void mplPlayerThread( void )
{
// mplayer( 0,NULL,NULL );
}

void mplFullScreen( void )
{
// if ( appMPlayer.subWindow.isFullScreen )
//  {
//  }
 wsFullScreen( &appMPlayer.subWindow ); 
 mplResize( 0,0,appMPlayer.subWindow.Width,appMPlayer.subWindow.Height );
}

extern int mplSubRender;

void mplStop()
{
 if ( !mplShMem->Playing ) return;
// ---
printf("%%%%%% STOP  \n");
// ---
 mplShMem->Playing=0;
}

void mplPlay( void )
{
 if ( mplShMem->Filename[0] == 0 ) return;
 if ( mplShMem->Playing ) mplStop();
// ---
printf("%%%%%% PLAY  \n");
// ---
 mplShMem->Playing=1;
}

void mplPause( void )
{
 if ( mplShMem->Playing != 1 ) return;
// ---
printf("%%%%%% PAUSE  \n");
// ---
 mplShMem->Playing=2;
}

void mplResize( unsigned int X,unsigned int Y,unsigned int width,unsigned int height )
{
 vo_setwindowsize( width,height );
 vo_resize=1;
}

void mplMPlayerInit( int argc,char* argv[], char *envp[] )
{
#if 0
 mplShMem=shmem_alloc( ShMemSize );
#else
 mplShMem=calloc( 1,ShMemSize );
#endif
 signal( SIGTYPE,mplMainSigHandler );
// signal( SIGCHLD,SIG_IGN );

 mplShMem->Playing=0;
 mplShMem->Volume=0.0f;
 mplShMem->Position=0.0f;
 mplShMem->Balance=50.0f;
 mplShMem->Track=0;
 mplShMem->AudioType=0;
 mplShMem->StreamType=0;
 mplShMem->TimeSec=0;
 mplShMem->LengthInSec=0;

// ---
// ---
}

float mplGetPosition( void )
{ // return 0.0 ... 100.0
 return mplShMem->Position;
}

void mplRelSeek( float s )
{ // -+s
// ---
//printf("%%%%%% RelSEEK=%5.3f  \n",s);
// ---
 rel_seek_secs=s; abs_seek_pos=0;
}

void mplAbsSeek( float s )
{ // 0.0 ... 100.0
// ---
//printf("%%%%%% AbsSEEK=%5.3f  \n",s);
 rel_seek_secs=0.01*s; abs_seek_pos=3;
// ---
}