Ignore:
Timestamp:
Oct 2, 2023, 11:34:35 PM (23 months ago)
Author:
gyoung
Message:

Remaining changes from merge with Lars 2.9 branch

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/classes/mm-progs/MMPlayer/mmplayer.c

    r46 r104  
    2121 * If you need another license for your project/product (commercial,
    2222 * noncommercial, whatever) contact me at
    23  * 
     23 *
    2424 * http://www.os2world.com/cdwriting
    2525 * http://www.geocities.com/SiliconValley/Sector/5785/
     
    5252#include "sys_funcs.h"
    5353
    54 #ifndef OPEN_DEFAULT 
     54#ifndef OPEN_DEFAULT
    5555/*  Open views for the wpOpen() method */
    5656
     
    135135
    136136/* Every folder has one running play thread to handle play commands */
    137 void _Optlink playThreadFunc (void *arg);
     137void playThreadFunc (void *arg);
    138138void controlPlaying(HWND hwndDialog, ULONG ulAction, ULONG ulReserved);
    139139BOOL stopAudioFile(HWND hwndFrame);
     
    211211  WinQueryPointerPos(HWND_DESKTOP, &ptl) ;
    212212  WinMapWindowPoints(HWND_DESKTOP,hwnd,&ptl,1);
    213   WinPopupMenu(hwnd, hwnd, hwndPopup, 
     213  WinPopupMenu(hwnd, hwnd, hwndPopup,
    214214               ptl.x, ptl.y, 0, PU_HCONSTRAIN | PU_VCONSTRAIN |
    215                PU_KEYBOARD | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2 | PU_NONE  ); 
    216  
     215               PU_KEYBOARD | PU_MOUSEBUTTON1 | PU_MOUSEBUTTON2 | PU_NONE  );
     216
    217217}
    218218
     
    227227  hResource=BMP_RESSOURCEHANDLE; //_queryResModuleHandle();
    228228  hps=WinGetPS(HWND_DESKTOP);
    229  
     229
    230230  /* The main BMP */
    231231  allBMPs[MAIN_BMP_IDX].hbm=GpiLoadBitmap(hps, hResource, IDBMP_TOPMIDDLE, 0, 0);
     
    327327  WinSetWindowPos(WinWindowFromID(hwnd, ci.id),HWND_TOP, ci.rclSource.xLeft,ci.rclSource.yBottom,
    328328                  ci.rclSource.xRight-ci.rclSource.xLeft,
    329                   ci.rclSource.yTop-ci.rclSource.yBottom, SWP_MOVE|SWP_SIZE); 
     329                  ci.rclSource.yTop-ci.rclSource.yBottom, SWP_MOVE|SWP_SIZE);
    330330  oldPlayTimeProc=WinSubclassWindow(WinWindowFromID(hwnd, IDST_MMPLAYERPLAYTIME), playTimeTextProc);
    331331
    332332  /* Pos slider */
    333333  ci=ciControls[CTRLIDX_POSSLIDER];//ciPosSlider;
    334   WinCreateWindow(hwnd, SLIDER_CLASS, "", WS_VISIBLE | WS_TABSTOP, 0,0, 10, 10, 
     334  WinCreateWindow(hwnd, SLIDER_CLASS, "", WS_VISIBLE | WS_TABSTOP, 0,0, 10, 10,
    335335                  hwnd, HWND_TOP, ci.id, NULLHANDLE, NULLHANDLE);
    336336  WinSetWindowPos(WinWindowFromID(hwnd, ci.id),HWND_TOP, ci.rclDest.xLeft, ci.rclDest.yBottom,
    337337                  ci.rclSource.xRight-ci.rclSource.xLeft,
    338338                  ci.rclSource.yTop-ci.rclSource.yBottom, SWP_MOVE | SWP_SIZE);
    339  
     339
    340340  WinSendMsg(WinWindowFromID(hwnd, ci.id),SLM_SETSLIDERINFO,
    341341             MPFROM2SHORT(SMA_SLIDERARMDIMENSIONS,0),
    342              MPFROM2SHORT( 9, 9)); 
     342             MPFROM2SHORT( 9, 9));
    343343
    344344  /* Vol slider */
    345345  ci=ciControls[CTRLIDX_VOLSLIDER];//ciVolSlider;
    346   WinCreateWindow(hwnd, SLIDER_CLASS, "", WS_VISIBLE | WS_TABSTOP, 0,0, 10, 10, 
     346  WinCreateWindow(hwnd, SLIDER_CLASS, "", WS_VISIBLE | WS_TABSTOP, 0,0, 10, 10,
    347347                  hwnd, HWND_TOP, ci.id, NULLHANDLE, NULLHANDLE);
    348348  WinSetWindowPos(WinWindowFromID(hwnd, ci.id),HWND_TOP, ci.rclDest.xLeft, ci.rclDest.yBottom,
     
    351351  WinSendMsg(WinWindowFromID(hwnd, ci.id),SLM_SETSLIDERINFO,
    352352             MPFROM2SHORT(SMA_SLIDERARMDIMENSIONS,0),
    353              MPFROM2SHORT( 9, 9)); 
     353             MPFROM2SHORT( 9, 9));
    354354
    355355}
     
    370370  if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
    371371    /* Problem with MCI. Clean up. The Timer will be stopped in the method */
    372     stopAudioFile(hwndFrame); 
     372    stopAudioFile(hwndFrame);
    373373  }
    374374  else {
    375375    if(!stricmp(retMsg, "stopped")) {
    376376      /* Audio file played. */
    377       stopAudioFile(hwndFrame); 
     377      stopAudioFile(hwndFrame);
    378378    }
    379379    showPlayTimeDisplay(hwndFrame, TRUE);/* Ensure display is visible */
     
    391391      return usItems;
    392392    }
    393  
     393
    394394  return 0;
    395395}
     
    397397BOOL DrgVerifyTypeCW(PDRAGITEM pDragItem, char * chrType)
    398398{
    399   /* DrgVerifyType() seems not to work when several types are in the list?? 
     399  /* DrgVerifyType() seems not to work when several types are in the list??
    400400     Dokumentation says, it works... */
    401401  /* Only check for a single type for now */
     
    467467    for(ulHash=0;*theString!='\0'; theString++)
    468468      ulHash=*theString+37*ulHash;
    469  
     469
    470470  return ulHash%HASHSIZE;
    471471}
     
    538538MRESULT handleDrag0ver(PDRAGINFO pdi, HWND hwnd)
    539539{
    540  
     540
    541541  /* Only accept one file */
    542542  if(DrgGetNumObjects(pdi)!=1) {
     
    546546  if(DrgCheckForKnownType(pdi, hwnd))
    547547    return MRFROM2SHORT(DOR_DROP, DO_COPY);
    548  
    549   return MRFROM2SHORT(DOR_NEVERDROP, DO_COPY); 
     548
     549  return MRFROM2SHORT(DOR_NEVERDROP, DO_COPY);
    550550}
    551551
     
    562562      char chrFile[CCHMAXPATH];
    563563      PDRAGITEM pDragItem;
    564      
     564
    565565      pDragItem=DrgQueryDragitemPtr(pdi, 0);
    566       DrgQueryStrName(pDragItem->hstrSourceName,sizeof(chrFile), chrFile); 
    567       DrgQueryStrName(pDragItem->hstrContainerName,sizeof(chrSourceName), chrSourceName); 
     566      DrgQueryStrName(pDragItem->hstrSourceName,sizeof(chrFile), chrFile);
     567      DrgQueryStrName(pDragItem->hstrContainerName,sizeof(chrSourceName), chrSourceName);
    568568      strcat(chrSourceName, chrFile);
    569      
     569
    570570      /* Start new file */
    571571      controlPlaying(hwnd, PLAY_FIRST, 0);
     
    608608             MPFROM2SHORT(SC_SIZE, TRUE),
    609609             MPFROMP(NULL));
    610  
     610
    611611  WinSendMsg(hwndMenu, /* Delete Minimize from the system menu */
    612612             MM_DELETEITEM,
    613613             MPFROM2SHORT(SC_MINIMIZE, TRUE),
    614614             MPFROMP(NULL));
    615  
     615
    616616  WinSendMsg(hwndMenu, /* Delete Maximize from the system menu */
    617617             MM_DELETEITEM,
     
    648648
    649649  switch (msg)
    650     {     
     650    {
    651651    case DM_DRAGOVER:
    652652      {
     
    676676        swctl.fbJump=SWL_JUMPABLE;
    677677        WinAddSwitchEntry(&swctl);
    678        
     678
    679679        adjustDialogControlPos(hwnd);
    680        
     680
    681681        /* Set volume slider*/
    682682        WinSendMsg( WinWindowFromID(hwnd, IDSL_MMPLAYERVOLUME),
     
    684684                    MPFROM2SHORT(SMA_SLIDERARMPOSITION,SMA_INCREMENTVALUE),
    685685                    MPFROMLONG( ulVolume));
    686        
     686
    687687        /* Subclass buttons for DnD */
    688688        orgButtonProc=WinSubclassWindow(WinWindowFromID(hwnd, IDPB_MMPLAYERPLAY), buttonProc);
    689689        WinSubclassWindow(WinWindowFromID(hwnd, IDPB_MMPLAYERPAUSE), buttonProc);
    690690        WinSubclassWindow(WinWindowFromID(hwnd, IDPB_MMPLAYERSTOP), buttonProc);
    691                
     691
    692692        FixSysMenu(hwnd);
    693693
     
    695695        if(allBMPs[MAIN_BMP_IDX].hbm) {
    696696          SWP swp;
    697          
    698           WinQueryWindowPos(WinWindowFromID(hwnd, FID_TITLEBAR), &swp);         
    699           WinSetWindowPos(WinWindowFromID(hwnd, ID_CLIENT), NULLHANDLE, 
    700                           WinQuerySysValue(HWND_DESKTOP, SV_CXDLGFRAME), 
    701                           WinQuerySysValue(HWND_DESKTOP, SV_CYDLGFRAME), 
     697
     698          WinQueryWindowPos(WinWindowFromID(hwnd, FID_TITLEBAR), &swp);
     699          WinSetWindowPos(WinWindowFromID(hwnd, ID_CLIENT), NULLHANDLE,
     700                          WinQuerySysValue(HWND_DESKTOP, SV_CXDLGFRAME),
     701                          WinQuerySysValue(HWND_DESKTOP, SV_CYDLGFRAME),
    702702                          allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cx,
    703703                          allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cy,
    704704                          SWP_SIZE|SWP_MOVE);
    705705          orgBgProc=WinSubclassWindow(WinWindowFromID(hwnd, ID_CLIENT), bgProc);
    706          
     706
    707707          WinSetWindowPos(hwnd, NULLHANDLE, 0, 0,
    708708                          allBMPs[MAIN_BMP_IDX].bmpInfoHdr.cx+WinQuerySysValue(HWND_DESKTOP, SV_CXDLGFRAME)*2,
     
    732732      /*****************************************************/
    733733    case WM_APPTERMINATENOTIFY:
    734      
     734
    735735      switch(SHORT1FROMMP(mp1))
    736736        {
     
    745745          return MRFALSE;
    746746        case NOTIFY_CONTEXT:
    747           /* Show context menu. */           
     747          /* Show context menu. */
    748748          HlpContextMenu(hwnd, iWhichDisplay+ID_MENUITEMELAPSED, TRUE);
    749749          return MRFALSE;
     
    752752        }
    753753      return MRFALSE;
    754      
     754
    755755      /*****************************************************/
    756756      /* The following two messages are for device sharing */
     
    760760        char chrCommand[100];
    761761        int iWavePriv;
    762    
     762
    763763        iWavePriv=ulPid;
    764764
     
    791791      /* SETPOSITIONADVICE does not work for some reason,  */
    792792      /* so a timer is used. Yes, it's quit cumbersome...  */
    793       /*****************************************************/ 
     793      /*****************************************************/
    794794    case WM_TIMER:
    795795      if(SHORT1FROMMP(mp1)==IDTIMER_PLAY) {
     
    812812            /* Set slider position */
    813813
    814             WinPostMsg( WinWindowFromID(hwnd, IDSL_MMPLAYERPOSBAR), 
     814            WinPostMsg( WinWindowFromID(hwnd, IDSL_MMPLAYERPOSBAR),
    815815                        SLM_SETSLIDERINFO,
    816816                        MPFROM2SHORT(SMA_SLIDERARMPOSITION,SMA_INCREMENTVALUE),
     
    898898        default:
    899899          break;
    900         }             
     900        }
    901901      break;
    902902
     
    909909        char chrCommand[50];
    910910        char retMsg[20];
    911        
     911
    912912        switch(SHORT2FROMMP(mp1))
    913913          {
     
    939939                      static long lLastPos=0;
    940940                      long lPos=LONGFROMMP(mp2);
    941              
     941
    942942                      bPosDragging=TRUE;
    943943                      lPos*=ulTotalLength/100;
    944944                      if(lPos/1000!=lLastPos) {
    945945                        /* Prevent flickering */
    946                         sprintf(chrCommand, "%d:%02d", lPos/1000/60, (lPos/1000)%60);
     946                        sprintf(chrCommand, "%lu:%02lu", lPos/1000/60, (lPos/1000)%60);
    947947                        WinSetWindowText(WinWindowFromID(hwnd, IDST_MMPLAYERPLAYTIME), chrCommand);
    948948                        lLastPos=lPos/1000;
     
    963963                    {
    964964                      ULONG ulValue;
    965                      
     965
    966966                      ulValue=LONGFROMMP(mp2);
    967967                      ulVolume=ulValue;
     
    975975
    976976                      bPosDragging=FALSE;
    977                       lPos*=1000;                     
     977                      lPos*=1000;
    978978                      lPos*=ulTotalLength/100;
    979979                      lPos/=1000;// Use only full seconds
     
    982982                      seekAudioFile(lPos);
    983983                      /* restart timer */
    984                       WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, IDTIMER_PLAY, PLAYTIMER_DELAY); 
     984                      WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, IDTIMER_PLAY, PLAYTIMER_DELAY);
    985985                      ulPos=lPos/1000;
    986986                      break;
     
    999999      break;
    10001000    }/* switch */
    1001  
     1001
    10021002  return WinDefDlgProc( hwnd, msg, mp1, mp2);
    10031003}
     
    10191019                     ))==NULLHANDLE)
    10201020    return FALSE;
    1021  
     1021
    10221022  ulSize=sizeof(chrFileName);
    1023  
     1023
    10241024  if ((rc = DosOpen(chrFileName, &handle, &act,
    10251025                    0L, 0, OPEN_ACTION_OPEN_IF_EXISTS,
     
    10851085BOOL writeVolumeToIni(char * iniFile, char* chrApp, char *chrKey, ULONG ulVolume)
    10861086{
    1087  
     1087
    10881088  return IniSaveInt(iniFile, chrApp, chrKey, ulVolume);
    10891089}
     
    11081108  if(MMIO_SUCCESS!=mmioIdentifyFile(chrFile, &mmioInfo, &mmFormatInfo, &fourCC, 0,0))
    11091109    {
    1110       return 0; 
     1110      return 0;
    11111111    }
    11121112
    11131113  if(mmFormatInfo.ulMediaType==MMIO_MEDIATYPE_MIDI)
    11141114    return 1; /* Midi */
    1115  
     1115
    11161116  /* Any other audio file */
    11171117  return 2;
     
    11431143  if(hab) {
    11441144    hmq=WinCreateMsgQueue(hab,0);
    1145     if(hmq) { 
    1146       /* Check if user started prog by hand */   
     1145    if(hmq) {
     1146      /* Check if user started prog by hand */
    11471147      if(argc!=NUMPARAMS) {/* Not the right num of params */
    11481148        pmUsage();
     
    11611161          {
    11621162            /* FIXME: Identify error !!!*/
    1163            
     1163
    11641164          };
    1165        
     1165
    11661166        if(rc==1)
    11671167          {
     
    11761176          strcpy(chrClassName, params[1]);
    11771177
    1178         /* Get our ressource dll */ 
     1178        /* Get our ressource dll */
    11791179        //        RESSOURCEHANDLE=0;
    11801180        RESSOURCEHANDLE=queryResModuleHandle(argv[0]);
     
    11891189        WinRegisterClass(WinQueryAnchorBlock(HWND_DESKTOP), SLIDER_CLASS, privateSliderProc,0, SLADDBYTES);
    11901190
    1191         _loadBmps();       
     1191        _loadBmps();
    11921192        DosGetInfoBlocks(&ptib, &ppib);
    11931193        ulPid=ppib->pib_ulpid;
    11941194        _beginthread(playThreadFunc,NULL,8192*16, NULLHANDLE); //Fehlerbehandlung fehlt
    11951195
    1196         if( WinDlgBox( HWND_DESKTOP, NULLHANDLE, decodeStatusDialogProc, 
     1196        if( WinDlgBox( HWND_DESKTOP, NULLHANDLE, decodeStatusDialogProc,
    11971197                       RESSOURCEHANDLE, IDDLG_MMPLAYER, 0) == DID_ERROR )
    11981198          {
    11991199            /*
    1200               Text:   
    1201               Title:  "Installation problem"                       
    1202               */             
     1200              Text:
     1201              Title:  "Installation problem"
     1202              */
    12031203            messageBox( text, IDSTR_CONVERTDIALOGERROR , sizeof(text),
    12041204                        title, IDSTR_INSTALLERRORTITLE , sizeof(title),
Note: See TracChangeset for help on using the changeset viewer.