annotate Gui/mplayer/mw.h @ 2045:deb4aff05c44

fix other bugs
author pontscho
date Tue, 02 Oct 2001 15:01:56 +0000
parents 1f1e98fbf3a7
children 3248aabc6d1d
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 // main window
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
3
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
4 unsigned char * mplDrawBuffer = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
5 int mplMainRender = 1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
6 int mplMainAutoPlay = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
7
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
8 int mainVisible = 1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
9
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
10 int boxMoved = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
11 int msButton = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
12 int sx = 0,sy = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
13 int i,pot = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
14
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
15 char * Translate( char * str )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
16 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
17 static char trbuf[512];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
18 char tmp[128];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
19 int i,c;
2045
deb4aff05c44 fix other bugs
pontscho
parents: 1888
diff changeset
20 int t;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
21 memset( trbuf,0,512 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
22 memset( tmp,0,128 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
23 for ( c=0,i=0;i < strlen( str );i++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
24 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
25 if ( str[i] != '$' ) { trbuf[c++]=str[i]; trbuf[c]=0; }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
26 else
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
27 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
28 switch ( str[++i] )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
29 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
30 case 't':
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
31 sprintf( tmp,"%02d",mplShMem->Track ); strcat( trbuf,tmp );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
32 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
33 case 'f':
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
34 if ( strlen( gtkShMem->fs.filename ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
35 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
36 int i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
37 strcpy( tmp,gtkShMem->fs.filename );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
38 for ( i=0;i < strlen( tmp );i++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
39 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
40 t=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
41 if ( ( tmp[i] >= 'A' )&&( tmp[i] <= 'Z' ) ) t=32;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
42 tmp[i]=(char)( tmp[i] + t );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
43 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
44 if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
45 if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
46 } else strcpy( tmp,"no file loaded" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
47 strcat( trbuf,tmp );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
48 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
49 case 'F':
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
50 if ( strlen( gtkShMem->fs.filename ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
51 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
52 int i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
53 strcpy( tmp,gtkShMem->fs.filename );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
54 for ( i=0;i < strlen( tmp );i++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
55 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
56 char t = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
57 if ( ( tmp[i] >= 'a' )&&( tmp[i] <= 'z' ) ) t=32;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
58 tmp[i]=tmp[i] - t;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
59 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
60 if ( tmp[strlen( tmp ) - 4] == '.' ) tmp[strlen( tmp ) - 4]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
61 if ( tmp[strlen( tmp ) - 5] == '.' ) tmp[strlen( tmp ) - 5]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
62 } else strcpy( tmp,"NO FILE LOADED" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
63 strcat( trbuf,tmp );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
64 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
65 case 'o':
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
66 if ( strlen( gtkShMem->fs.filename ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
67 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
68 strcat( trbuf,gtkShMem->fs.filename );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
69 if ( trbuf[strlen( trbuf ) - 4] == '.' ) trbuf[strlen( trbuf ) - 4]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
70 if ( trbuf[strlen( trbuf ) - 5] == '.' ) trbuf[strlen( trbuf ) - 5]=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
71 } else strcat( trbuf,"no file loaded" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
72 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
73 case '6': t=mplShMem->LengthInSec; goto calclengthhhmmss;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
74 case '1': t=mplShMem->TimeSec;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
75 calclengthhhmmss:
1888
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
76 sprintf( tmp,"%02d:%02d:%02d",t/3600,t/60%60,t%60 ); strcat( trbuf,tmp );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
77 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
78 case '7': t=mplShMem->LengthInSec; goto calclengthmmmmss;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
79 case '2': t=mplShMem->TimeSec;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
80 calclengthmmmmss:
1888
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
81 sprintf( tmp,"%04d:%02d",t/60,t%60 ); strcat( trbuf,tmp );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
82 break;
1888
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
83 case '3': sprintf( tmp,"%02d",mplShMem->TimeSec / 3600 ); strcat( trbuf,tmp ); break;
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
84 case '4': sprintf( tmp,"%02d",( ( mplShMem->TimeSec / 60 ) % 60 ) ); strcat( trbuf,tmp ); break;
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
85 case '5': sprintf( tmp,"%02d",mplShMem->TimeSec % 60 ); strcat( trbuf,tmp ); break;
1888
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
86 case '8': sprintf( tmp,"%01d:%02d:%02d",mplShMem->TimeSec / 3600,( mplShMem->TimeSec / 60 ) % 60,mplShMem->TimeSec % 60 ); strcat( trbuf,tmp ); break;
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
87 case 'v': sprintf( tmp,"%3.2f%%",mplShMem->Volume ); strcat( trbuf,tmp ); break;
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
88 case 'V': sprintf( tmp,"%3.1f",mplShMem->Volume ); strcat( trbuf,tmp ); break;
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
89 case 'b': sprintf( tmp,"%3.2f%%",mplShMem->Balance ); strcat( trbuf,tmp ); break;
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
90 case 'B': sprintf( tmp,"%3.1f",mplShMem->Balance ); strcat( trbuf,tmp ); break;
1823
a6c67352ccac fix some bug.
pontscho
parents: 1821
diff changeset
91 case 'd': sprintf( tmp,"%d",mplShMem->FrameDrop ); strcat( trbuf,tmp ); break;
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
92 case 's': if ( mplShMem->Playing == 0 ) strcat( trbuf,"s" ); break;
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
93 case 'l': if ( mplShMem->Playing == 1 ) strcat( trbuf,"p" ); break;
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
94 case 'e': if ( mplShMem->Playing == 2 ) strcat( trbuf,"e" ); break;
1888
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
95 case 'a':
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
96 switch ( mplShMem->AudioType )
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
97 {
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
98 case 0: strcat( trbuf,"n" ); break;
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
99 case 1: strcat( trbuf,"m" ); break;
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
100 case 2: strcat( trbuf,"t" ); break;
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
101 }
1f1e98fbf3a7 add new sumbols
pontscho
parents: 1860
diff changeset
102 break;
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
103 case '$': strcat( trbuf,"$" ); break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
104 default: continue;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
105 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
106 c=strlen( trbuf );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
107 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
108 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
109 return trbuf;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
110 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
111
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
112 void PutImage( txSample * bf,int x,int y,int max,int ofs )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
113 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
114 int i=0,ix,iy;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
115 unsigned long * buf = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
116 unsigned long * drw = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
117 unsigned long tmp;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
118
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
119 if ( ( !bf )||( bf->Image == NULL ) ) return;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
120
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
121 i=( bf->Width * ( bf->Height / max ) ) * ofs;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
122 buf=(unsigned long *)mplDrawBuffer;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
123 drw=(unsigned long *)bf->Image;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
124
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
125 for ( iy=y;iy < y+bf->Height / max;iy++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
126 for ( ix=x;ix < x+bf->Width;ix++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
127 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
128 tmp=drw[i++];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
129 if ( tmp != 0x00ff00ff )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
130 buf[ iy*appMPlayer.main.Bitmap.Width+ix ]=tmp;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
131 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
132 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
133
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
134 void mplMainDraw( wsParamDisplay )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
135 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
136 wItem * item;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
137 txSample * image = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
138 int i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
139
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
140 if ( appMPlayer.mainWindow.Visible == wsWindowNotVisible ||
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
141 !mainVisible ) return;
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
142 // !appMPlayer.mainWindow.Mapped ) return;
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
143
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
144 btnModify( evSetMoviePosition,mplShMem->Position );
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
145 btnModify( evSetVolume,mplShMem->Volume );
1751
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
146
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
147 switch ( mplShMem->Playing )
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
148 {
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
149 case 2:
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
150 case 0:
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
151 btnModify( evPlaySwitchToPause,btnReleased );
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
152 btnModify( evPauseSwitchToPlay,btnDisabled );
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
153 break;
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
154 case 1:
1777
fcba80a2e79f hm. optim
pontscho
parents: 1773
diff changeset
155 if ( mplShMem->Filename[0] != 0 )
1751
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
156 {
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
157 btnModify( evPlaySwitchToPause,btnDisabled );
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
158 btnModify( evPauseSwitchToPlay,btnReleased );
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
159 }
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
160 }
d0dbc020f50f fix play -> pause button
pontscho
parents: 1750
diff changeset
161
1744
688748ea8e68 enable filename drawing
pontscho
parents: 1729
diff changeset
162 // --- erosen ideiglenes.
688748ea8e68 enable filename drawing
pontscho
parents: 1729
diff changeset
163 strcpy( gtkShMem->fs.filename,mplShMem->Filename );
688748ea8e68 enable filename drawing
pontscho
parents: 1729
diff changeset
164 // ---
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
165
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
166 if ( mplMainRender )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
167 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
168 memcpy( mplDrawBuffer,appMPlayer.main.Bitmap.Image,appMPlayer.main.Bitmap.ImageSize );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
169 for( i=0;i < appMPlayer.NumberOfItems + 1;i++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
170 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
171 item=&appMPlayer.Items[i];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
172 switch( item->type )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
173 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
174 case itButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
175 PutImage( &item->Bitmap,item->x,item->y,3,item->pressed );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
176 break;
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
177 case itPotmeter:
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
178 PutImage( &item->Bitmap,item->x,item->y,item->phases,item->phases * ( item->value / 100.0f ) );
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
179 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
180 case itHPotmeter:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
181 PutImage( &item->Bitmap,item->x,item->y,item->phases,item->phases * ( item->value / 100.0f ) );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
182 PutImage( &item->Mask,item->x + (int)( ( item->width - item->psx ) * item->value / 100.0f ),item->y,3,item->pressed );
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
183 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
184 case itSLabel:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
185 image=fntRender( item->fontid,0,item->width,"%s",item->label );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
186 goto drawrenderedtext;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
187 case itDLabel:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
188 image=fntRender( item->fontid,mplTimer%item->width,item->width,"%s",Translate( item->label ) );
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
189 // image=fntRender( item->fontid,( mplRedrawTimer / 10 )%item->width,item->width,"%s",Translate( item->label ) );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
190 drawrenderedtext:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
191 PutImage( image,item->x,item->y,1,0 );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
192 if ( image )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
193 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
194 if ( image->Image ) free( image->Image );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
195 free( image );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
196 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
197 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
198 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
199 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
200 wsConvert( &appMPlayer.mainWindow,mplDrawBuffer,appMPlayer.main.Bitmap.ImageSize );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
201 mplMainRender=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
202 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
203 wsPutImage( &appMPlayer.mainWindow );
1707
216aae08226c misc fixes/cleanup, Skin path stuff fixed
arpi
parents: 1693
diff changeset
204 XFlush( wsDisplay );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
205 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
206
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
207 #define IZE(x) printf("@@@ " x " @@@\n");
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
208
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
209 extern void exit_player(char* how);
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
210
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
211 void mplMsgHandle( int msg,float param )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
212 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
213 int j;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
214
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
215 switch( msg )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
216 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
217 // --- user events
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
218 case evExit:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
219 // IZE("evExit");
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
220 wsDoExit(); // sets wsTrue=False;
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
221 exit_player( "Exit" );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
222 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
223 case evIconify:
1839
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
224 switch ( (int)param )
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
225 {
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
226 case 0: wsIconify( appMPlayer.mainWindow ); break;
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
227 case 1: wsIconify( appMPlayer.subWindow ); break;
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
228 }
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
229 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
230 case evFullScreen:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
231 IZE("evFullS");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
232 for ( j=0;j<appMPlayer.NumberOfItems + 1;j++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
233 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
234 if ( appMPlayer.Items[j].msg == evFullScreen )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
235 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
236 appMPlayer.Items[j].tmp=!appMPlayer.Items[j].tmp;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
237 appMPlayer.Items[j].pressed=appMPlayer.Items[j].tmp;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
238 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
239 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
240 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
241 mplFullScreen();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
242 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
243
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
244 case evPlaySwitchToPause:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
245 IZE("evPlay->Pause");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
246 if ( Filename )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
247 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
248 btnModify( evPlaySwitchToPause,btnDisabled );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
249 btnModify( evPauseSwitchToPlay,btnReleased );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
250 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
251 if ( mplShMem->Playing == 1 ) goto NoPause;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
252 case evPlay:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
253 IZE("evPlay");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
254 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
255 mplPlay();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
256 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
257
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
258 case evPauseSwitchToPlay:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
259 IZE("evPause->Play");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
260 btnModify( evPlaySwitchToPause,btnReleased );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
261 btnModify( evPauseSwitchToPlay,btnDisabled );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
262 case evPause:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
263 NoPause:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
264 IZE("evPause");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
265 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
266 mplPause();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
267 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
268
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
269 case evStop:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
270 IZE("evStop");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
271 btnModify( evPlaySwitchToPause,btnReleased );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
272 btnModify( evPauseSwitchToPlay,btnDisabled );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
273 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
274 mplStop();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
275 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
276
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
277 case evLoadPlay:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
278 IZE("evLoadPlay");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
279 mplMainAutoPlay=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
280 case evLoad:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
281 IZE("evLoad");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
282 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
283 gtkSendMessage( evLoad );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
284 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
285 case evPrev:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
286 IZE("evPrev");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
287 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
288 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
289 dbprintf( 1,"[mw.h] previous stream ...\n" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
290 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
291 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
292 case evNext:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
293 IZE("evNext");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
294 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
295 #ifdef DEBUG
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
296 dbprintf( 1,"[mw.h] next stream ...\n" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
297 #endif
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
298 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
299
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
300 case evPlayList:
1723
5e4214a7540e GUI stuff. now seeking works, and xmga renders to video window
arpi
parents: 1707
diff changeset
301 IZE("evPlayList");
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
302 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
303 if ( gtkVisiblePlayList )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
304 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
305 btnModify( evPlayList,btnReleased );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
306 gtkShMem->vs.window=evPlayList;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
307 gtkSendMessage( evHideWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
308 gtkVisiblePlayList=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
309 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
310 else
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
311 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
312 gtkSendMessage( evPlayList );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
313 btnModify( evPlayList,btnPressed );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
314 gtkVisiblePlayList=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
315 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
316 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
317
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
318 case evSkinBrowser: gtkSendMessage( evSkinBrowser ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
319 case evAbout: gtkSendMessage( evAbout ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
320 case evPreferences: gtkSendMessage( evPreferences ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
321
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
322 case evForward1min: mplRelSeek( 60 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
323 case evBackward1min: mplRelSeek( -60 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
324 case evForward10sec: mplRelSeek( 10 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
325 case evBackward10sec: mplRelSeek( -10 ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
326 case evSetMoviePosition: mplAbsSeek( param ); break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
327
1860
c65abbc91c5c fix mwm bug's. faszom (C), and remove mixer.*
pontscho
parents: 1848
diff changeset
328 case evIncVolume: vo_x11_putkey( wsGrayMul ); break;
c65abbc91c5c fix mwm bug's. faszom (C), and remove mixer.*
pontscho
parents: 1848
diff changeset
329 case evDecVolume: vo_x11_putkey( wsGrayDiv ); break;
1847
773ae4ba43f5 add voluechanged
pontscho
parents: 1845
diff changeset
330 case evMute: mplShMem->Mute=1; break;
773ae4ba43f5 add voluechanged
pontscho
parents: 1845
diff changeset
331 case evSetVolume:
773ae4ba43f5 add voluechanged
pontscho
parents: 1845
diff changeset
332 case evSetBalance: mplShMem->VolumeChanged=1; break;
773ae4ba43f5 add voluechanged
pontscho
parents: 1845
diff changeset
333
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
334
1765
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
335 case evNormalSize:
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
336 if ( mplShMem->Playing )
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
337 {
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
338 appMPlayer.subWindow.isFullScreen=True;
1769
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
339 appMPlayer.subWindow.OldX=( wsMaxX - moviewidth ) / 2;
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
340 appMPlayer.subWindow.OldY=( wsMaxY - movieheight ) / 2;
1765
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
341 appMPlayer.subWindow.OldWidth=moviewidth; appMPlayer.subWindow.OldHeight=movieheight;
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
342 wsFullScreen( &appMPlayer.subWindow );
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
343 mplResize( appMPlayer.subWindow.X,appMPlayer.subWindow.Y,moviewidth,movieheight );
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
344 }
29913c011d50 normal size
pontscho
parents: 1751
diff changeset
345 break;
1769
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
346 case evDoubleSize:
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
347 if ( mplShMem->Playing )
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
348 {
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
349 appMPlayer.subWindow.isFullScreen=True;
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
350 appMPlayer.subWindow.OldX=( wsMaxX - moviewidth * 2 ) / 2;
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
351 appMPlayer.subWindow.OldY=( wsMaxY - movieheight * 2 ) / 2;
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
352 appMPlayer.subWindow.OldWidth=moviewidth * 2; appMPlayer.subWindow.OldHeight=movieheight * 2;
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
353 wsFullScreen( &appMPlayer.subWindow );
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
354 mplResize( appMPlayer.subWindow.X,appMPlayer.subWindow.Y,moviewidth,movieheight );
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
355 }
bd8c6c1b91ce eh. double screen size fix.
pontscho
parents: 1765
diff changeset
356 break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
357
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
358 // --- timer events
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
359 case evHideMouseCursor:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
360 wsVisibleMouse( &appMPlayer.subWindow,wsHideMouseCursor );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
361 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
362 case evRedraw:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
363 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
364 wsPostRedisplay( &appMPlayer.mainWindow );
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
365 // if ( !mplShMem->Playing )
1798
ddeafb1dbc73 fix sub redraw
pontscho
parents: 1791
diff changeset
366 // wsPostRedisplay( &appMPlayer.subWindow );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
367 XFlush( wsDisplay );
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
368 mplRedrawTimer=mplRedrawTimerConst;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
369 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
370 case evGeneralTimer:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
371 if ( mplMainAutoPlay )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
372 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
373 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
374 mplMainAutoPlay=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
375 mplPlay();
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
376 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
377 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
378 // --- system events
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
379 case evNone:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
380 dbprintf( 1,"[mw] event none received.\n" );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
381 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
382 default:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
383 dbprintf( 1,"[mw] unknown event received ( %d,%.2f ).\n",msg,param );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
384 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
385 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
386 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
387
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
388 void mplMainMouseHandle( int Button,int X,int Y,int RX,int RY )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
389 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
390 static int itemtype = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
391 static int SelectedButton = -1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
392 wItem * item = NULL;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
393 float value = 0.0f;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
394 wsVisibleMouse( &appMPlayer.subWindow,wsShowMouseCursor );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
395 switch ( Button )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
396 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
397 case wsPRMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
398 mplShowMenu( RX,RY );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
399 msButton=wsPRMouseButton;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
400 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
401 case wsRRMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
402 mplHideMenu( RX,RY );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
403 msButton=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
404 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
405 case wsPLMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
406 sx=X; sy=Y;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
407 boxMoved=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
408 msButton=wsPLMouseButton;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
409 for ( i=0;i < appMPlayer.NumberOfItems + 1;i++ )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
410 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
411 item=&appMPlayer.Items[i];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
412 if ( item->pressed != btnDisabled )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
413 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
414 switch( item->type )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
415 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
416 case itButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
417 if ( wgIsRect( X,Y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
418 item->x,item->y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
419 item->x+item->width,item->y+item->height ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
420 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
421 item->pressed=btnPressed;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
422 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
423 SelectedButton=i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
424 msButton=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
425 boxMoved=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
426 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
427 if ( ( SelectedButton > -1 ) &&
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
428 ( ( ( appMPlayer.Items[SelectedButton].msg == evPlaySwitchToPause && item->msg == evPauseSwitchToPlay ) ) ||
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
429 ( ( appMPlayer.Items[SelectedButton].msg == evPauseSwitchToPlay && item->msg == evPlaySwitchToPause ) ) ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
430 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
431 appMPlayer.Items[SelectedButton].pressed=btnDisabled;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
432 SelectedButton=i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
433 appMPlayer.Items[SelectedButton].pressed=btnPressed;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
434 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
435 itemtype=itButton;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
436 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
437 case itPotmeter:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
438 if ( wgIsRect( X,Y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
439 item->x,item->y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
440 item->x+item->width,item->y+item->height ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
441 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
442 item->pressed=btnPressed;
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
443 item->used=1;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
444 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
445 SelectedButton=i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
446 boxMoved=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
447 msButton=itPotmeter;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
448 itemtype=itPotmeter;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
449 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
450 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
451 case itHPotmeter:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
452 if ( wgIsRect( X,Y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
453 item->x,item->y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
454 item->x+item->width,item->y+item->height ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
455 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
456 item->pressed=btnPressed;
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
457 item->used=1;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
458 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
459 SelectedButton=i;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
460 boxMoved=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
461 msButton=itHPotmeter;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
462 itemtype=itHPotmeter;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
463 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
464 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
465 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
466 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
467 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
468 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
469 case wsMoveMouse:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
470 item=&appMPlayer.Items[SelectedButton];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
471 switch ( msButton )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
472 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
473 case wsPLMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
474 wsMoveWindow( &appMPlayer.mainWindow,RX - abs( sx ),RY - abs( sy ) );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
475 mplMainRender=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
476 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
477 case wsPRMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
478 mplMenuMouseHandle( X,Y,RX,RY );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
479 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
480 case itPotmeter:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
481 item->value=(float)( X - item->x ) / item->width * 100.0f;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
482 goto potihandled;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
483 case itHPotmeter:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
484 item->value=(float)( X - item->x ) / item->width * 100.0f;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
485 potihandled:
1750
5041d1bf251e fix poti
pontscho
parents: 1744
diff changeset
486 if ( item->value > 100.0f ) item->value=100.0f;
5041d1bf251e fix poti
pontscho
parents: 1744
diff changeset
487 if ( item->value < 0.0f ) item->value=0.0f;
1848
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
488 if ( ( item->msg == evSetVolume )||( item->msg == evSetBalance ) )
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
489 {
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
490 mplShMem->VolumeChanged=1;
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
491 mplShMem->Volume=item->value;
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
492 }
1773
pontscho
parents: 1769
diff changeset
493 mplMsgHandle( item->msg,item->value );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
494 mplMainRender=1; wsPostRedisplay( &appMPlayer.mainWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
495 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
496 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
497 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
498 case wsRLMouseButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
499 msButton=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
500 boxMoved=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
501 item=&appMPlayer.Items[SelectedButton];
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
502 item->pressed=btnReleased;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
503 switch( itemtype )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
504 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
505 case itButton:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
506 if ( wgIsRect( X,Y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
507 item->x,item->y,
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
508 item->x+item->width,item->y+item->height ) ) value=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
509 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
510 case itPotmeter:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
511 case itHPotmeter:
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
512 item->used=0;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
513 btnModify( item->msg,(float)( X - item->x ) / item->width * 100.0f );
1848
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
514 if ( ( item->msg == evSetVolume )||( item->msg == evSetBalance ) )
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
515 {
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
516 mplShMem->VolumeChanged=1;
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
517 mplShMem->Volume=item->value;
8ce1c088d05d fix osd volume bar handling in gui
pontscho
parents: 1847
diff changeset
518 }
1729
d6c99f70449e fix hprogressbar
pontscho
parents: 1723
diff changeset
519 value=item->value;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
520 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
521 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
522 if ( SelectedButton != -1 ) mplMsgHandle( item->msg,value );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
523 SelectedButton=-1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
524 mplMainRender=1;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
525 itemtype=0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
526 break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
527 case wsPMMouseButton: break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
528 case wsRMMouseButton: break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
529 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
530 if ( Button != wsMoveMouse ) wsPostRedisplay( &appMPlayer.mainWindow );
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
531 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
532
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
533 int keyPressed = 0;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
534
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
535 void mplMainKeyHandle( int State,int Type,int Key )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
536 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
537 int msg = evNone;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
538 switch ( Key )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
539 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
540 case '.':
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
541 case '>': msg=evNext; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
542 case ',':
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
543 case '<': msg=evPrev; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
544
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
545 case wsEscape: msg=evExit; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
546
1845
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
547 // case wsUp: msg=evForward1min; break;
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
548 // case wsDown: msg=evBackward1min; break;
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
549 // case wsRight: msg=evForward10sec; break;
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
550 // case wsLeft: msg=evBackward10sec; break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
551
1845
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
552 // case wsGrayMul: msg=evIncVolume; break;
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
553 // case wsGrayDiv: msg=evDecVolume; break;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
554
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
555 case wsEnter: msg=evPlay; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
556 case wsSpace: msg=evPause; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
557 case wsa:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
558 case wsA: msg=evAbout; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
559 case wsb:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
560 case wsB: msg=evSkinBrowser; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
561 case wse:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
562 case wsE: msg=evEqualeaser; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
563 case wsf:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
564 case wsF: msg=evFullScreen; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
565 case wsl:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
566 case wsL: msg=evLoad; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
567 case wsm:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
568 case wsM: msg=evMute; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
569 case wss:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
570 case wsS: msg=evStop; break;
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
571 case wsp:
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
572 case wsP: msg=evPlayList; break;
1839
ebab5d4c261d iconize support
pontscho
parents: 1823
diff changeset
573 default: vo_x11_putkey( Key ); return;
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
574 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
575 if ( ( msg != evNone )&&( Type == wsKeyPressed ) )
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
576 {
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
577 mplMsgHandle( msg,0 );
1845
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
578 // mplMainRender=1;
e03117bddf84 key hand fix
pontscho
parents: 1839
diff changeset
579 // wsPostRedisplay( &appMPlayer.mainWindow );
1693
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
580 }
d237c5d4b216 GUI version n-1
arpi
parents:
diff changeset
581 }