Changeset 133
- Timestamp:
- Nov 29, 2023, 5:59:34 PM (21 months ago)
- Location:
- trunk
- Files:
-
- 2 deleted
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/classes/mm-progs/MMPlayer/makefile
r126 r133 25 25 -rm *.dll 26 26 -rm *.obj 27 -rm *. res27 -rm *.RES 28 28 -rm *.ini 29 -rm *.def 29 30 30 31 cleaner: -
trunk/classes/mm-progs/audioconverter/makefile
r126 r133 23 23 -rm *.dll 24 24 -rm *.obj 25 -rm *. res25 -rm *.RES 26 26 -rm *.ini 27 -rm *.def 27 28 28 29 cleaner: -
trunk/classes/mm-progs/imageconverter/makefile
r126 r133 21 21 -rm *.dll 22 22 -rm *.obj 23 -rm *. res23 -rm *.RES 24 24 -rm *.ini 25 -rm *.def 25 26 26 27 cleaner: -
trunk/classes/mm-progs/master_volume/makefile
r126 r133 23 23 -rm *.exe 24 24 -rm *.obj 25 -rm *. res25 -rm *.RES 26 26 -rm *.ini 27 -rm *.def 27 28 28 29 cleaner: -
trunk/classes/mm-progs/mmfind/makefile
r126 r133 12 12 13 13 14 OBJECTS = image.obj 14 OBJECTS = image.obj 15 15 16 16 … … 27 27 -rm *.dll 28 28 -rm *.obj 29 -rm *. res29 -rm *.RES 30 30 -rm *.ini 31 -rm *.def 31 32 32 33 cleaner: -
trunk/classes/mm-progs/videoplayer/makefile
r126 r133 39 39 -rm *.dll 40 40 -rm *.obj 41 -rm *. res41 -rm *.RES 42 42 -rm *.ini 43 -rm *.def 43 44 44 45 cleaner: -
trunk/classes/mm-progs/volume/makefile
r126 r133 26 26 -rm *.dll 27 27 -rm *.obj 28 -rm *. res28 -rm *.RES 29 29 -rm *.ini 30 30 -rm $(LIBDIR)/*.obj 31 -rm *.def 31 32 32 33 cleaner: -
trunk/classes/res/de/makefile
r4 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 11 DEFS = 12 12 13 13 OBJDIR = ../dll … … 31 31 32 32 #(OBJDIR)/mmres$(LANGUAGE).res: mmres$(LANGUAGE).rc $(OBJECTS) 33 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 33 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 34 34 35 35 … … 43 43 -rm *.*~ 44 44 -rm *.flc 45 -rm *. res45 -rm *.RES 46 46 -rm *.obj 47 47 -
trunk/classes/res/en/makefile
r53 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 12 PROGS = 11 DEFS = 12 PROGS = 13 13 14 14 OBJDIR = ../dll … … 31 31 32 32 #mmres$(LANGUAGE).res: mmres$(LANGUAGE).rc $(OBJECTS) 33 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 33 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 34 34 35 35 … … 40 40 -rm *.*~ 41 41 -rm *.flc 42 -rm *. res42 -rm *.RES 43 43 -rm *.obj 44 44 -
trunk/classes/res/es/makefile
r28 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 12 PROGS = 11 DEFS = 12 PROGS = 13 13 14 14 OBJDIR = ../dll … … 30 30 31 31 #mmres$(LANGUAGE).res: mmres$(LANGUAGE).rc $(OBJECTS) 32 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 32 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 33 33 34 34 … … 39 39 -rm *.*~ 40 40 -rm *.flc 41 -rm *. res41 -rm *.RES 42 42 -rm *.obj 43 43 -
trunk/classes/res/fr/makefile
r26 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 12 PROGS = 11 DEFS = 12 PROGS = 13 13 14 14 OBJDIR = ../dll … … 30 30 31 31 #mmres$(LANGUAGE).res: mmres$(LANGUAGE).rc $(OBJECTS) 32 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 32 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 33 33 34 34 … … 39 39 -rm *.*~ 40 40 -rm *.flc 41 -rm *. res41 -rm *.RES 42 42 -rm *.obj 43 43 -
trunk/classes/res/it/makefile
r2 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 12 PROGS = 11 DEFS = 12 PROGS = 13 13 14 14 OBJDIR = ../dll … … 21 21 cwaudio$(LANGUAGE).rc cwaudio$(LANGUAGE).dlg \ 22 22 cwimage$(LANGUAGE).rc cwvideo$(LANGUAGE).rc \ 23 mmfind$(LANGUAGE).dlg mmfind$(LANGUAGE).rc 23 mmfind$(LANGUAGE).dlg mmfind$(LANGUAGE).rc 24 24 25 25 all: $(OBJDIR)/mmres$(LANGUAGE).dll … … 35 35 -rm *.*~ 36 36 -rm *.flc 37 -rm *. res37 -rm *.RES 38 38 -rm *.obj 39 39 -
trunk/classes/res/nl/makefile
r2 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 12 PROGS = 11 DEFS = 12 PROGS = 13 13 14 14 OBJDIR = ../dll … … 20 20 imageconv$(LANGUAGE).dlg imageconv$(LANGUAGE).rc \ 21 21 cwaudio_nl.rc cwaudio_nl.dlg cwimage_nl.rc cwvideo_nl.rc \ 22 mmfind_nl.dlg mmfind_nl.rc 22 mmfind_nl.dlg mmfind_nl.rc 23 23 24 24 all: $(OBJDIR)/mmres$(LANGUAGE).dll … … 34 34 -rm *.*~ 35 35 -rm *.flc 36 -rm *. res36 -rm *.RES 37 37 -rm *.obj 38 38 -
trunk/classes/res/tw/makefile
r4 r133 9 9 CPPFLAGS = /Ge- /Gm+ /G4 /Gl /O+ /Oc+ /Ol- /Q+ $(VACDEBUG) 10 10 INC = ../../inc 11 DEFS = 11 DEFS = 12 12 13 13 OBJDIR = ../dll … … 32 32 33 33 #(OBJDIR)/mmres$(LANGUAGE).res: mmres$(LANGUAGE).rc $(OBJECTS) 34 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 34 # rc -D $(ECS) -i $(INC) -r mmres$(LANGUAGE).rc 35 35 36 36 … … 44 44 -rm *.*~ 45 45 -rm *.flc 46 -rm *. res46 -rm *.RES 47 47 -rm *.obj 48 48 -
trunk/common_functions/makefile
r104 r133 3 3 #include ../make.inc 4 4 5 CC = gcc5 CC = icc 6 6 LIB_DIR = D:/usr/lib 7 #CPPFLAGS = -Ge- /Gm+ -G4 -Gl /O+ -Oc+ -Ol8 CPPFLAGS = -O -Zomf -Zcrtdll -s7 CPPFLAGS = -Ge- /Gm+ -G4 -Gl /O+ -Oc+ -Ol 8 #CPPFLAGS = -O -Zomf -Zcrtdll -s 9 9 INC = ../include 10 10 DEFS = -
trunk/makefile
r4 r133 274 274 bld: 275 275 @build.cmd 276 -
trunk/mediafolder/ProgFolder/progFOLDER.DEF
r44 r133 18 18 ; */ 19 19 20 LIBRARY PROGFLDR INIT GLOBAL20 LIBRARY PROGFLDR INITINSTANCE TERMINSTANCE 21 21 DESCRIPTION '$@#(c) Chris Wohlgemuth :V0.17 (25.06.2004) (PROGFLDR.DLL)#@Support folder class' 22 PROTMODE 23 CODE PRELOAD DISCARDABLE 24 DATA SINGLE SHARED PRELOAD DISCARDABLE 22 DATA MULTIPLE NONSHARED 25 23 EXPORTS 26 24 CWProgFolderClassData -
trunk/mediafolder/c/cddb/res/makefile
r127 r133 84 84 -rm *.obj 85 85 -rm *.dll 86 -rm *. res86 -rm *.RES 87 87 88 88 cleaner: -
trunk/mediafolder/c/helper/launchpad.cpp
r57 r133 18 18 */ 19 19 20 #define INCL_WIN 21 #define INCL_GPILCIDS 22 #define INCL_GPIPRIMITIVES 23 #define INCL_GPIBITMAPS 24 20 #define INC_WIN 21 #define INCL_PM 22 #define INCL_GPI 25 23 26 24 #include "mediafolder.hh" 27 25 #include "launchpad.hh" 26 #include "cwcdtrack.hh" 28 27 29 28 #include <os2.h> … … 32 31 33 32 #include "sys_funcs.h" 33 SOMClass* somhlpGetSomClass(char* chrClassName); 34 34 35 35 extern HWND hwndShadow;// The handle of the help window … … 57 57 MRESULT EXPENTRY shadowProc(HWND hwnd, ULONG msg,MPARAM mp1,MPARAM mp2 ); 58 58 59 60 BOOL APIENTRY myDrgDeleteDraginfoStrHandles(PDRAGINFO pDragInfo) 61 { 62 /* a replacement for DrgDeleteDraginfoStrHandles */ 63 /* because that routine will fail if any one hstr is invalid */ 64 65 ULONG i,ulItems; 66 PDRAGITEM pDragItem; 67 68 ulItems = DrgQueryDragitemCount(pDragInfo); 69 for (i=0;i<ulItems;i++) 70 { 71 pDragItem = DrgQueryDragitemPtr(pDragInfo,i); 72 DrgDeleteStrHandle(pDragItem->hstrType); 73 DrgDeleteStrHandle(pDragItem->hstrRMF); 74 DrgDeleteStrHandle(pDragItem->hstrContainerName); 75 DrgDeleteStrHandle(pDragItem->hstrSourceName); 76 DrgDeleteStrHandle(pDragItem->hstrTargetName); 77 } 78 return TRUE; 79 } 80 81 59 82 /******************************************************************************/ 60 83 /* New button procedure which handles the context menu stuff for the objects */ … … 75 98 switch (msg) 76 99 { 77 #if 078 case WM_BEGINDRAG:79 if(SHORT1FROMMP(mp2)||1) {80 // DosBeep(5000,130);81 lpo=(LPObject*)WinQueryWindowULong(hwnd,QWL_USER);82 if(lpo) {83 wpObject=lpo->wpObject;84 if(somIsObj(wpObject)) {85 #if 086 DragItem.hwndItem=hwnd;87 DragItem.ulItemID=(ULONG)wpObject;88 DragItem.hstrType=DrgAddStrHandle("DRT_UNKNOWN");89 DragItem.hstrRMF=DrgAddStrHandle("DRM_OBJECT");90 DragItem.hstrContainerName=DrgAddStrHandle("E:\\CD-Brenner\\ADC_050\\!AUDIOCD_TOOLBAR!");91 DragItem.hstrSourceName=DrgAddStrHandle("E:\\CD-Brenner\\ADC_050\\");92 #endif93 wpObject->wpFormatDragItem(&DragItem);94 // DragItem.fsSupportedOps=DO_LINKABLE;95 DragInfo=DrgAllocDraginfo(1);96 97 DrgSetDragitem(DragInfo, &DragItem,(ULONG)sizeof(DragItem),0);98 memset(&DragImage, 0, sizeof(DragImage));99 DragImage.cb=sizeof(DragImage);100 DragImage.fl=DRG_ICON;101 DragImage.hImage=wpObject->wpQueryIcon();102 103 104 if(DrgDrag(hwnd, DragInfo, &DragImage, 1, VK_ENDDRAG, NULL)) {105 lpo->lpParent->lpRefreshLaunchPad();106 }107 108 /* Free DragInfo here!!!!!!!!!!! */109 //DrgDeleteDraginfoStrHandles(pDragInfo);110 // ????? DrgFreeDraginfo(DragInfo);111 return (MRESULT)TRUE;112 }/* somIsObj() */113 }/* lpo */114 }115 break;116 117 case DM_ENDCONVERSATION:118 case DM_DRAGFILECOMPLETE:119 case DM_DROPNOTIFY:120 case DM_FILERENDERED:121 case DM_RENDERCOMPLETE:122 DosBeep(500,500);123 break;124 return (MRESULT)FALSE;125 case WM_ENDDRAG:126 DosBeep(500,500);127 return (MRESULT)TRUE;128 break;129 #endif130 100 case WM_PAINT: 131 101 lpo=(LPObject*)WinQueryWindowULong(hwnd,QWL_USER); … … 166 136 { 167 137 BOOL bReturn=FALSE; 168 138 169 139 TRY_LOUD(LP_DRAGOVER) { 170 lpo=(LPObject*)WinQueryWindowULong(hwnd,QWL_USER);171 if(lpo) {172 wpObject=lpo->wpObject;173 if(somIsObj(wpObject)) {174 char chrClassName[10];175 LONG lLength;176 177 pDragInfo=(PDRAGINFO) mp1;178 hwndMenu=pDragInfo->hwndSource;179 lLength=sizeof(chrClassName);180 WinQueryClassName(hwndMenu, lLength, chrClassName);181 if(strcmp(chrClassName,"#37"))182 hwndMenu=NULL;/* Source isn't a container */183 if(!bDrawn) {184 HPS hps;185 RECTL rectl;186 SWP swp;187 188 /* Draw the rect */189 hps=DrgGetPS(hwnd);190 WinQueryWindowPos(hwnd,&swp);191 rectl.xLeft=1;192 rectl.yBottom=1;193 rectl.xRight=swp.cx-1;194 rectl.yTop=swp.cy-1;195 //WinDrawBorder(hps,&rectl, 3, 3, 0, 0, DB_STANDARD|DB_PATINVERT);196 DrgReleasePS(hps);197 //bDrawn=TRUE;198 }199 bReturn=TRUE;200 }201 }140 lpo=(LPObject*)WinQueryWindowULong(hwnd,QWL_USER); 141 if(lpo) { 142 wpObject=lpo->wpObject; 143 if(somIsObj(wpObject)) { 144 char chrClassName[10]; 145 LONG lLength; 146 147 pDragInfo=(PDRAGINFO) mp1; 148 hwndMenu=pDragInfo->hwndSource; 149 lLength=sizeof(chrClassName); 150 WinQueryClassName(hwndMenu, lLength, chrClassName); 151 if(strcmp(chrClassName,"#37")) 152 hwndMenu=NULL;/* Source isn't a container */ 153 if(!bDrawn) { 154 HPS hps; 155 RECTL rectl; 156 SWP swp; 157 158 /* Draw the rect */ 159 hps=DrgGetPS(hwnd); 160 WinQueryWindowPos(hwnd,&swp); 161 rectl.xLeft=1; 162 rectl.yBottom=1; 163 rectl.xRight=swp.cx-1; 164 rectl.yTop=swp.cy-1; 165 //WinDrawBorder(hps,&rectl, 3, 3, 0, 0, DB_STANDARD|DB_PATINVERT); 166 DrgReleasePS(hps); 167 //bDrawn=TRUE; 168 } 169 bReturn=TRUE; 170 } 171 } 202 172 } 203 173 CATCH(LP_DRAGOVER) 204 205 206 207 208 174 { 175 } END_CATCH; 176 if(bReturn) 177 return wpObject->wpDragOver(hwndMenu,(PDRAGINFO) mp1); 178 break; 209 179 } 210 180 case DM_DRAGLEAVE: … … 213 183 SWP swp; 214 184 HPS hps; 215 185 216 186 /* Remove target emphasis here */ 217 187 hps=DrgGetPS(hwnd); … … 221 191 rectl.xRight=swp.cx-1; 222 192 rectl.yTop=swp.cy-1; 223 // WinDrawBorder(hps,&rectl,3, 3, 0, 0, DB_STANDARD|DB_PATINVERT); 193 // WinDrawBorder(hps,&rectl,3, 3, 0, 0, DB_STANDARD|DB_PATINVERT); 224 194 bDrawn=FALSE; 225 195 DrgReleasePS(hps); … … 238 208 if(lpo) { 239 209 wpObject=lpo->wpObject; 240 if(somIsObj(wpObject)) { 210 if(somIsObj(wpObject)) { 241 211 pDragInfo=(PDRAGINFO) mp1; 242 212 pDragItem=DrgQueryDragitemPtr(pDragInfo, 0); … … 264 234 if(somIsObj(wpObject)) { 265 235 if((SHORT)0x6d==SHORT1FROMMP(mp1)) { 266 /* Delete menu item */ 236 /* Delete menu item */ 267 237 if(wpObject->wpDelete(CONFIRM_DELETE|CONFIRM_DELETEFOLDER ) == OK_DELETE) 268 238 lpo->lpParent->lpRemoveButton(lpo); … … 272 242 }/* end of if(somIsObj(wpObject)) */ 273 243 } 274 } 244 } 275 245 CATCH(LP_COMMAND) 276 246 { … … 288 258 static MRESULT handleDragOver(HWND hwnd, MPARAM mp1, MPARAM mp2) 289 259 { 290 MRESULT mResult;291 260 ULONG ulNumberOfObjects; 292 261 PDRAGINFO pDragInfo; … … 294 263 RECTL rectl; 295 264 SWP swp; 296 297 mResult = MRFROM2SHORT( DOR_NODROPOP, DO_LINK);298 265 USHORT usIndicator=DOR_NEVERDROP,usOp=0; 266 WPObject *wpObject = NULL; 267 299 268 /* Get access to the dragInfo */ 300 269 pDragInfo=(PDRAGINFO)mp1; 301 DrgAccessDraginfo(pDragInfo); 302 /* Get number of items */ 303 ulNumberOfObjects = DrgQueryDragitemCount( pDragInfo); 304 305 if(ulNumberOfObjects>1) { 306 /* Free the draginfo */ 307 DrgFreeDraginfo(pDragInfo); 308 return MRFROM2SHORT( DOR_NODROPOP, DO_LINK); 270 if (DrgAccessDraginfo(pDragInfo)) { 271 PDRAGITEM pDragItem = NULL; 272 SOMClass *cdTrackClass = NULL; 273 274 /* Get number of items */ 275 ulNumberOfObjects = DrgQueryDragitemCount( pDragInfo); 276 277 if(ulNumberOfObjects>1) { 278 usIndicator = DOR_NODROP; 279 usOp = 0; 280 goto quit; 281 } 282 283 /* check if a WPS object was dropped, we do not accept anything else */ 284 pDragItem = DrgQueryDragitemPtr(pDragInfo,0); 285 if (!DrgVerifyRMF(pDragItem,"DRM_OBJECT","DRF_OBJECT")) { 286 usIndicator = DOR_NEVERDROP; 287 usOp = 0; 288 goto quit; 289 } /* endif */ 290 291 /* 292 refuse drop if WPS object pointer is not valid or if the object is 293 a descendant of MMCDTrack class (see Netlabs ticket #19) 294 */ 295 wpObject = (WPObject *)OBJECT_FROM_PREC(pDragItem->ulItemID); 296 cdTrackClass = somhlpGetSomClass("MMCDTrack"); 297 if (!somIsObj(wpObject) || wpObject->somIsA(cdTrackClass)) { 298 usIndicator = DOR_NEVERDROP; 299 usOp = 0; 300 goto quit; 301 } /* endif */ 302 303 switch(pDragInfo->usOperation) 304 { 305 case DO_DEFAULT: 306 case DO_LINK: 307 if(!bDrawn) { 308 POINTL ptl; 309 launchPad * lp; 310 311 ptl.x=SHORT1FROMMP(mp2); 312 ptl.y=SHORT2FROMMP(mp2); 313 /* Pos in window coords */ 314 WinMapWindowPoints(HWND_DESKTOP, hwnd, &ptl, 1); 315 316 hps=DrgGetPS(hwnd); 317 WinQueryWindowPos(hwnd,&swp); 318 319 rectl.xLeft=swp.cx;//-swp.cy; 320 321 lp=(launchPad*)WinQueryWindowULong(hwnd,QWL_USER); 322 if(lp) { 323 if(lp->lpQueryNumObjects()==0) { 324 rectl.xLeft=0; 325 } 326 } 327 328 rectl.yTop=swp.cy-1; 329 rectl.yBottom=1; 330 if(ptl.x<rectl.xLeft) { 331 int numB; 332 333 numB=(ptl.x-xButtonOffset)/(swp.cy+xButtonDelta); 334 rectl.xLeft=((ptl.x-numB*swp.cy) > swp.cy/2 ? numB+1: numB); 335 rectl.xLeft*=(swp.cy+xButtonDelta); 336 rectl.xLeft-=(xButtonDelta)-xButtonOffset+xButtonDelta; 337 rectl.xRight=rectl.xLeft+(xButtonDelta*2); 338 } 339 else { 340 rectl.xRight=swp.cx-1; 341 } 342 rclDrawn=rectl; 343 WinDrawBorder(hps,&rectl, 2, 2, 0, 0, DB_STANDARD|DB_PATINVERT); 344 bDrawn=TRUE; 345 346 DrgReleasePS(hps); 347 } 348 usIndicator = DOR_DROP; 349 usOp = DO_LINK; 350 break; 351 default: 352 usIndicator = DOR_NODROPOP; 353 usOp = DO_LINK; 354 break; 355 } 356 quit: 357 /* Free the draginfo */ 358 DrgFreeDraginfo(pDragInfo); 309 359 } 310 311 switch(pDragInfo->usOperation) 312 { 313 case DO_DEFAULT: 314 case DO_LINK: 315 if(!bDrawn) { 316 POINTL ptl; 317 launchPad * lp; 318 319 ptl.x=SHORT1FROMMP(mp2); 320 ptl.y=SHORT2FROMMP(mp2); 321 /* Pos in window coords */ 322 WinMapWindowPoints(HWND_DESKTOP, hwnd, &ptl, 1); 323 324 hps=DrgGetPS(hwnd); 325 WinQueryWindowPos(hwnd,&swp); 326 327 rectl.xLeft=swp.cx;//-swp.cy; 328 329 lp=(launchPad*)WinQueryWindowULong(hwnd,QWL_USER); 330 if(lp) { 331 if(lp->lpQueryNumObjects()==0) { 332 rectl.xLeft=0; 333 } 334 } 335 336 rectl.yTop=swp.cy-1; 337 rectl.yBottom=1; 338 if(ptl.x<rectl.xLeft) { 339 int numB; 340 341 numB=(ptl.x-xButtonOffset)/(swp.cy+xButtonDelta); 342 rectl.xLeft=((ptl.x-numB*swp.cy) > swp.cy/2 ? numB+1: numB); 343 rectl.xLeft*=(swp.cy+xButtonDelta); 344 rectl.xLeft-=(xButtonDelta)-xButtonOffset+xButtonDelta; 345 rectl.xRight=rectl.xLeft+(xButtonDelta*2); 346 } 347 else { 348 rectl.xRight=swp.cx-1; 349 } 350 rclDrawn=rectl; 351 WinDrawBorder(hps,&rectl, 2, 2, 0, 0, DB_STANDARD|DB_PATINVERT); 352 bDrawn=TRUE; 353 354 DrgReleasePS(hps); 355 } 356 mResult = MRFROM2SHORT( DOR_DROP, DO_LINK); 357 break; 358 default: 359 break; 360 } 361 362 /* Free the draginfo */ 363 DrgFreeDraginfo(pDragInfo); 364 365 return mResult; 360 return MRFROM2SHORT(usIndicator,usOp); 366 361 } 367 362 … … 375 370 /* Remove target emphasis here */ 376 371 hps=DrgGetPS(hwnd); 377 WinDrawBorder(hps,&rclDrawn, 2, 2, 0, 0, DB_STANDARD|DB_PATINVERT); 372 WinDrawBorder(hps,&rclDrawn, 2, 2, 0, 0, DB_STANDARD|DB_PATINVERT); 378 373 DrgReleasePS(hps); 379 bDrawn=FALSE; 374 bDrawn=FALSE; 380 375 return (MRESULT) FALSE; 381 376 } 382 377 383 378 384 static MRESULT EXPENTRY launchPadWindowProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 379 static MRESULT EXPENTRY launchPadWindowProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 385 380 { 386 381 WPFolder* thisPtr; 387 382 launchPad * lp; 388 383 LPObject *lpo; 389 static USHORT id=0;//Initialisation new in V1.00a 384 static USHORT id=0;//Initialisation new in V1.00a 390 385 391 386 switch(msg) 392 387 { 393 #if 0394 case DM_ENDCONVERSATION:395 case DM_DRAGFILECOMPLETE:396 case DM_DROPNOTIFY:397 case DM_FILERENDERED:398 case DM_RENDERCOMPLETE:399 DosBeep(500,500);400 break;401 return (MRESULT)FALSE;402 case WM_ENDDRAG:403 DosBeep(500,500);404 break;405 return (MRESULT)TRUE;406 #endif407 388 case WM_PAINT: 408 389 { … … 426 407 case DM_DROP: 427 408 { 428 ULONG ulCount; 429 ULONG ulNumberOfObjects; 430 PDRAGITEM pDragItem; 431 SOMClass *folderClass; 432 WPObject * wpObject; 433 PDRAGINFO pDragInfo; 434 435 TRY_LOUD(LP_FRAMEDROP) { 409 TRY_LOUD(LP_FRAMEDROP) { 436 410 /* A new object dropped on the launchpad */ 437 pDragInfo=(PDRAGINFO)mp1;411 PDRAGINFO pDragInfo=(PDRAGINFO)mp1; 438 412 if(DrgAccessDraginfo(pDragInfo)) { 439 /* Get number of items */440 ulNumberOfObjects = DrgQueryDragitemCount( pDragInfo);441 if(ulNumberOfObjects>1){442 /* Free the draginfo */443 DrgDeleteDraginfoStrHandles(pDragInfo);444 DrgFreeDraginfo(pDragInfo);445 }446 else {447 ulCount=0;448 449 pDragItem=DrgQueryDragitemPtr( pDragInfo, ulCount);450 wpObject=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, ulCount)->ulItemID);451 413 lp=(launchPad*)WinQueryWindowULong(hwnd,QWL_USER); 452 414 if(lp) { 453 if(somIsObj(wpObject)) {454 415 PDRAGITEM pDragItem=DrgQueryDragitemPtr( pDragInfo, 0); 416 WPObject *wpObject=(WPObject*)OBJECT_FROM_PREC(pDragItem->ulItemID); 455 417 POINTL ptl; 456 418 int numB; 457 419 SWP swp; 458 420 459 421 WinQueryWindowPos(hwnd,&swp); 460 422 ptl.x=pDragInfo->xDrop; … … 467 429 /* Do a link */ 468 430 lp->lpAddButton(wpObject, numB); 469 handleDragLeave(hwnd, mp1, mp2);470 }471 431 } 472 DrgDeleteDraginfoStrHandles(pDragInfo);432 myDrgDeleteDraginfoStrHandles(pDragInfo); 473 433 DrgFreeDraginfo(pDragInfo); 474 }475 434 } 476 435 handleDragLeave(hwnd, mp1, mp2); … … 479 438 { 480 439 } END_CATCH; 481 482 break; 440 return MRFROMLONG(0); 483 441 } 484 442 case DM_DRAGLEAVE: … … 496 454 return (MRESULT)FALSE; 497 455 /***********************************************/ 498 /* Stuff for fly over help */ 456 /* Stuff for fly over help */ 499 457 case WM_MOUSEMOVE: 500 458 launchPad * lp; … … 506 464 } 507 465 } 508 509 #if 0 510 tempID=WinQueryWindowUShort(hwnd,QWS_ID);/* get the id of the window under the pointer */ 511 if(id!=tempID) { // New Button? 512 WinStartTimer(WinQueryAnchorBlock(hwnd),hwnd,tempID,(ULONG)iTBFlyOverDelay); // New timer for delay 513 id=tempID; // Save ID 514 } 515 else { 516 if(!hwndBubbleWindow) 517 WinStartTimer(WinQueryAnchorBlock(hwnd),hwnd,tempID,(ULONG)iTBFlyOverDelay); // New timer for delay 518 } 519 #endif 466 520 467 if(!hwndBubbleWindow) 521 468 WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, 2,(ULONG)iTBFlyOverDelay); // New timer for delay … … 541 488 HPS hps; 542 489 RECTL rcl; 543 490 544 491 /* we have to build a new information window */ 545 if(hwndBubbleWindow){// if(){...} new in V1.00a 492 if(hwndBubbleWindow){// if(){...} new in V1.00a 546 493 WinDestroyWindow(hwndBubbleWindow);/* close the bubblewindow */ 547 494 hwndBubbleWindow=NULL; … … 551 498 WinMapWindowPoints(HWND_DESKTOP,hwnd,&ptl,1); 552 499 WinQueryWindowRect(hwnd,&rclWork); 553 if(!hwndBubbleWindow 500 if(!hwndBubbleWindow 554 501 && WinPtInRect(WinQueryAnchorBlock(hwnd),&rclWork,&ptl) 555 502 && bTBFlyOverEnabled) { 556 503 557 504 static HWND hwndBubbleClient; 558 505 ULONG style=FCF_BORDER|FCF_NOBYTEALIGN; 559 506 char winText[255] = {0}; 560 507 561 508 /* Get window text for size calculating */ 562 509 lp=(launchPad*)WinQueryWindowULong(hwnd,QWL_USER); … … 567 514 568 515 ulWinTextLen=(LONG)strlen(winText); // Query text length 569 516 570 517 /* Delete 'Returns' in object title */ 571 518 char *pBuchst; … … 579 526 pRest=pBuchst; 580 527 } 581 528 582 529 /* Create help window */ 583 530 hwndBubbleWindow=WinCreateStdWindow(HWND_DESKTOP, … … 612 559 GpiQueryTextBox(hps,ulWinTextLen,winText,TXTBOX_COUNT,aptlPoints); 613 560 WinEndPaint(hps); 614 561 615 562 /* Set colors */ 616 563 WinSetPresParam(hwndBubbleClient, … … 620 567 PP_FOREGROUNDCOLOR,sizeof(rgbTBFlyForeground) , 621 568 &rgbTBFlyForeground ); 622 569 623 570 /* Calculate bubble positon and show bubble */ 624 571 WinQueryPointerPos(HWND_DESKTOP,&ptl);//Query pointer position in the desktop window 625 572 WinQueryWindowRect(HWND_DESKTOP,&rcl);//Query desktop size 626 aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x+7+xVal+ptl.x 627 > rcl.xRight 628 ? deltaX=-aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x-xVal-xVal-7 573 aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x+7+xVal+ptl.x 574 > rcl.xRight 575 ? deltaX=-aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x-xVal-xVal-7 629 576 : deltaX=0 ; 630 631 aptlPoints[TXTBOX_TOPLEFT].y-aptlPoints[TXTBOX_BOTTOMLEFT].y+2+yVal+ptl.y 632 > rcl.yTop 577 578 aptlPoints[TXTBOX_TOPLEFT].y-aptlPoints[TXTBOX_BOTTOMLEFT].y+2+yVal+ptl.y 579 > rcl.yTop 633 580 ? deltaY=-aptlPoints[TXTBOX_TOPLEFT].y-aptlPoints[TXTBOX_BOTTOMLEFT].y-2*yVal-7 634 581 : deltaY=0 ; 635 582 WinSetWindowPos(hwndBubbleWindow, 636 583 HWND_TOP, 637 ptl.x+xVal+deltaX,ptl.y+yVal+deltaY, 584 ptl.x+xVal+deltaX,ptl.y+yVal+deltaY, 638 585 aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x+8, 639 586 aptlPoints[TXTBOX_TOPLEFT].y-aptlPoints[TXTBOX_BOTTOMLEFT].y+2, … … 643 590 hwndBubbleWindow, 644 591 ptl.x+xVal+deltaX+5 645 ,ptl.y+yVal+deltaY-5, 592 ,ptl.y+yVal+deltaY-5, 646 593 aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x+8, 647 594 aptlPoints[TXTBOX_TOPLEFT].y-aptlPoints[TXTBOX_BOTTOMLEFT].y+2, 648 595 SWP_ZORDER|SWP_SIZE|SWP_MOVE|SWP_SHOW); 649 596 650 597 /* Set bubble text */ 651 598 WinSetWindowText(hwndBubbleClient,winText); 652 WinStartTimer(WinQueryAnchorBlock(hwnd),hwnd,1,35); 599 WinStartTimer(WinQueryAnchorBlock(hwnd),hwnd,1,35); 653 600 } // end if(!hwndBubbleWindow) 654 601 break; … … 666 613 WinQueryWindowRect(hwnd, &rclWork); 667 614 if(!WinPtInRect(WinQueryAnchorBlock(hwnd),&rclWork,&ptl)) 668 { // Window has changed 615 { // Window has changed 669 616 WinStopTimer(WinQueryAnchorBlock(hwnd), hwnd, 1); // stop the running timer 670 if(hwndBubbleWindow) 617 if(hwndBubbleWindow) 671 618 WinDestroyWindow(hwndBubbleWindow);/* close the bubblewindow */ 672 619 hwndBubbleWindow=0; … … 694 641 break; 695 642 default: 696 break; 643 break; 697 644 } 698 645 return pfnwpOldLPProc(hwnd, msg, mp1, mp2); … … 701 648 void LPList::lplRefreshAllPads() 702 649 { 703 650 704 651 } 705 652 … … 711 658 LPObject::~LPObject(void) 712 659 { 713 #if 0714 if(hPtr) {715 if(!WinDestroyPointer(hPtr))716 DosBeep(100,200);717 }718 #endif719 660 } 720 661 … … 766 707 if(hwndLaunchPad) 767 708 WinDestroyWindow(hwndLaunchPad); 768 709 769 710 /* Remove this pad from the list of pads */ 770 711 lplTemp=lplAllLPads; … … 844 785 } 845 786 } 846 787 847 788 lpBuildObjectList(chrConfigID); 848 789 … … 859 800 /* Refresh all launchpads */ 860 801 LPList *lplTemp; 861 802 862 803 //lplTemp=lplAllLPads; 863 804 lplTemp=*lpList; … … 902 843 } 903 844 } 904 905 lpSaveObjectList(); 845 846 lpSaveObjectList(); 906 847 lpRefreshLaunchPad(); 907 848 … … 967 908 if((lpoTempNew=new LPObject(wpTempObject->wpQueryIcon()))!=NULL) { 968 909 ULONG ulRC; 969 910 970 911 lpoTempNew->wpObject=wpTempObject; 971 912 lpoTempNew->wpObject->wpLockObject(); … … 1017 958 if(!SysCheckFileExists(chrConfigTarget)) 1018 959 return FALSE; /* No install dir defined */ 1019 960 1020 961 sprintf(chrPath,"OBJECTID=%s",chrConfigID); 1021 962 if((hObject2=WinCreateObject("WPFolder", chrConfigID, chrPath,chrConfigTarget,CO_FAILIFEXISTS))==NULLHANDLE) 1022 963 return FALSE; /* Can't create new toolbar folder */ 1023 964 } 1024 965 1025 966 /* Get toolbar folder */ 1026 967 if(somIsObj(wpParentFolder)) { … … 1038 979 wpFolder->wpQueryRealName(chrPath, &ulBufferSize, TRUE); 1039 980 strcat(chrPath,"\\objects.ini");/* Ini-File containing the hobjects */ 1040 1041 // WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrPath, "~launchPad", 123, MB_OK| MB_MOVEABLE); 981 982 // WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrPath, "~launchPad", 123, MB_OK| MB_MOVEABLE); 1042 983 do{ 1043 984 /* Open the ini-file */ 1044 985 if((hIni=PrfOpenProfile(WinQueryAnchorBlock(HWND_DESKTOP),chrPath))==NULLHANDLE) 1045 break; 986 break; 1046 987 1047 988 if((memPtr=(char*)malloc(ulNumObjects*sizeof(HOBJECT)))==NULL) 1048 989 break; 1049 990 1050 991 1051 992 hObject=(HOBJECT*)memPtr; … … 1064 1005 1065 1006 free(hObject); 1066 1007 1067 1008 PrfCloseProfile(hIni); 1068 1009 return TRUE; … … 1083 1024 WPObject* wpObject; 1084 1025 1085 char chrText[200]; 1026 char chrText[200]; 1086 1027 ULONG ul; 1087 1028 … … 1113 1054 wpFolder->wpQueryRealName(chrPath, &ulBufferSize, TRUE); 1114 1055 strcat(chrPath,"\\objects.ini");/* Ini-File containing the hobjects */ 1115 1056 1116 1057 do{ 1117 1058 /* Open the ini-file */ 1118 1059 if((hIni=PrfOpenProfile(WinQueryAnchorBlock(HWND_DESKTOP),chrPath))==NULLHANDLE) 1119 break; 1120 1060 break; 1061 1121 1062 if(!PrfQueryProfileSize(hIni,"objects","handles", &ulBufferSize)) 1122 1063 break; … … 1127 1068 if((memPtr=(char*)malloc(ulBufferSize))==NULL) 1128 1069 break; 1129 1130 ulNumObjects=ulBufferSize/sizeof(HOBJECT); 1070 1071 ulNumObjects=ulBufferSize/sizeof(HOBJECT); 1131 1072 1132 1073 if(!PrfQueryProfileData(hIni,"objects","handles", memPtr, &ulBufferSize)){ … … 1149 1090 strncpy(lpoTemp->chrName, wpTempObject->wpQueryTitle(),sizeof(lpoTemp->chrName)); 1150 1091 lpoTemp->lpParent=this; 1151 1092 1152 1093 lpoTemp->lpoNext=lpoObjectList; 1153 1094 lpoObjectList=lpoTemp; … … 1158 1099 } 1159 1100 }/* for */ 1160 1101 1161 1102 free(hObjectArray); 1162 1103 1163 1104 PrfCloseProfile(hIni); 1164 1105 return TRUE; … … 1249 1190 for(a=ulNumObjects;a>0 && lpoTemp; a--) 1250 1191 { 1251 /* Create Buttons */ 1192 /* Create Buttons */ 1252 1193 if((hwndTemp=WinCreateWindow(hwndLaunchPad, WC_BUTTON, lpoTemp->chrName, WS_VISIBLE, xButtonOffset+(a-1)*(swp.cy+xButtonDelta), 1, swp.cy-2, swp.cy-2, 1253 1194 hwndLaunchPad, HWND_TOP, a*100, … … 1276 1217 lpoTemp=lpoTemp->lpoNext; 1277 1218 } 1278 return TRUE; 1279 } 1280 1281 1282 1219 return TRUE; 1220 } 1221 -
trunk/mediafolder/c/m3ufolder/m3ufolderoverriddenwpmethods.cpp
r2 r133 1 1 /* 2 2 * This file is (C) Chris Wohlgemuth 2002-2003 3 * 3 * 4 4 * It's part of the Media-Folder distribution 5 5 */ … … 33 33 extern ULONG ulQWL_LEFTCTRLHWND; 34 34 35 #if 036 /* For calling the method in the MMAudio class. Linking to the DLL would require the37 new audio classes. By dynamically querying the method the media folder works without38 installing the audio classes. */39 typedef ULONG SOMLINK somTP_MMCDTrack_cwmmQueryTrackInfo(MMCDTrack *somSelf,40 char** chrString,41 ULONG ulSize,42 int iWhich);43 typedef somTP_MMCDTrack_cwmmQueryTrackInfo *somTD_MMCDTrack_cwmmQueryTrackInfo;44 extern somTD_MMCDTrack_cwmmQueryTrackInfo methodPtrCDTrack;45 #endif46 47 35 extern LOADEDBITMAP allBMPs[]; 48 36 extern PFNWP pfnwpGenericFrame; … … 70 58 //void HlpWriteToTrapLog(const char* chrFormat, ...); 71 59 72 #if 073 void _Optlink rexxThreadFunc (void *arg)74 {75 HAB hab;76 HMQ hmq;77 QMSG qmsg;78 CWM3UFolder *thisPtr;79 HWND hwnd;80 #if 081 char chrFileName[CCHMAXPATH];82 char chrFolderName[CCHMAXPATH];83 char chrRexxScript[CCHMAXPATH];84 #endif85 char *chrFileName;86 char *chrFolderName;87 char *chrRexxScript;88 ULONG ulSize;89 90 thisPtr=(CWM3UFolder*)arg;91 if(!somIsObj(thisPtr))92 return;93 94 if(!somIsObj(thisPtr->wpObjM3UFile))95 return;96 97 chrFileName=thisPtr->wpAllocMem( CCHMAXPATH*3+10 , &ulSize);98 if(!chrFileName)99 return;100 101 chrFolderName=chrFileName+CCHMAXPATH+1;102 chrRexxScript=chrFolderName+CCHMAXPATH+1;103 104 ulSize=CCHMAXPATH;105 if(!((WPFileSystem*)thisPtr->wpObjM3UFile)->wpQueryRealName(chrFileName, &ulSize, TRUE))106 return;107 108 ulSize=CCHMAXPATH;109 if(!thisPtr->wpQueryRealName(chrFolderName, &ulSize, TRUE))110 return;111 112 hab=WinInitialize(0);113 if(hab) {114 hmq=WinCreateMsgQueue(hab,0);115 if(hmq) {116 RXSTRING arg[2]; /* argument string for REXX */117 RXSTRING rexxretval; /* return value from REXX */118 APIRET rc; /* return code from REXX */119 SHORT rexxrc = 0; /* return code from function */120 121 122 sprintf(chrRexxScript,"%s%s", chrInstallDir,RX_INSERT_PLAYLISTTRACKS);123 //HlpWriteToTrapLog("chrRexxScript: %s\n", chrRexxScript);124 /* By setting the strlength of the output RXSTRING to zero, we */125 /* force the interpreter to allocate memory and return it to us. */126 /* We could provide a buffer for the interpreter to use instead. */127 rexxretval.strlength = 0L; /* initialize return to empty*/128 129 MAKERXSTRING(arg[0], chrFileName, strlen(chrFileName));/* create input argument */130 MAKERXSTRING(arg[1], chrFolderName, strlen(chrFolderName));/* create input argument */131 132 TRY_LOUD(RX_START) {133 /* Here we call the interpreter. We don't really need to use */134 /* all the casts in this call; they just help illustrate */135 /* the data types used. */136 rc=RexxStart((LONG) 2, /* number of arguments */137 (PRXSTRING) &arg, /* array of arguments */138 (PSZ) chrRexxScript,/* name of REXX file */139 // (PSZ) "H:\\cwmm\\mediafolder\\beep.cmd",/* name of REXX file */140 (PRXSTRING) 0, /* No INSTORE used */141 (PSZ) "CWRXX", /* Command env. name */142 (LONG) RXSUBROUTINE, /* Code for how invoked */143 (PRXSYSEXIT) 0, /* No EXITs on this call */144 (PSHORT) &rexxrc, /* Rexx program output */145 (PRXSTRING) &rexxretval ); /* Rexx program output */146 147 if(rc) {148 sprintf(chrFileName,"Error in the Rexx skript %s\n\n Get more information with 'help REX%04d'.\n",149 "", rc*-1);150 WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrFileName, "", 1234, MB_OK|MB_MOVEABLE|MB_ERROR);151 }152 DosFreeMem(rexxretval.strptr); /* Release storage given to us by REXX. */153 }154 CATCH(RX_START)155 {}END_CATCH;156 157 WinDestroyMsgQueue(hmq);158 }159 WinTerminate(hab);160 }161 thisPtr->fContentsChanged=FALSE;162 thisPtr->wpFreeMem((PBYTE)chrFileName);163 }164 165 BOOL CWM3UFolder::wpSetup(PSZ pSetupString)166 {167 /**************************************************168 * *169 * *170 **************************************************/171 char buffer[25];172 ULONG bufferSize;173 174 /* Set object window HWND */175 bufferSize=sizeof(buffer);176 if(wpScanSetupString(pSetupString, "M3UOBJECTWINDOW", buffer,&bufferSize))177 {178 hwndObject=atol(buffer);179 }180 181 /* Set object pointer to M3U-File */182 bufferSize=sizeof(buffer);183 if(wpScanSetupString(pSetupString, "M3UOBJECTHANDLE", buffer,&bufferSize))184 {185 WPObject *wpObject;186 187 wpObjM3UFile=NULLHANDLE;188 wpObject=(WPObject*)atol(buffer);189 if(somIsObj(wpObject))190 wpObjM3UFile=wpObject;191 }192 193 194 /* FIXME: Use immediate parent here !!!! */195 return CWMediaFolder::wpSetup(pSetupString);196 }197 #endif198 199 60 /*****************************************************/ 200 61 /* */ … … 203 64 /* */ 204 65 /*****************************************************/ 205 MRESULT EXPENTRY m3uFldrContainerProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 66 MRESULT EXPENTRY m3uFldrContainerProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 206 67 { 207 68 CWMediaFolder* thisPtr; … … 272 133 /* */ 273 134 /****************************************************************************/ 274 MRESULT EXPENTRY m3uTopCtrlDialogProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 275 { 276 135 MRESULT EXPENTRY m3uTopCtrlDialogProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 136 { 137 277 138 switch(msg) 278 139 { … … 284 145 ULONG ulStyle; 285 146 SWP swp; 286 147 287 148 WinSetWindowULong(hwnd,QWL_USER,(ULONG)PVOIDFROMMP(mp2));//Save object ptr. 288 149 WinQueryWindowPos(WinQueryWindow(hwnd,QW_PARENT),&swp); … … 299 160 WinSetFocus(HWND_DESKTOP, WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT),FID_CLIENT)); 300 161 return WinSendMsg(WinWindowFromID(WinQueryWindow(hwnd,QW_PARENT),FID_CLIENT),msg,mp1,mp2); 301 162 302 163 /*****************************************************/ 303 164 /* Paint the background. */ … … 321 182 ptl.x=lTemp*rclSource.xRight; 322 183 lTemp=rcl.yBottom/rclSource.yTop; 323 lTemp*=rclSource.yTop; 184 lTemp*=rclSource.yTop; 324 185 while(ptl.x<rcl.xRight) { 325 186 ptl.y=lTemp; 326 187 while(ptl.y<rcl.yTop) {/* y direction */ 327 188 WinDrawBitmap(hps, allBMPs[CTRLIDX_BOTTOM].hbm, 328 &rclSource, 189 &rclSource, 329 190 (PPOINTL)&ptl, 330 191 0, 0, … … 332 193 ptl.y+=allBMPs[CTRLIDX_BOTTOM].bmpInfoHdr.cy; 333 194 }; 334 ptl.x+=allBMPs[CTRLIDX_BOTTOM].bmpInfoHdr.cx; 195 ptl.x+=allBMPs[CTRLIDX_BOTTOM].bmpInfoHdr.cx; 335 196 }; 336 197 WinEndPaint(hps); … … 351 212 rclSource.xRight=allBMPs[CTRLIDX_TOPLEFT].bmpInfoHdr.cx; 352 213 WinDrawBitmap(hps, allBMPs[CTRLIDX_TOPLEFT].hbm, 353 &rclSource, 214 &rclSource, 354 215 (PPOINTL)&rclSave, 355 216 0, 0, … … 364 225 rclSource.xRight=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx; 365 226 WinDrawBitmap(hps, allBMPs[CTRLIDX_TOPRIGHT].hbm, 366 &rclSource, 227 &rclSource, 367 228 (PPOINTL)&rclSave, 368 229 0, 0, … … 386 247 * * 387 248 ************************************************************/ 388 MRESULT EXPENTRY m3uFrameProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 249 MRESULT EXPENTRY m3uFrameProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) 389 250 { 390 251 CWM3UFolder* thisPtr; … … 419 280 #endif 420 281 case 0x2d1: /* View menu */ 421 /* Remove change to Tree from menubar menu */ 282 /* Remove change to Tree from menubar menu */ 422 283 WinSendMsg(HWNDFROMMP(mp2),MM_REMOVEITEM,MPFROM2SHORT(717,TRUE),0); 423 284 /* Icon view */ … … 462 323 case ID_MENUITEMEXIT: 463 324 WinPostMsg(hwnd, WM_CLOSE, 0, 0); 464 return MRFALSE; 325 return MRFALSE; 465 326 case ID_MENUITEMSAVE: 466 327 { … … 472 333 } 473 334 } 474 return MRFALSE; 335 return MRFALSE; 475 336 } 476 337 default: 477 if(SHORT1FROMMP(mp1)>=FIRSTUSERITEM) { 338 if(SHORT1FROMMP(mp1)>=FIRSTUSERITEM) { 478 339 BOOL bHandled=FALSE; 479 340 480 341 TRY_LOUD(AF_MENU) { 481 342 #if 0 … … 484 345 thisPtr=(CWMediaFolder*) WinQueryWindowULong(hwndDialog,QWL_USER); 485 346 if(somIsObj(thisPtr)) { 486 347 487 348 CWMenuFolder * wpFolder; 488 349 HOBJECT hObject; … … 490 351 somTD_CWMenuFolder_mfCheckSkriptMenuItems methodPtr; 491 352 M_WPObject *m_wpObject; 492 353 493 354 if(!bHandled) 494 355 bHandled=thisPtr->cwCheckUserMenuItems(USERMENUFOLDER_MEDIAFOLDER , SHORT1FROMMP(mp1)); … … 557 418 558 419 /* Reregister wpFolder window class on first opening */ 559 /* We need this private code to have some private 420 /* We need this private code to have some private 560 421 window words */ 561 422 if(!g_fRegisteredWindowClass) 562 423 { 563 424 CLASSINFO ci; 564 425 565 426 if(WinQueryClassInfo(WinQueryAnchorBlock(HWND_DESKTOP), 566 427 (PSZ)"wpFolder window", … … 589 450 /* Skip media folder. Because of this skip we had to register the window words here (see above). 590 451 It's not asured a Mediafolder was already opended. Normaly the window words are added in 591 wpOpen() of the Mediafolder. 452 wpOpen() of the Mediafolder. 592 453 FIXME: This only works if CWProgFolder->CWMediaFolder->CWM3UFolder is the class hierarchy */ 593 454 hwnd=CWProgFolder::wpOpen(hwndCnr, ulView, ulParam); 594 455 595 456 /* Only subclass folder frames, not settings notebooks */ 596 if(ulView!=OPEN_SETTINGS){ 457 if(ulView!=OPEN_SETTINGS){ 597 458 if(!hResource) { 598 459 errorResource(); … … 604 465 ULONG ulErr; 605 466 606 /* Remove the title added by XWP */ 607 WinSetWindowText(hwnd, wpObjM3UFile->wpQueryTitle()); 467 if (somIsObj(wpObjM3UFile)) { 468 /* Remove the title added by XWP */ 469 WinSetWindowText(hwnd, wpObjM3UFile->wpQueryTitle()); 470 } 608 471 if(!getMessage(text, IDSTR_PLAYLISTVIEWTITLE, sizeof(text), queryResModuleHandle(), HWND_DESKTOP)) 609 472 sprintf(text, "Playlist Editor"); … … 624 487 /* Menu bar found */ 625 488 626 /* Remove folder item from menubar menu */ 489 /* Remove folder item from menubar menu */ 627 490 WinSendMsg( myFrameCtrlHWND, MM_REMOVEITEM, MPFROM2SHORT(0x2cf,TRUE),0); 628 491 … … 633 496 mi.afStyle=MIS_TEXT|MIS_SUBMENU; 634 497 mi.id=ID_MENUFILE; 635 mi.afAttribute=NULL; 498 mi.afAttribute=NULL; 636 499 mi.hwndSubMenu=hwndMenu; 637 500 mi.hItem=NULL; … … 640 503 getMessage(text, IDSTR_MENUFILE,sizeof(text), hResource, hwnd); 641 504 WinSendMsg(myFrameCtrlHWND,MM_INSERTITEM,MPFROMP(&mi), 642 (MPARAM)text); 505 (MPARAM)text); 643 506 644 507 /* Insert skript and user menu item if necessary */ … … 675 538 iItemCount=(int)WinSendMsg(myFrameCtrlHWND,MM_QUERYITEMCOUNT,(MPARAM)0, 676 539 (MPARAM)0); 677 540 678 541 /* Fill the MENUITEM structure */ 679 542 mi.iPosition=iItemCount-1; 680 543 mi.afStyle=MIS_TEXT|MIS_SUBMENU; 681 544 mi.id=ID_MBMENUSKRIPTS; 682 mi.afAttribute=NULL; 545 mi.afAttribute=NULL; 683 546 mi.hwndSubMenu=hwndMenu; 684 547 mi.hItem=NULL; … … 687 550 getMessage(text, IDSTR_MENUSKRIPTS,sizeof(text), hResource, hwnd); 688 551 WinSendMsg(myFrameCtrlHWND,MM_INSERTITEM,MPFROMP(&mi), 689 (MPARAM)text); 552 (MPARAM)text); 690 553 }/* end of if(hwndMenu) */ 691 554 } … … 700 563 the procedure saves this pointer for later use. */ 701 564 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd, m3uTopCtrlDialogProc,hResource,IDDLG_TOPFRAME ,this); 702 /* Save the HWND in the instance data */ 565 /* Save the HWND in the instance data */ 703 566 // hwndTop=myFrameCtrlHWND; 704 /* Save the HWND in the Window words */ 705 WinSetWindowULong( hwnd, ulQWL_TOPCTRLHWND, myFrameCtrlHWND); 706 567 /* Save the HWND in the Window words */ 568 WinSetWindowULong( hwnd, ulQWL_TOPCTRLHWND, myFrameCtrlHWND); 569 707 570 if(myFrameCtrlHWND){ 708 571 /* Query the size of the dialog */ … … 712 575 // sizel.cy=rectl.yTop-rectl.yBottom; 713 576 sizel.cy=12; 714 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 577 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 715 578 FCTL_TOP means put it at the top of the folder. 716 579 After calling cwUpdateFrame(hwnd) it will be visible */ … … 722 585 the procedure saves this pointer for later use. */ 723 586 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,leftCtrlDialogProc,hResource,IDDLG_LEFTFRAME ,this); 724 /* Save the HWND in the instance data */ 587 /* Save the HWND in the instance data */ 725 588 // hwndLeft=myFrameCtrlHWND; 726 /* Save the HWND in the Window words */ 589 /* Save the HWND in the Window words */ 727 590 WinSetWindowULong( hwnd, ulQWL_LEFTCTRLHWND, myFrameCtrlHWND); 728 729 591 592 730 593 if(myFrameCtrlHWND){ 731 594 /* Query the size of the dialog */ … … 734 597 sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;//rectl.xRight-rectl.xLeft; 735 598 // sizel.cx=rectl.xRight-rectl.xLeft; 736 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 599 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 737 600 FCTL_RIGHT means put it at the RIGHT of the folder. 738 601 After calling cwUpdateFrame(hwnd) it will be visible */ … … 744 607 the procedure saves this pointer for later use. */ 745 608 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,rightCtrlDialogProc,hResource,IDDLG_FRAMERIGHT ,this); 746 /* Save the HWND in the instance data */ 609 /* Save the HWND in the instance data */ 747 610 // hwndRight=myFrameCtrlHWND; 748 /* Save the HWND in the Window words */ 611 /* Save the HWND in the Window words */ 749 612 WinSetWindowULong( hwnd, ulQWL_RIGHTCTRLHWND, myFrameCtrlHWND); 750 613 751 614 if(myFrameCtrlHWND){ 752 615 CNRINFO cnrInfo; 753 HWND hwndContainer; 616 HWND hwndContainer; 754 617 PVIEWITEM pView; 755 618 … … 758 621 /* It's the right dialog so we need the width but not the height. */ 759 622 sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;// rectl.xRight-rectl.xLeft; 760 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 623 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 761 624 FCTL_RIGHT means put it at the RIGHT of the folder. 762 625 After calling cwUpdateFrame(hwnd) it will be visible */ 763 626 cwAddFrameCtl(hwnd, myFrameCtrlHWND, sizel, FCTL_RIGHT, FCTL_POSABOVE|FCTL_POSBELOW); 764 627 765 628 // hwndContainer=WinWindowFromID(myFrameCtrlHWND, IDCNR_PLAYLIST); 766 629 // WinSendMsg(hwndContainer,CM_QUERYCNRINFO, MPFROMP(&cnrInfo), … … 772 635 the procedure saves this pointer for later use. */ 773 636 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,bottomCtrlDialogProc,hResource,IDDLG_BOTTOMFRAME ,this); 774 /* Save the HWND in the instance data */ 775 hwndBottom=myFrameCtrlHWND; 776 /* Save the HWND in the Window words */ 637 /* Save the HWND in the instance data */ 638 hwndBottom=myFrameCtrlHWND; 639 /* Save the HWND in the Window words */ 777 640 WinSetWindowULong( hwnd, ulQWL_BOTTOMCTRLHWND, myFrameCtrlHWND); 778 641 … … 783 646 sizel.cy=rectl.yTop-rectl.yBottom-2; 784 647 // sizel.cy=allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy; 785 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 648 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 786 649 FCTL_TOP means put it at the top of the folder. 787 650 After calling cwUpdateFrame(hwnd) it will be visible */ … … 810 673 SysWriteToTrapLog("\nTrap occured in %s, file: %s above line %d.\n", 811 674 __FUNCTION__, __FILE__, __LINE__); 812 813 } END_CATCH; 675 676 } END_CATCH; 814 677 815 678 /* Make sure on open the container is visible */ … … 825 688 fContentsChanged=TRUE; 826 689 return CWMediaFolder::wpDeleteFromContent(Object); 827 }828 829 MRESULT CWM3UFolder::wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem)830 {831 return CWMediaFolder::wpDrop(hwndCnr, pDragInfo, pDragItem);832 690 } 833 691 … … 847 705 return; 848 706 849 thisPtr=(CWM3UFolder*)parms->thisPtr; 707 thisPtr=(CWM3UFolder*)parms->thisPtr; 850 708 if(!somIsObj(thisPtr)) 851 709 return; … … 862 720 hmq=WinCreateMsgQueue(hab,0); 863 721 if(hmq) { 864 FILE* fStream; 722 FILE* fStream; 865 723 866 724 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), parms->hwndCnr)) … … 894 752 else 895 753 break;/* Error */ 896 754 897 755 /* Get the name of the audio file */ 898 756 ulSize=sizeof(chrFileName); … … 906 764 break; 907 765 }/* for() */ 908 }/* fopen() */ 766 }/* fopen() */ 909 767 fclose(fStream); 910 768 } … … 918 776 /* Close and destroy the folder if requested */ 919 777 WinPostMsg(parms->hwndFrame, WM_CLOSE, 0, 0); 920 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), thisPtr->hwndObject)) 778 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), thisPtr->hwndObject)) 921 779 WinPostMsg(thisPtr->hwndObject, WM_APPTERMINATENOTIFY, 0, 0); 922 780 } … … 968 826 title, IDSTR_CLOSETITLE, sizeof(title), 969 827 queryResModuleHandle(), 970 HWND_DESKTOP, 828 HWND_DESKTOP, 971 829 MB_YESNOCANCEL|MB_MOVEABLE|MB_ICONQUESTION))==MBID_CANCEL) 972 830 return FALSE; -
trunk/mediafolder/c/mediafldr/mediafolder.cpp
r57 r133 1 1 /* 2 2 * This file is (C) Chris Wohlgemuth 2002 3 * 3 * 4 4 * It's part of the Media-Folder distribution 5 5 */ … … 69 69 switch(ulAction) 70 70 { 71 case PLAY_FIRST: 71 case PLAY_FIRST: 72 72 /* Send a message to the object window created by the folder play thread */ 73 73 WinPostMsg(thisPtr->mfData->hwndPlayObject,WM_APPTERMINATENOTIFY, 0,MPFROMLONG(PLAY_FIRST)); … … 146 146 thisPtr->cwSeekAudioFile(LONGFROMMP(mp1)); 147 147 /* restart timer */ 148 // WinStartTimer(WinQueryAnchorBlock(hwnd), WinWindowFromID(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 148 // WinStartTimer(WinQueryAnchorBlock(hwnd), WinWindowFromID(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 149 149 thisPtr->ulPos=LONGFROMMP(mp1)/1000; 150 150 } … … 192 192 if(hwnd) { 193 193 thisPtr->mfData->hwndPlayObject=hwnd; 194 WinSetWindowULong(hwnd, QWL_USER,(ULONG)tPt); 194 195 WinSubclassWindow(hwnd,&playObjectProc); 195 WinSetWindowULong(hwnd, QWL_USER,(ULONG)tPt);196 196 /* Window created. */ 197 197 while(WinGetMsg(hab,&qmsg,(HWND)NULL,0,0)) … … 225 225 return; 226 226 227 thisPtr=(CWMediaFolder*)threadParms->thisPtr; 227 thisPtr=(CWMediaFolder*)threadParms->thisPtr; 228 228 229 229 if(!somIsObj(thisPtr)) … … 247 247 if(!((WPFileSystem*)thisPtr->wpObjM3UFile)->wpQueryRealName(chrFileName, &ulSize, TRUE)) 248 248 return; 249 249 250 250 /* Get name of folder */ 251 251 ulSize=CCHMAXPATH; … … 256 256 if(hab) { 257 257 hmq=WinCreateMsgQueue(hab,0); 258 if(hmq) { 258 if(hmq) { 259 259 RXSTRING arg[2]; /* argument string for REXX */ 260 260 RXSTRING rexxretval; /* return value from REXX */ … … 266 266 /* We could provide a buffer for the interpreter to use instead. */ 267 267 rexxretval.strlength = 0L; /* initialize return to empty*/ 268 268 269 269 MAKERXSTRING(arg[0], chrFileName, strlen(chrFileName));/* create input argument */ 270 MAKERXSTRING(arg[1], chrFolderName, strlen(chrFolderName));/* create input argument */ 271 270 MAKERXSTRING(arg[1], chrFolderName, strlen(chrFolderName));/* create input argument */ 271 272 272 TRY_LOUD(RX_START) { 273 273 /* Here we call the interpreter. We don't really need to use */ … … 285 285 (PSHORT) &rexxrc, /* Rexx program output */ 286 286 (PRXSTRING) &rexxretval ); /* Rexx program output */ 287 287 288 288 if(rc) { 289 sprintf(chrFileName,"Error in the Rexx skript %s\n\n Get more information with 'help REX%04d'.\n", 289 sprintf(chrFileName,"Error in the Rexx skript %s\n\n Get more information with 'help REX%04d'.\n", 290 290 "", rc*-1); 291 291 WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, chrFileName, "", 1234, MB_OK|MB_MOVEABLE|MB_ERROR); 292 292 } 293 DosFreeMem(rexxretval.strptr); /* Release storage given to us by REXX. */ 293 DosFreeMem(rexxretval.strptr); /* Release storage given to us by REXX. */ 294 294 } 295 295 CATCH(RX_START) 296 296 {}END_CATCH; 297 297 298 298 WinDestroyMsgQueue(hmq); 299 299 } … … 301 301 } 302 302 // thisPtr->fContentsChanged=FALSE; 303 thisPtr->wpFreeMem((PBYTE)chrFileName); 303 thisPtr->wpFreeMem((PBYTE)chrFileName); 304 304 thisPtr->wpFreeMem((PBYTE)threadParms); 305 305 } … … 372 372 373 373 WinSetWindowPos(hwndFrame, NULLHANDLE, swp2.x, swp2.y, swp2.cx,swp2.cy,SWP_SIZE|SWP_MOVE); 374 /* 374 /* 375 375 By changing the to contents view we trick the WPS to show the 'Details view' menu item in 376 376 the view menu of the folders system menu. In that sub menu the WPS always inserts all known … … 379 379 The system knows nothing about the 'compact view' and all the handling is done by us. 380 380 As a side effect the folder position information for the details 381 view isn't changed when the folder is closed in 'Compact view'. 381 view isn't changed when the folder is closed in 'Compact view'. 382 382 */ 383 383 wpMenuItemSelected(hwndFrame, 0x2cc); … … 419 419 ",", chrBuf, sizeof(chrBuf)); 420 420 chrBuf[sizeof(chrBuf)-1]=0; 421 421 422 422 if(mfData->ulTotalTime<=3600) { 423 423 getMessage( text, IDSTR_STATUSTIME1, sizeof(text), queryResModuleHandle(), HWND_DESKTOP); … … 432 432 sprintf(time, text, mfData->ulTotalTime/(3600*24), 433 433 (mfData->ulTotalTime%(3600*24))/3600, (mfData->ulTotalTime%3600)/60, mfData->ulTotalTime%60); 434 } 434 } 435 435 if(mfData->ulSize<=0xffffffff) { 436 436 getMessage( text2, IDSTR_STATUSTIME4, sizeof(text2), queryResModuleHandle(),HWND_DESKTOP); 437 sprintf(text, text2, 437 sprintf(text, text2, 438 438 mfData->ulNumTracks, mfData->ulSize/1000000 ,chrBuf, (mfData->ulSize%1000000)/1000, 439 439 chrBuf, mfData->ulSize%1000, … … 488 488 getMessage(pageName, IDSTRSETTING_TOOLBAR, sizeof(pageName), queryResModuleHandle(), hwndNotebook); 489 489 pageinfo.pszName = pageName; 490 490 491 491 //Insert the page into the settings notebook 492 492 return wpInsertSettingsPage(hwndNotebook,&pageinfo); … … 497 497 PMINIRECORDCORE mrc; 498 498 WPObject * contentObject; 499 499 500 500 /* See if we have an audio file played with doubleclick */ 501 501 mrc=(PMINIRECORDCORE)WinSendMsg(hwndContainer,CM_QUERYRECORDEMPHASIS,MPFROMLONG(CMA_FIRST), … … 551 551 /* Get new ID for wave device */ 552 552 if(cwRequestMutex(hmtxFileName, 100000)==ERROR_TIMEOUT) 553 return FALSE; 553 return FALSE; 554 554 555 555 iWaveDev++; … … 565 565 WPObject *wpObject; 566 566 PMINIRECORDCORE pmrc; 567 567 568 568 #if 0 569 569 /* There's already a file playing using doubleclick */ 570 if(mmGetOtherPlayingAudioFile( this, hwndContainer, &wpObject, &pmrc)) 570 if(mmGetOtherPlayingAudioFile( this, hwndContainer, &wpObject, &pmrc)) 571 571 return 0; 572 572 #endif … … 605 605 else 606 606 return 0;/* Error */ 607 608 if( contentObject->somIsA(cwAudioClass) || 607 608 if( contentObject->somIsA(cwAudioClass) || 609 609 /*contentObject->somIsA(mmAudioClass) ||*/ 610 610 contentObject->somIsA(mmMIDIClass)) { … … 643 643 MPFROM2SHORT(CMA_NEXT,CMA_ITEMORDER)); 644 644 645 if((int)mrc==-1) { 645 if((int)mrc==-1) { 646 646 /* Wrong parameter -> user deleted the shadow. */ 647 647 /* Stop wave, remove in use emphasis. */ … … 650 650 } 651 651 // HlpWriteToTrapLog("Next mrc is %x\n", mrc); 652 652 653 653 notFound=TRUE; 654 while(notFound && mrc && (int)mrc!=-1){ 654 while(notFound && mrc && (int)mrc!=-1){ 655 655 contentObject=(WPObject*)OBJECT_FROM_PREC(mrc);//Get object 656 656 if(somIsObj(contentObject)) { … … 664 664 else 665 665 return 0;/* Error */ 666 666 667 667 if(contentObject->somIsA(cwAudioClass) || 668 668 /* contentObject->somIsA(mmAudioClass) || */ … … 701 701 /* Select the object */ 702 702 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(pmrc), 703 MPFROM2SHORT(TRUE, CRA_SELECTED)); 703 MPFROM2SHORT(TRUE, CRA_SELECTED)); 704 704 705 705 return cwPlayAudioFile(hwndFrame, PLAY_FIRST);/* Not yet playing, so start the first one. */ … … 709 709 return cwPlayAudioFile(hwndFrame, PLAY_FIRST);/* Not yet playing, so start the first one. */ 710 710 } 711 711 712 712 /* Check the current time. If we are at the very beginning of the track skip to the previous track 713 713 otherwise skip to the beginning of the current track. */ … … 727 727 /* Find an audio file */ 728 728 notFound=TRUE; 729 while(notFound && mrc && (int)mrc!=-1){ 729 while(notFound && mrc && (int)mrc!=-1){ 730 730 contentObject=(WPObject*)OBJECT_FROM_PREC(mrc);//Get object 731 731 if(somIsObj(contentObject)) { … … 741 741 742 742 /* Check if it's an audio file thus playable */ 743 if(contentObject->somIsA(cwAudioClass) || 743 if(contentObject->somIsA(cwAudioClass) || 744 744 /* contentObject->somIsA(mmAudioClass) || */ 745 745 contentObject->somIsA(mmMIDIClass)) { … … 755 755 if(!mrc) 756 756 return 0; 757 757 758 758 break; 759 759 default: … … 771 771 else /*if(contentObject->somIsA(cwAudioClass) || contentObject->somIsA(mmAudioClass))*/ 772 772 strncpy(chrDevice,"WAVEAUDIO", sizeof(chrDevice)); 773 773 774 774 chrDevice[sizeof(chrDevice)-1]=0; 775 775 776 776 hwndNotify=playControlDialogFromFrameHWND(hwndFrame);//WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE); 777 777 778 /* Start audio file */ 778 /* Start audio file */ 779 779 sprintf(chrCommand,"open \"%s\" type %s alias wave%d SHAREABLE wait",name, chrDevice, iWavePriv); 780 780 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwndNotify, 0); … … 789 789 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0); 790 790 return 0; 791 } 791 } 792 792 793 793 sprintf(chrCommand,"SETPOSITIONADVISE wave%d ON EVERY 1000 notify", iWavePriv); … … 829 829 } 830 830 831 /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 831 /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 832 832 Don't know why. */ 833 833 834 //WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 834 //WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 835 835 WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 836 836 … … 849 849 /* Select the object */ 850 850 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc), 851 MPFROM2SHORT(TRUE, CRA_SELECTED)); 851 MPFROM2SHORT(TRUE, CRA_SELECTED)); 852 852 853 853 iWave=iWavePriv; … … 872 872 BOOL bFound=FALSE; 873 873 874 /** Get a random number in the appropriate range */ 874 /** Get a random number in the appropriate range */ 875 875 DosGetDateTime((PDATETIME)&DT); /* Get the time */ 876 876 seed = DT.hours*60 + DT.minutes; /* convert to hundreths */ … … 885 885 886 886 #ifdef RANDOM_DEBUG 887 HlpWriteToTrapLog("\n Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 887 HlpWriteToTrapLog("\n Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 888 888 #endif 889 889 /* Get a random number in the appropriate range */ … … 891 891 mfData->pRandomArray[zufall]=1; 892 892 #ifdef RANDOM_DEBUG 893 HlpWriteToTrapLog("2 Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 893 HlpWriteToTrapLog("2 Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 894 894 #endif 895 895 return zufall; … … 900 900 if (zufall == start && !bFound) { 901 901 #ifdef RANDOM_DEBUG 902 HlpWriteToTrapLog("Error Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 902 HlpWriteToTrapLog("Error Zufall: %d %d\n", zufall, mfData->pRandomArray[zufall]); 903 903 #endif 904 904 return -1; … … 944 944 /* Check if we currently play the last track. */ 945 945 if((mfData->iNumPlayed>=mfData->iNumToPlay) && mfData->pRandomArray) { 946 cwStopAudioFile(hwndFrame);/* Reset playing vars and remove in use emphasis */ 946 cwStopAudioFile(hwndFrame);/* Reset playing vars and remove in use emphasis */ 947 947 if(!(ulFlags&FLAG_REPEAT)) 948 948 return 0; … … 959 959 /* Get new ID for wave device */ 960 960 if(cwRequestMutex(hmtxFileName, 100000)==ERROR_TIMEOUT) 961 return FALSE; 961 return FALSE; 962 962 iWaveDev++; 963 963 if(iWaveDev==1000) … … 1009 1009 /* Find an audio file */ 1010 1010 notFound=TRUE; 1011 while(notFound){ 1011 while(notFound){ 1012 1012 /* Find track to play */ 1013 1013 if((iTrack=_getRandomTrack(mfData))==-1) { … … 1022 1022 HlpWriteToTrapLog("%s: _getRandomTrack returned: %d.\n", __FUNCTION__, iTrack); 1023 1023 #endif 1024 1024 1025 1025 for(a=0,mrc=(PMINIRECORDCORE)WinSendMsg(hwndContainer,CM_QUERYRECORD,NULL, 1026 1026 MPFROM2SHORT(CMA_FIRST,CMA_ITEMORDER)); … … 1039 1039 #endif 1040 1040 1041 if(!mrc) 1041 if(!mrc) 1042 1042 { 1043 1043 #ifdef RANDOM_DEBUG … … 1053 1053 1054 1054 /* Check if it's an audio file thus playable */ 1055 if(contentObject->somIsA(cwAudioClass) || 1055 if(contentObject->somIsA(cwAudioClass) || 1056 1056 /* contentObject->somIsA(mmAudioClass) ||*/ 1057 1057 contentObject->somIsA(mmMIDIClass)) { … … 1083 1083 else /*if(contentObject->somIsA(cwAudioClass) || contentObject->somIsA(mmAudioClass))*/ 1084 1084 strncpy(chrDevice,"WAVEAUDIO", sizeof(chrDevice)); 1085 1085 1086 1086 chrDevice[sizeof(chrDevice)-1]=0; 1087 1087 1088 1088 hwndNotify=playControlDialogFromFrameHWND(hwndFrame);//WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE); 1089 1089 1090 /* Start audio file */ 1090 /* Start audio file */ 1091 1091 sprintf(chrCommand,"open \"%s\" type %s alias wave%d SHAREABLE wait",name, chrDevice, iWavePriv); 1092 1092 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwndNotify, 0); … … 1100 1100 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0); 1101 1101 return 0; 1102 } 1102 } 1103 1103 1104 1104 sprintf(chrCommand,"SETPOSITIONADVISE wave%d ON EVERY 1000 notify", iWavePriv); … … 1140 1140 return 0; 1141 1141 } 1142 /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 1142 /* Start pos timer. SET MCIPOSITIONADVICE fails when seeking in the wave. 1143 1143 Don't know why. */ 1144 // WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 1145 WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 1144 // WinStartTimer(WinQueryAnchorBlock(hwndFrame), WinWindowFromID(hwndTop, IDDLG_TOPMIDDLE), IDTIMER_PLAY, PLAYTIMER_DELAY); 1145 WinStartTimer(WinQueryAnchorBlock(hwndFrame), playControlDialogFromFrameHWND(hwndFrame), IDTIMER_PLAY, PLAYTIMER_DELAY); 1146 1146 1147 1147 /* Set emphasis by adding the object to the inuse list */ … … 1158 1158 /* Select the object */ 1159 1159 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc), 1160 MPFROM2SHORT(TRUE, CRA_SELECTED)); 1160 MPFROM2SHORT(TRUE, CRA_SELECTED)); 1161 1161 1162 1162 iWave=iWavePriv; … … 1187 1187 mfData->iNumPlayed=0; 1188 1188 } 1189 1189 1190 1190 sprintf(chrCommand,"stop wave%d wait", iWave); 1191 1191 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0); 1192 1192 1193 1193 sprintf(chrCommand,"close wave%d wait", iWave); 1194 1194 rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0); 1195 1195 1196 1196 _resetDisplay(this); 1197 1197 //_resetDisplay(topControlFromFrameHWND(hwndFrame)); … … 1207 1207 myViewItem.bIsInUseList=FALSE; 1208 1208 }; 1209 1209 1210 1210 //HlpWriteToTrapLog("\n1 line %d.\n"); 1211 1211 1212 1212 /* Deselect the object */ 1213 1213 if(WinIsWindow(WinQueryAnchorBlock(hwndFrame), hwndContainer)) 1214 1214 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrcPlaying), 1215 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1216 1215 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1216 1217 1217 iWave=0; 1218 1218 currentObject=NULLHANDLE; … … 1234 1234 #endif 1235 1235 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc), 1236 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1236 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1237 1237 } 1238 1238 #if 0 … … 1258 1258 ulPos=0; 1259 1259 WinSendMsg(hwndContainer,CM_SETRECORDEMPHASIS, MPFROMP(mrc), 1260 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1260 MPFROM2SHORT(FALSE, CRA_SELECTED)); 1261 1261 1262 1262 }; … … 1273 1273 __FUNCTION__, __FILE__, __LINE__); 1274 1274 } END_CATCH; 1275 1275 1276 1276 return TRUE; 1277 1277 } … … 1323 1323 if((rc & 0x0000ffff)!=MCIERR_SUCCESS) { 1324 1324 /* Problem with MCI. Clean up. The Timer will be stopped in the method */ 1325 cwStopAudioFile(hwndFrame); 1325 cwStopAudioFile(hwndFrame); 1326 1326 } 1327 1327 else { 1328 1328 if(!stricmp(retMsg, "stopped")) { 1329 1329 /* Audio file played. Start next */ 1330 cwPlayAudioFile(hwndFrame, PLAY_NEXT); 1330 cwPlayAudioFile(hwndFrame, PLAY_NEXT); 1331 1331 } 1332 1332 showPlayTimeDisplay(this, TRUE);/* Ensure display is visible */ -
trunk/mediafolder/c/mediafldr/mediafolderoverridenwpclsmethods.cpp
r47 r133 1 1 /* 2 2 * This file is (C) Chris Wohlgemuth 1999-2003 3 * 3 * 4 4 * It's part of the Audio/Data-CD-Creator distribution 5 5 */ … … 132 132 133 133 hps=WinGetPS(HWND_DESKTOP); 134 134 135 135 /* The main BMP */ 136 136 allBMPs[MAIN_BMP_IDX].hbm=GpiLoadBitmap(hps, hResource, IDBMP_TOPMIDDLE, 0, 0); … … 352 352 if(DosQueryModuleHandle(pathname,&hmod)) { 353 353 pathname=((WPClassManager*)SOMClassMgrObject) //Query Pathname of class file 354 ->wpModuleForClass("CWAudioShadow"); 354 ->wpModuleForClass("CWAudioShadow"); 355 355 if(DosQueryModuleHandle(pathname,&hmod)) { 356 356 pathname=((WPClassManager*)SOMClassMgrObject) //Query Pathname of class file 357 ->wpModuleForClass("M_CWCDFolder"); 357 ->wpModuleForClass("M_CWCDFolder"); 358 358 if(DosQueryModuleHandle(pathname,&hmod)) { 359 359 pathname=((WPClassManager*)SOMClassMgrObject) //Query Pathname of class file 360 ->wpModuleForClass("CWCDFolder"); 360 ->wpModuleForClass("CWCDFolder"); 361 361 if(DosQueryModuleHandle(pathname,&hmod)) { 362 362 hmod=0; … … 378 378 if((found=strrchr(chrInstallDir,'\\'))!=NULLHANDLE) 379 379 *found=0; 380 380 381 381 /* Save the dir for config files. */ 382 382 //strcpy( chrConfigDir, chrInstallDir); … … 393 393 394 394 if(!hmod) { 395 char path[CCHMAXPATH]; 395 char path[CCHMAXPATH]; 396 396 char buf[CCHMAXPATH]; 397 397 char* found; 398 398 APIRET rc; 399 400 /* Get the language code of our system and load the 399 400 /* Get the language code of our system and load the 401 401 resource DLL with the right language */ 402 402 do { … … 404 404 PCSZ pszLang=chrLang; 405 405 char *chrPtr; 406 406 407 407 /* Get Language var */ 408 408 if(NO_ERROR!=DosScanEnv("LANG", &pszLang)) … … 419 419 while(*chrPtr==' ') 420 420 chrPtr++; 421 421 422 422 /* Check if value seems to be valid. The var must be something like xx_XX thus length is 5 */ 423 423 if(strlen(chrPtr)<5) 424 424 break; 425 425 426 426 if(DosQueryModuleName(queryModuleHandle("M_CWMediaFolder"),sizeof(path),path)!=NO_ERROR) 427 427 break; 428 428 429 429 found=strrchr(path,'\\'); 430 430 if(!found) 431 431 break; 432 432 *found=0; 433 434 /* Extract the first two chars */ 433 434 /* Extract the first two chars */ 435 435 sprintf(buf, RESDLLNAME, chrPtr[0], chrPtr[1]); 436 436 strcat(path,buf); … … 438 438 if(DosLoadModule(buf,sizeof(buf),path, &hmod)==NO_ERROR) 439 439 break; 440 440 441 441 /* NLS DLL not found. Try to load default */ 442 442 found=strrchr(path,'\\'); 443 443 if(!found) 444 444 break; 445 445 446 446 *found=0; 447 447 sprintf(buf, DEFRESDLLNAME); … … 534 534 ULONG ulInfoLen=0; 535 535 APIRET rc; 536 char path[CCHMAXPATH]; 536 char path[CCHMAXPATH]; 537 537 char* found; 538 538 char buf[CCHMAXPATH]; … … 574 574 /* We don't want an automatic template because we create it during 575 575 installation because we need one with an ID so we can create a shadow 576 without problems. So we return CLSSTYLE_DONTTEMPLATE. 576 without problems. So we return CLSSTYLE_DONTTEMPLATE. 577 577 Another way would be an override of wpclsCreateDefaultTemplate() 578 578 but this works, too, and we have to override this method anyway. We must … … 591 591 if(PrfQueryProfileInt(HINI_USERPROFILE, APPKEY_CWMM, MFLDR_NO_TEMPLATE_SHADOW, 0)) 592 592 return; 593 593 594 594 if(!WinQueryObject(ID_MEDIALDRTMPL_SHADOW)) 595 595 { … … 778 778 779 779 return rc; 780 #endif 781 782 } 783 784 785 786 787 788 789 790 791 792 780 #endif 781 782 } 783 784 785 786 787 788 789 790 791 792 -
trunk/mediafolder/c/mediafldr/mediafolderoverridenwpmethods.cpp
r4 r133 1 1 /* 2 2 * This file is (C) Chris Wohlgemuth 2002 3 * 3 * 4 4 * It's part of the Media-Folder distribution 5 5 */ … … 36 36 /* For calling the method in the CWAudio class. Linking to the DLL would require the 37 37 new audio classes. By dynamically querying the method the media folder works without 38 installing the audio classes. */ 38 installing the audio classes. */ 39 39 #include "cwmmquerytrackinfo.h" 40 40 … … 144 144 while(!(thisPtr->wpQueryFldrFlags() & FOI_POPULATEDWITHALL)) 145 145 DosSleep(300); 146 146 147 147 hwndContainer=WinWindowFromID(tPt->hwndFrame, FID_CLIENT); 148 148 WinSendMsg(hwndContainer,CM_QUERYCNRINFO, MPFROMP(&cnrInfo), 149 149 MPFROMLONG(sizeof(cnrInfo))); 150 150 151 151 /* Get class object of MMAudio. We need it so we can check if a file is an audio file. */ 152 152 if(somIsObj(cwAudioClass)) { … … 234 234 char time[200]; 235 235 ULONG ulSecs; 236 236 237 237 if(!methodPtr) 238 238 somhlpQueryCWAudioMethodPtr(this); 239 239 240 240 if(methodPtr){ 241 241 if((fsObject=(WPFileSystem*)cwGetFileSystemObject(Object))!=NULLHANDLE){/* Filesystem object or NULL */ … … 248 248 } 249 249 } 250 } 250 } 251 251 return CWProgFolder::wpDeleteFromContent(Object); 252 252 } … … 265 265 266 266 /* Reregister wpFolder window class on first opening */ 267 /* We need this private code to have some private 267 /* We need this private code to have some private 268 268 window words */ 269 269 if(!g_fRegisteredWindowClass) 270 270 { 271 271 CLASSINFO ci; 272 272 273 273 if(WinQueryClassInfo(WinQueryAnchorBlock(HWND_DESKTOP), 274 274 (PSZ)"wpFolder window", … … 299 299 return NULLHANDLE; 300 300 301 #if 0 301 #if 0 302 302 for(pViewItem=wpFindViewItem(VIEW_ANY, NULLHANDLE); pViewItem; pViewItem=wpFindViewItem(VIEW_ANY, pViewItem)) 303 303 iItemCount+=1; … … 318 318 } 319 319 320 /* Save this ptr */ 320 /* Save this ptr */ 321 321 WinSetWindowULong( hwnd, ulQWP_THISPTR, (ULONG)this); /* Moved from outside the if clause */ 322 322 … … 338 338 ulFlags|=FLAG_ALREADYSIZED; 339 339 } 340 340 341 341 /* Build new menu entries. */ 342 342 myFrameCtrlHWND=WinWindowFromID(hwnd,FID_MENU);//Get menu hwnd … … 388 388 iItemCount=(int)WinSendMsg(myFrameCtrlHWND,MM_QUERYITEMCOUNT,(MPARAM)0, 389 389 (MPARAM)0); 390 390 391 391 /* Fill the MENUITEM structure */ 392 392 mi.iPosition=iItemCount-1; 393 393 mi.afStyle=MIS_TEXT|MIS_SUBMENU; 394 394 mi.id=ID_MBMENUSKRIPTS; 395 mi.afAttribute=NULL; 395 mi.afAttribute=NULL; 396 396 mi.hwndSubMenu=hwndMenu; 397 397 mi.hItem=NULL; … … 400 400 getMessage(text, IDSTR_MENUSKRIPTS,sizeof(text), hResource, hwnd); 401 401 WinSendMsg(myFrameCtrlHWND,MM_INSERTITEM,MPFROMP(&mi), 402 (MPARAM)text); 402 (MPARAM)text); 403 403 }/* end of if(hwndMenu) */ 404 404 } … … 422 422 the procedure saves this pointer for later use. */ 423 423 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,topCtrlDialogProc,hResource,IDDLG_TOPFRAME ,this); 424 /* Save the HWND in the Window words */ 424 /* Save the HWND in the Window words */ 425 425 WinSetWindowULong( hwnd, ulQWL_TOPCTRLHWND, myFrameCtrlHWND); 426 426 … … 431 431 is always the width of the folder. */ 432 432 sizel.cy=allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy; 433 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 433 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 434 434 FCTL_TOP means put it at the top of the folder. 435 435 After calling cwUpdateFrame(hwnd) it will be visible */ … … 442 442 the procedure saves this pointer for later use. */ 443 443 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,leftCtrlDialogProc,hResource,IDDLG_LEFTFRAME ,this); 444 /* Save the HWND in the Window words */ 444 /* Save the HWND in the Window words */ 445 445 WinSetWindowULong( hwnd, ulQWL_LEFTCTRLHWND, myFrameCtrlHWND); 446 446 447 447 if(myFrameCtrlHWND){ 448 448 /* Query the size of the dialog */ … … 450 450 /* It's the right dialog so we need the width but not the height. */ 451 451 sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;//rectl.xRight-rectl.xLeft; 452 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 452 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 453 453 FCTL_RIGHT means put it at the RIGHT of the folder. 454 454 After calling cwUpdateFrame(hwnd) it will be visible */ … … 460 460 the procedure saves this pointer for later use. */ 461 461 myFrameCtrlHWND=WinLoadDlg(hwnd,hwnd,rightCtrlDialogProc,hResource,IDDLG_FRAMERIGHT ,this); 462 /* Save the HWND in the Window words */ 462 /* Save the HWND in the Window words */ 463 463 WinSetWindowULong( hwnd, ulQWL_RIGHTCTRLHWND, myFrameCtrlHWND); 464 464 465 465 if(myFrameCtrlHWND){ 466 466 CNRINFO cnrInfo; 467 HWND hwndContainer; 467 HWND hwndContainer; 468 468 PVIEWITEM pView; 469 469 … … 472 472 /* It's the right dialog so we need the width but not the height. */ 473 473 sizel.cx=allBMPs[CTRLIDX_TOPRIGHT].bmpInfoHdr.cx-1-7-2;// rectl.xRight-rectl.xLeft; 474 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 474 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 475 475 FCTL_RIGHT means put it at the RIGHT of the folder. 476 476 After calling cwUpdateFrame(hwnd) it will be visible */ 477 477 cwAddFrameCtl(hwnd, myFrameCtrlHWND, sizel, FCTL_RIGHT, FCTL_POSABOVE|FCTL_POSBELOW); 478 478 479 479 hwndContainer=WinWindowFromID(myFrameCtrlHWND, IDCNR_PLAYLIST); 480 480 WinSendMsg(hwndContainer,CM_QUERYCNRINFO, MPFROMP(&cnrInfo), … … 489 489 /* Save the HWND in the instance data */ 490 490 hwndBottom=myFrameCtrlHWND; 491 /* Save the HWND in the Window words */ 491 /* Save the HWND in the Window words */ 492 492 WinSetWindowULong( hwnd, ulQWL_BOTTOMCTRLHWND, myFrameCtrlHWND); 493 493 494 494 if(hwndBottom){ 495 495 /* Query the size of the dialog */ … … 498 498 sizel.cy=rectl.yTop-rectl.yBottom-2; 499 499 // sizel.cy=allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy; 500 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 500 /* Call a method of CWProgFolder to add the dialog as a framecontrol. 501 501 FCTL_TOP means put it at the top of the folder. 502 502 After calling cwUpdateFrame(hwnd) it will be visible */ … … 526 526 SysWriteToTrapLog("\nTrap occured in %s, file: %s above line %d.\n", 527 527 __FUNCTION__, __FILE__, __LINE__); 528 528 529 529 } END_CATCH; 530 530 } … … 543 543 QMSG qmsg; 544 544 CWMediaFolder *thisPtr; 545 545 546 546 thisPtr=(CWMediaFolder*)arg; //Pointer auf CWMediaFolder-Object 547 547 hab=WinInitialize(0); … … 575 575 bufferSize=sizeof(buffer); 576 576 if(!wpScanSetupString(pSetupString, MEDIAFLDR_VOLUME, buffer,&bufferSize)) 577 { 577 { 578 578 ulVolume=70; 579 579 /* Set position of slider bar */ … … 593 593 if(!wpScanSetupString(pSetupString,"ICONVIEWPOS",buffer,&bufferSize)) 594 594 wpSetup( "ICONVIEWPOS=20,10,60,75");/* Fill in defaults */ 595 595 596 596 /* Set folder details- and sortclass to CWAudioShadow so track infos are shown */ 597 597 bufferSize=sizeof(buffer); 598 598 if(!wpScanSetupString(pSetupString,"DETAILSCLASS",buffer,&bufferSize)) 599 599 wpSetup("DETAILSCLASS=CWAudioShadow");/* Fill in defaults */ 600 600 601 601 bufferSize=sizeof(buffer); 602 602 if(!wpScanSetupString(pSetupString,"SORTCLASS",buffer,&bufferSize)) 603 603 wpSetup("SORTCLASS=CWAudioShadow");/* Fill in defaults */ 604 604 605 605 /* This works only on Warp 4 and above */ 606 606 bufferSize=sizeof(buffer); … … 608 608 /* This works only on Warp 4 and above */ 609 609 wpSetup("DETAILSTODISPLAY=0,1,4,12,13,14,15,16,17,18,19,20,21");/* Fill in defaults */ 610 610 611 611 /* This works only on Warp 4 and above */ 612 612 bufferSize=sizeof(buffer); … … 614 614 /* This works only on Warp 4 and above */ 615 615 wpSetup("SORTBYATTR=6,24,25,26,27,28,29,30,31,32,33");/* Fill in defaults */ 616 616 617 617 return rcParent; 618 618 } … … 621 621 { 622 622 PVIEWITEM pViewItem; 623 623 624 624 /* Check if we close a settings view or a folder view. */ 625 625 pViewItem=thisPtr->wpFindViewItem(VIEW_DETAILS|VIEW_CONTENTS, NULLHANDLE); … … 664 664 bufferSize=sizeof(buffer); 665 665 if(wpScanSetupString(pSetupString, MEDIAFLDR_STOP, buffer,&bufferSize)) 666 { 666 { 667 667 HWND hwndFrame=_findOpenMediaFldrViewHWND(this); 668 668 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame)) … … 671 671 bufferSize=sizeof(buffer); 672 672 if(wpScanSetupString(pSetupString, MEDIAFLDR_NEXT, buffer,&bufferSize)) 673 { 673 { 674 674 HWND hwndFrame=_findOpenMediaFldrViewHWND(this); 675 675 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame)) … … 678 678 bufferSize=sizeof(buffer); 679 679 if(wpScanSetupString(pSetupString, MEDIAFLDR_PREV, buffer,&bufferSize)) 680 { 680 { 681 681 HWND hwndFrame=_findOpenMediaFldrViewHWND(this); 682 682 if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), hwndFrame)) … … 687 687 bufferSize=sizeof(buffer); 688 688 if(wpScanSetupString(pSetupString, MEDIAFLDR_VOLUME, buffer,&bufferSize)) 689 { 689 { 690 690 ulVolume=atol(buffer); 691 691 if(ulVolume<0) … … 699 699 bufferSize=sizeof(buffer); 700 700 if(wpScanSetupString(pSetupString, MEDIAFLDR_REPEAT, buffer,&bufferSize)) 701 { 701 { 702 702 switch(atol(buffer)) 703 703 { … … 779 779 ULONG CWMediaFolder::wpAddFolderView1Page(HWND hwndNotebook) 780 780 { 781 /* 781 /* 782 782 Removing this page also means removing the XWorkplace 783 783 view page. It would be possible to call the XWP method … … 836 836 } 837 837 /* 838 838 839 839 Climb up the list of parents to make sure we call the right 840 840 method if the parent was replaced. Otherwise we may skip a replacement class … … 848 848 1, 849 849 __ClassObject-> 850 somGetMethodToken(mySomId)) 851 )(this, hwndNotebook, ppageinfo); 850 somGetMethodToken(mySomId)) 851 )(this, hwndNotebook, ppageinfo); 852 852 SOMFree(mySomId); 853 853 return rc; 854 854 } 855 else 855 else 856 856 return CWProgFolder::wpInsertSettingsPage(hwndNotebook, ppageinfo); 857 857 } … … 886 886 ulPrivFlags&= ~MFLDR_VIEW_COMPACT; 887 887 return rcParent; 888 case ID_MENUVIEWCOMPACT: /* Compact view */ 888 case ID_MENUVIEWCOMPACT: /* Compact view */ 889 889 if(cwShrinkFolderToCompact(hwndFrame)) { 890 890 /* Mark that we are in compact view. May be removed later when 'Compact' … … 950 950 1, 951 951 __ClassObject-> 952 somGetMethodToken(mySomId)) 953 )(this, ulFlags, hwndCnr, fMultiSelect); 952 somGetMethodToken(mySomId)) 953 )(this, ulFlags, hwndCnr, fMultiSelect); 954 954 SOMFree(mySomId); 955 955 return rc & ~( CTXT_TREE | CTXT_ICON); 956 956 } 957 else 957 else 958 958 return CWProgFolder::wpFilterPopupMenu( ulFlags, hwndCnr, fMultiSelect) & ~( CTXT_TREE | CTXT_ICON); 959 959 } … … 970 970 1, 971 971 __ClassObject-> 972 somGetMethodToken(mySomId)) 973 )(this, ulView,pReserved); 972 somGetMethodToken(mySomId)) 973 )(this, ulView,pReserved); 974 974 SOMFree(mySomId); 975 975 } 976 else 976 else 977 977 rc=CWProgFolder::wpRefresh(ulView, pReserved); 978 978 … … 993 993 1, 994 994 __ClassObject-> 995 somGetMethodToken(mySomId)) 996 )(this,hwndNotebook); 995 somGetMethodToken(mySomId)) 996 )(this,hwndNotebook); 997 997 SOMFree(mySomId); 998 998 } 999 else 999 else 1000 1000 rc=CWProgFolder::wpAddSettingsPages(hwndNotebook); 1001 1001 1002 1002 if(!queryResModuleHandle()) { 1003 1003 errorResource(); … … 1011 1011 { 1012 1012 WPObject *wpObject; 1013 WPFileSystem *wpFSObject; 1014 ULONG ulNum; 1015 ULONG a; 1016 MRESULT mr; 1017 SOMClass *mmAudioClass=somhlpQueryMMAudioClass(); 1018 SOMClass *mmMIDIClass=somhlpGetSomClass("MMMIDI"); 1019 SOMClass *cwAudioClass=somhlpGetSomClass("CWAudioShadow"); 1020 1021 1022 mr=MRFROM2SHORT( DOR_DROP, DO_LINK); 1023 ulNum=DrgQueryDragitemCount(pDragInfo);/* Num items */ 1024 1025 if(pDragInfo->usOperation!=DO_DEFAULT && pDragInfo->usOperation!=DO_LINK) 1026 // return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */ 1027 { 1028 /* Only CWAudioShadows may be copied or moved */ 1029 for(a=0;a<ulNum && SHORT1FROMMR(mr)!=DOR_NEVERDROP; a++) 1030 { 1031 /* Check every object dragged */ 1032 wpObject=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, a)->ulItemID); 1033 if(!wpObject->somIsA(cwAudioClass)) 1034 { 1035 return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */ 1036 } 1037 } 1038 return MRFROM2SHORT( DOR_DROP, DO_MOVE);/* */ 1039 return MRFROM2SHORT( DOR_DROP, pDragInfo->usOperation);/* */ 1040 } 1041 1042 1043 for(a=0;a<ulNum && SHORT1FROMMR(mr)!=DOR_NEVERDROP; a++) 1044 { 1045 /* Check every object dragged */ 1046 wpObject=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, a)->ulItemID); 1047 /* Get the filesystem object in case it's a shadow */ 1048 wpFSObject=(WPFileSystem*)cwGetFileSystemObject(wpObject); 1049 if(!somIsObj(wpFSObject)) 1050 return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an object */ 1051 if(!wpFSObject->somIsA(cwAudioClass) && !wpFSObject->somIsA(mmAudioClass) && !wpFSObject->somIsA(mmMIDIClass)) 1052 return MRFROM2SHORT( DOR_NEVERDROP, DO_MOVE);/* It's not an audio object */ 1053 } 1054 /* The following is necessary because for some reason hwndCnr and pDragInfo->hwndSource 1055 are equal when the dragged object resides in the same folder as the target and the target 1056 isn't opened yet. Without this check the dragged object would be moved not linked. */ 1057 if(this->wpQueryFolder()==wpObject->wpQueryFolder()) 1058 return MRFROM2SHORT(DOR_DROP,DO_LINK); 1059 /* Do not create shadows if the source is the current container */ 1060 if(hwndCnr==pDragInfo->hwndSource) 1061 return MRFROM2SHORT( DOR_DROP, DO_MOVE); 1062 1063 return mr; 1013 USHORT usIndicator=DOR_DROP,usOp=DO_LINK; 1014 SOMClass *mmAudioClass = somhlpGetSomClass("MMAudio"); 1015 SOMClass *cdTrackClass = somhlpGetSomClass("MMCDTrack"); 1016 1017 if (DrgAccessDraginfo(pDragInfo)) { 1018 ULONG ulNum=DrgQueryDragitemCount(pDragInfo);/* Num items */ 1019 ULONG a=0; 1020 1021 for(a=0;a<ulNum; a++) 1022 { 1023 PDRAGITEM pDragItem = DrgQueryDragitemPtr(pDragInfo,a); 1024 if (!DrgVerifyRMF(pDragItem,"DRM_OBJECT","DRF_OBJECT")) { 1025 usIndicator = DOR_NEVERDROP; 1026 usOp = 0; 1027 goto quit; 1028 } /* endif */ 1029 /* Check every object dragged */ 1030 wpObject=(WPObject*)OBJECT_FROM_PREC(pDragItem->ulItemID); 1031 if (!somIsObj(wpObject) || !wpObject->somIsA(mmAudioClass) || wpObject->somIsA(cdTrackClass)) { 1032 usIndicator = DOR_NEVERDROP; 1033 usOp = 0; 1034 goto quit; 1035 } /* endif */ 1036 #if 0 1037 if (somIsObj(wpObject) && this->wpQueryFolder() == wpObject->wpQueryFolder()) { 1038 usIndicator = DOR_DROP; 1039 usOp = DO_LINK; 1040 } /* endif */ 1041 #endif 1042 } 1043 /* Do not create shadows if the source is the current container */ 1044 if(hwndCnr==pDragInfo->hwndSource) { 1045 usIndicator = DOR_DROP; 1046 usOp = DO_MOVE; 1047 } 1048 1049 quit: 1050 DrgFreeDraginfo(pDragInfo); 1051 } /* endif */ 1052 1053 return MRFROM2SHORT(usIndicator,usOp); 1064 1054 } 1065 1055 … … 1078 1068 return; 1079 1069 thisPtr=(CWMediaFolder*)threadParams->thisPtr; //Pointer auf CWMediaFolder-Object 1080 1070 1081 1071 if(!somIsObj(thisPtr)) 1082 1072 return; 1083 1073 1084 1074 if(thisPtr->mfData) 1085 1075 thisPtr->mfData->bProcessing=TRUE; 1086 1076 1087 1077 hab=WinInitialize(0); 1088 1078 if(hab) { … … 1097 1087 /* Needed for specifying the drop point */ 1098 1088 POINTL ptl; 1099 PMINIRECORDCORE pmrc; 1089 PMINIRECORDCORE pmrc; 1100 1090 CNRINFO cnrInfo; 1101 1091 int ID; … … 1109 1099 hwndSource=threadParams->hwndSource; 1110 1100 ulNumObjects=threadParams->ulNumObjects; 1111 1101 1112 1102 if((mySomId=somIdFromString(SHADOW_CLASS_NAME))!=NULLHANDLE) { 1113 1103 WPFileSystem *wpFSObject; … … 1121 1111 ptl.x=threadParams->ptl.x; 1122 1112 ptl.y=threadParams->ptl.y; 1123 1113 1124 1114 /* Map to CNR */ 1125 1115 WinMapWindowPoints(HWND_DESKTOP, hwndCnr,&ptl, 1); 1126 ptl.y+=10; 1116 ptl.y+=10; 1127 1117 /* Window below the mouse ptr. We need it to check if we are over the column title area. */ 1128 1118 ID=WinQueryWindowUShort(WinWindowFromPoint(hwndCnr,&ptl, TRUE),QWS_ID); 1129 1119 ptl.y-=10; 1130 1120 1131 1121 /* Find the record near the drop point */ 1132 1122 qRecRcl.cb=sizeof(qRecRcl); … … 1138 1128 pmrc=(PMINIRECORDCORE)WinSendMsg(hwndCnr, CM_QUERYRECORDFROMRECT,MPFROMLONG(CMA_FIRST), 1139 1129 MPFROMP(&qRecRcl)); 1140 WinSendMsg(hwndCnr, CM_QUERYCNRINFO, MPFROMP(&cnrInfo), MPFROMSHORT(sizeof(cnrInfo))); 1130 WinSendMsg(hwndCnr, CM_QUERYCNRINFO, MPFROMP(&cnrInfo), MPFROMSHORT(sizeof(cnrInfo))); 1141 1131 }/*if(hwndSource!=hwndCnr)*/ 1142 1143 /* For all dropped objects */ 1132 1133 /* For all dropped objects */ 1144 1134 for(ulCount=0; ulCount<ulNumObjects; ulCount++) { 1145 1135 if(ulCount%10)/* Redraw window every 10 objects */ … … 1147 1137 else 1148 1138 WinEnableWindowUpdate(hwndCnr, TRUE); 1149 1139 1150 1140 wpObject=(WPObject*) threadParams->wpObject[ulCount]; 1151 1141 /* Get the filesystem object in case it's a shadow */ … … 1161 1151 /* Detailsview */ 1162 1152 RECORDINSERT recInsert; 1163 1153 1164 1154 recInsert.cb=sizeof(recInsert); 1165 1155 recInsert.pRecordParent=NULL; … … 1167 1157 recInsert.zOrder=CMA_TOP; 1168 1158 recInsert.cRecordsInsert=1; 1169 1159 1170 1160 // WinEnableWindowUpdate(hwndCnr, FALSE); 1171 1161 /* Create the shadow */ … … 1212 1202 __FUNCTION__, __FILE__, __LINE__); 1213 1203 } END_CATCH; 1214 1204 1215 1205 WinDestroyMsgQueue(hmq); 1216 1206 } … … 1219 1209 if(thisPtr->mfData) 1220 1210 thisPtr->mfData->bProcessing=FALSE; 1221 1211 1222 1212 thisPtr->wpFreeMem((PBYTE)threadParams); 1223 1213 } … … 1227 1217 MRESULT CWMediaFolder::wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem) 1228 1218 { 1229 WPObject *wpObject; 1230 somId mySomId; 1231 M_WPObject *mAudioObject; 1232 SOMClass* scCWShadowClass; 1233 ULONG ulCount; 1234 ULONG ulNumObjects=DrgQueryDragitemCount(pDragInfo); 1235 1236 /* Needed for specifying the drop point */ 1237 POINTL ptl; 1238 PMINIRECORDCORE pmrc; 1239 CNRINFO cnrInfo; 1240 int ID; 1241 1242 /* The objects are already checked by the wpDragOver() method. */ 1243 TRY_LOUD(MEDIAFLDR_DROP) { 1244 PDROPTHREADPARAMS pThreadParams; 1245 ULONG ulErr; 1246 WPObject* wpObj; 1247 1248 /* DROPTHREADPARAMS already contains one WPObject var so only memory for ulNumObjects-1 must be added to the end */ 1249 pThreadParams=(PDROPTHREADPARAMS)wpAllocMem(sizeof(DROPTHREADPARAMS)+(ulNumObjects-1)*sizeof(WPObject*), &ulErr); 1250 pThreadParams->hwndCnr=hwndCnr; 1251 pThreadParams->hwndSource=pDragInfo->hwndSource; 1252 pThreadParams->ulNumObjects=DrgQueryDragitemCount(pDragInfo); 1253 pThreadParams->thisPtr=this; 1254 pThreadParams->ptl.x=pDragInfo->xDrop; 1255 pThreadParams->ptl.y=pDragInfo->yDrop; 1256 1257 /* For all dropped objects */ 1258 for(ulCount=0;ulCount<ulNumObjects ; ulCount++) { 1259 pThreadParams->wpObject[ulCount]=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, ulCount)->ulItemID); 1260 } 1261 _beginthread(dropThreadFunc,NULL,8192*16,(void*)pThreadParams); //Fehlerbehandlung fehlt 1219 if (DrgAccessDraginfo(pDragInfo)) { 1220 /* The objects are already checked by the wpDragOver() method. */ 1221 TRY_LOUD(MEDIAFLDR_DROP) { 1222 PDROPTHREADPARAMS pThreadParams; 1223 ULONG ulErr; 1224 ULONG ulCount; 1225 ULONG ulNumObjects=DrgQueryDragitemCount(pDragInfo); 1226 1227 /* DROPTHREADPARAMS already contains one WPObject var so only memory for ulNumObjects-1 must be added to the end */ 1228 pThreadParams=(PDROPTHREADPARAMS)wpAllocMem(sizeof(DROPTHREADPARAMS)+(ulNumObjects-1)*sizeof(WPObject*), &ulErr); 1229 pThreadParams->hwndCnr=hwndCnr; 1230 pThreadParams->hwndSource=pDragInfo->hwndSource; 1231 pThreadParams->ulNumObjects=ulNumObjects; 1232 pThreadParams->thisPtr=this; 1233 pThreadParams->ptl.x=pDragInfo->xDrop; 1234 pThreadParams->ptl.y=pDragInfo->yDrop; 1235 1236 /* For all dropped objects */ 1237 for(ulCount=0;ulCount<ulNumObjects ; ulCount++) { 1238 pThreadParams->wpObject[ulCount]=(WPObject*)OBJECT_FROM_PREC(DrgQueryDragitemPtr( pDragInfo, ulCount)->ulItemID); 1239 } 1240 _beginthread(dropThreadFunc,NULL,8192*16,(void*)pThreadParams); //Fehlerbehandlung fehlt 1241 } 1242 CATCH(MEDIAFLDR_DROP) 1243 { 1244 SysWriteToTrapLog("\nTrap occured in %s, file: %s, around line %d.\n", 1245 __FUNCTION__, __FILE__, __LINE__); 1246 } END_CATCH; 1247 DrgFreeDraginfo(pDragInfo); 1262 1248 } 1263 CATCH(MEDIAFLDR_DROP) 1264 { 1265 SysWriteToTrapLog("\nTrap occured in %s, file: %s, around line %d.\n", 1266 __FUNCTION__, __FILE__, __LINE__); 1267 } END_CATCH; 1268 1269 DrgFreeDraginfo(pDragInfo); 1270 return (MRESULT)RC_DROP_DROPCOMPLETE; 1249 return MRFROMLONG(RC_DROP_DROPCOMPLETE); 1271 1250 } 1272 1251 … … 1368 1347 /* Start a timer which will cause the folder to close automatically after some time even 1369 1348 if the user doesn't click any button. Get the timeout from the INI file if available. */ 1370 if((lDelay=PrfQueryProfileInt(HINI_USERPROFILE, "CWMM", MFLDR_TIMER_DELAY_KEY, MFLDR_MBOX_TIMER_DELAY)) 1349 if((lDelay=PrfQueryProfileInt(HINI_USERPROFILE, "CWMM", MFLDR_TIMER_DELAY_KEY, MFLDR_MBOX_TIMER_DELAY)) 1371 1350 < MFLDR_MBOX_MIN_TIMER_DELAY) 1372 1351 lDelay=MFLDR_MBOX_MIN_TIMER_DELAY; … … 1383 1362 } 1384 1363 } 1385 cwStopAudioFile(hwndFrame); 1364 cwStopAudioFile(hwndFrame); 1386 1365 /* Stop the playing thread */ 1387 1366 WinPostMsg(mfData->hwndPlayObject, WM_QUIT, 0, 0); -
trunk/mediafolder/include/m3ufolder.hh
r51 r133 28 28 HWND hwndFrame; 29 29 BOOL fSaveOnly; 30 }M3UTHREADPARMS; 30 }M3UTHREADPARMS; 31 31 32 32 #pragma SOMAsDefault(on) … … 48 48 virtual BOOL wpclsQueryDefaultHelp(PULONG HelpPanelId,PSZ HelpLibrary); 49 49 virtual BOOL wpclsCreateDefaultTemplates(WPObject * wpObject); 50 /* 50 /* 51 51 virtual void wpclsUnInitData(); 52 52 … … 76 76 virtual ULONG wpFilterPopupMenu(ULONG ulFlags, HWND hwndCnr, BOOL fMultiSelect); 77 77 virtual BOOL wpModifyPopupMenu(HWND hwndMenu, HWND hwndCnr, ULONG ulPosition); 78 virtual MRESULT wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem);79 78 #if 0 80 79 virtual BOOL wpRestoreState(ULONG ulReserved); -
trunk/mediafolder/include/mediafolder.hh
r4 r133 84 84 USEITEM useItem; 85 85 VIEWITEM viewItem; 86 }MYVIEWITEM; 86 }MYVIEWITEM; 87 87 88 88 typedef struct … … 115 115 WPObject* thisPtr; 116 116 char chrRexxScript[CCHMAXPATH]; 117 }INSERTTRACKPARMS; 117 }INSERTTRACKPARMS; 118 118 119 119 typedef struct _MEDIAFLDRDATA … … 129 129 int iNumPlayed; /* # of random played tracks */ 130 130 int iNumToPlay; 131 HWND hwndPlayObject;/* Object window which handles the play commands so the WPS is not blocked. */ 131 HWND hwndPlayObject;/* Object window which handles the play commands so the WPS is not blocked. */ 132 132 }MEDIAFLDRDATA; 133 133 typedef MEDIAFLDRDATA* PMEDIAFLDRDATA; … … 203 203 #pragma SOMCallstyle(oidl) 204 204 private: 205 /* 205 /* 206 206 Added with V0.2.8 (07.09.2003) 207 207 … … 209 209 210 210 Tells the folder: 211 MFLDR_CURACTION_ADDFOLDERVIEW3: currently processing the wpAddFolderView3Page() 211 MFLDR_CURACTION_ADDFOLDERVIEW3: currently processing the wpAddFolderView3Page() 212 212 MFLDR_VIEW_COMPACT: folder is in compact view 213 213 … … 222 222 WPObject* currentObject; /* Currently playing object */ 223 223 PMINIRECORDCORE mrcPlaying; 224 MYVIEWITEM myViewItem; 224 MYVIEWITEM myViewItem; 225 225 226 226 HWND hwndTopMiddle;/* */ … … 262 262 virtual BOOL wpSaveState(); 263 263 virtual MRESULT wpDragOver(HWND hwndCnr,PDRAGINFO pDragInfo); 264 virtual MRESULT wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem); 264 virtual MRESULT wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem); 265 265 virtual BOOL wpAddSettingsPages(HWND hwndNotebook); 266 266 virtual ULONG wpInsertSettingsPage(HWND hwndNotebook, PPAGEINFO ppageinfo); -
trunk/mediafolder/makefile
r104 r133 12 12 13 13 CMNINC = $(COMMONSRC)/include 14 CLSINC = $(COMMONSRC)/../classes/include 14 15 15 16 HELPERDIR = ./c/helper … … 25 26 # 26 27 ####################################### 27 COMPILE = $(CC) $(CPPFLAGS) /C+ -I$(INC) -I$(CMNINC) /Fo$@ $<28 COMPILE = $(CC) $(CPPFLAGS) /C+ -I$(INC) -I$(CMNINC) -I$(CLSINC) /Fo$@ $< 28 29 29 30 ####################################### … … 163 164 ####################################### 164 165 $(INC)/cwaudio.hh: ../classes/idl/idl_audio/cwaudio.idl 165 sc -shh -S 64000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes $<166 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $< 166 167 167 168 $(INC)/cwcdtrack.hh: ../classes/idl/idl_audio/cwcdtrack.idl 168 sc -shh -S 64000 -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes $<169 sc -shh -S 100000 -I $(IDLDIR)/idl_audio -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $< 169 170 170 171 $(INC)/cwmmdataf.hh: ../classes/idl/idl_mm/cwmmdataf.idl 171 sc -shh -S 64000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes $<172 sc -shh -S 100000 -I $(IDLDIR)/idl_mm -dinclude -m noqualifytypes -musexhpass $< 172 173 173 174 -
trunk/mediafolder/res/makefile
r104 r133 56 56 clean: 57 57 -cd $(OBJDIR) && rm * 58 -rm *. res58 -rm *.RES 59 59 60 60 cleaner: -
trunk/nlv/de/classes/res/makefile
r4 r133 35 35 -rm *.*~ 36 36 -rm *.flc 37 -rm *. res37 -rm *.RES 38 38 -rm *.obj -
trunk/stream_ioproc/source/makefile
r4 r133 97 97 -rm *.obj 98 98 -rm *.dll 99 -rm *. res99 -rm *.RES 100 100 -rm *.*~ 101 101 -rm *.map
Note:
See TracChangeset
for help on using the changeset viewer.