home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1999 November / PCONLINE_11_99.ISO / filesbbs / OS2 / ACDCR032.ZIP / source / audiofolder.hh < prev    next >
Encoding:
Text File  |  1999-08-08  |  9.0 KB  |  280 lines

  1. /*
  2.  * This file is (C) Chris Wohlgemuth 1999
  3.  */
  4. /*
  5.  * This program is free software; you can redistribute it and/or modify
  6.  * it under the terms of the GNU General Public License as published by
  7.  * the Free Software Foundation; either version 2, or (at your option)
  8.  * any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13.  * GNU General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU General Public License
  16.  * along with this program; see the file COPYING.  If not, write to
  17.  * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  18.  */
  19. #define INCL_DOS
  20. #define INCL_WIN
  21.  
  22. #include <os2.h>
  23.  
  24. #define SHAREDMEM_SIZE 8092
  25. #define STATUS_LENGTH 200
  26.  
  27. #pragma SOMAsDefault(on)
  28. #include <som.hh>
  29. #include <somcls.hh>
  30. #pragma SOMNoMangling(on)
  31. #include "miscfolder\progfolder.h"
  32. #include "miscfolder\progfolder.hh"
  33. #include "audiofolder.h"
  34.  
  35. class M_CWAudioFolder:public M_CWProgFolder
  36. {
  37. /* The name of of the new class */
  38. #pragma SOMClassName(*,"M_CWAudioFolder")
  39. /* Required SOM version */
  40. #pragma SOMClassVersion(*,1,2)
  41. #pragma SOMCallstyle(oidl)
  42. public:
  43.     virtual PSZ  wpclsQueryTitle();
  44.     virtual    ULONG wpclsQueryIconData(PICONINFO pIconInfo);
  45.     virtual    ULONG wpclsQueryStyle();
  46.     virtual BOOL wpclsQueryDefaultHelp(PULONG HelpPanelId,PSZ HelpLibrary);
  47.     
  48. #pragma SOMReleaseOrder()
  49. };
  50.  
  51. class CWAudioFolder:public CWProgFolder
  52. {
  53. #pragma SOMClassName(*,"CWAudioFolder")
  54. #pragma SOMMetaClass(CWAudioFolder,"M_CWAudioFolder")
  55. #pragma SOMClassVersion(CWAudioFolder,1,2)
  56. #pragma SOMCallstyle(oidl)
  57. private:
  58.   ULONG ulWriteFlags;
  59.   BOOL bGrabEnabled;
  60.   BOOL bWriteEnabled;
  61. public:        
  62.   BOOL bShowGrab;
  63.   HWND hwndGrab;
  64.   HWND hwndWrite;
  65.   HWND hwndStatus;
  66.   HWND hwndSelect;
  67.   HWND hwndStatusFrameCtl;
  68.   HWND hwndWriteStatus;
  69.   HWND hwndWriteLB;
  70.   ULONG ulTrackSize;
  71.     
  72.   SHORT a;
  73.   int b;
  74.   int numTracks;
  75.   int tid;
  76.   int tidWrite;
  77.   int aWrite;
  78.   int bWrite;
  79.   virtual void wpInitData();
  80.   virtual BOOL wpMenuItemHelpSelected(ULONG MenuId);
  81.   virtual ULONG wpFilterPopupMenu(ULONG ulFlags, HWND hwndCnr, BOOL fMultiSelect);
  82.   virtual BOOL wpModifyPopupMenu(HWND hwndMenu, HWND hwndCnr, ULONG ulPosition);
  83.   virtual BOOL wpMenuItemSelected(HWND hwndFrame,ULONG ulMenuId);
  84.   virtual ULONG wpAddFolderView2Page(HWND hwndNotebook);
  85.   virtual ULONG wpAddObjectGeneralPage2(HWND hwndNotebook);
  86.   virtual BOOL wpAddSettingsPages(HWND hwndNotebook);
  87.   virtual BOOL AddCdrecordOptionPage(HWND hwndNotebook);
  88.   virtual BOOL wpPopulate(ULONG ulReserved,PSZ Folder,BOOL fFoldersOnly);
  89.   virtual BOOL wpAddToContent(WPObject* Object);
  90.   virtual BOOL wpDeleteFromContent(WPObject* Object);
  91.   virtual BOOL cwIsWaveFile(WPObject* wpObject);
  92.   virtual ULONG cwSetWriteFlags(ULONG ulNewWriteFlags,ULONG ulMask);
  93.   virtual ULONG cwQueryWriteFlags();
  94.   virtual BOOL AddGrabOptionPage(HWND hwndNotebook);
  95.   virtual BOOL wpRestoreState(ULONG ulReserved);
  96.   virtual BOOL wpSaveState();    
  97.   virtual HWND wpOpen(HWND hwndCnr,ULONG ulView,ULONG ulParam);
  98.   //    virtual WPObject* wpQueryContent(WPObject* Object,ULONG ulOption);
  99.   virtual MRESULT wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem);
  100.   //    virtual PMINIRECORDCORE wpCnrInsertObject(HWND hwndCnr,PPOINTL pIcon,PMINIRECORDCORE pParent,PRECORDINSERT pRecInsert);
  101.   virtual BOOL wpSetupOnce(PSZ pSetupString);
  102.   virtual BOOL wpSetup(PSZ pSetupString);
  103.   virtual void wpCopiedFromTemplate();
  104.   virtual void cwEnableGrab(BOOL bEnable);
  105.   virtual BOOL cwQueryGrabEnabled(void);
  106.   virtual void cwEnableGrabControls(BOOL bEnable);
  107.   virtual void cwEnableSelectControls(BOOL bEnable);
  108.   //    virtual void Beep(){DosBeep(5000,1000);};
  109.   virtual void    cwLoadIniValues();
  110.   virtual ULONG cwFillTrackList(HWND hwndFrame, HWND hwndListBox);
  111.   virtual void cwSetStatusTime(ULONG ulTrackSize);
  112.   virtual void cwSetStatusText(char * text);
  113.   virtual void cwForceStatusUpdate(void);
  114.   virtual void cwEnableWrite(BOOL bEnable);
  115.   virtual BOOL cwQueryWriteEnabled(void);
  116.   virtual void cwEnableWriteControls(BOOL bEnable);
  117. #pragma SOMReleaseOrder(\
  118. "AddCdrecordOptionPage",\
  119. "cwIsWaveFile",\
  120. "cwSetWriteFlags",\
  121. "cwQueryWriteFlags",\
  122. "AddGrabOptionPage",\
  123. "cwEnableGrab",\
  124. "cwQueryGrabEnabled",\
  125. "cwEnableGrabControls",\
  126. "cwEnableSelectControls",\
  127. "cwLoadIniValues",\
  128. "cwFillTrackList",\
  129. "cwSetStatusTime",\
  130. "cwForceStatusUpdate",\
  131. "cwEnableWrite",\
  132. "cwQueryWriteEnabled",\
  133. "cwEnableWriteControls",\
  134. "cwSetStatusText")
  135. /*
  136.   AddLeechOptionPage(HWND hwndNotebook),\
  137.   AddGrabOptionPage(HWND hwndNotebook),\
  138.   cwNumAdditionalFrameControls(),\
  139.   cwCalculateClient(PRECTL pRectl),\
  140.   cwFormatFrame(HWND hwnd, USHORT countSWP,PSWP pswp),\
  141.   cwAddFrameCtl(HWND hwndNewCtl,SIZEL sizel, ULONG ulPos, ULONG ulFlags),\
  142.   cwQueryFrameCtl(SIZEL* sizel, ULONG ulPos, ULONG * ulFlags))*/
  143. /*AddClassChoosePage(HWND hwndNotebook),\
  144.   BuildMenu(WPFolder * wpFolder,ULONG menuID=0))
  145.   */
  146. };
  147.  
  148. class M_CWDataFolder:public M_CWProgFolder
  149. {
  150. #pragma SOMClassName(*,"M_CWDataFolder")
  151. #pragma SOMClassVersion(*,1,2)
  152. #pragma SOMCallstyle(oidl)
  153. public:
  154.   virtual PSZ  wpclsQueryTitle();
  155.   //virtual    ULONG wpclsQueryIconData(PICONINFO pIconInfo);
  156.   virtual    ULONG wpclsQueryStyle();
  157.   virtual BOOL wpclsQueryDefaultHelp(PULONG HelpPanelId,PSZ HelpLibrary);
  158.   
  159. #pragma SOMReleaseOrder()
  160. };
  161.  
  162. class CWDataFolder:public CWProgFolder
  163. {
  164. #pragma SOMClassName(*,"CWDataFolder")
  165. #pragma SOMMetaClass(CWDataFolder,"M_CWDataFolder")
  166. #pragma SOMClassVersion(CWDataFolder,1,2)
  167. #pragma SOMCallstyle(oidl)
  168. private:
  169.   ULONG ulMkisofsFlags;
  170.   ULONG ulCDTypeFlags;
  171.   ULONG ulCreateFlags;
  172.   LONG lPreviousStart;
  173.   LONG lNextStart;
  174.   WPObject *tbObject;
  175. public:        
  176.   SHORT sDummy;
  177.   HWND hwndImageName;
  178.   HWND hwndMkisofsMain;
  179.   HWND hwndStatusCntrl;
  180.   PVOID pvSharedMem;
  181.   char chrApplication[128+1];
  182.   char chrPublisher[128+1];
  183.   char chrPreparer[128+1];
  184.   char chrCopyright[37+1];
  185.   char chrStatusText[STATUS_LENGTH];
  186.   /*
  187.       virtual void wpInitData();
  188.       virtual BOOL wpMenuItemHelpSelected(ULONG MenuId);
  189.       virtual ULONG wpFilterPopupMenu(ULONG ulFlags, HWND hwndCnr, BOOL fMultiSelect);*/
  190.   virtual BOOL wpModifyPopupMenu(HWND hwndMenu, HWND hwndCnr, ULONG ulPosition);
  191.   virtual BOOL wpMenuItemSelected(HWND hwndFrame,ULONG ulMenuId);
  192.   /*    virtual ULONG wpAddFolderView2Page(HWND hwndNotebook);
  193.         virtual ULONG wpAddObjectGeneralPage2(HWND hwndNotebook);
  194.         */
  195.   virtual BOOL wpClose();
  196.   virtual void wpCopiedFromTemplate();
  197.   virtual BOOL wpAddSettingsPages(HWND hwndNotebook);
  198.   virtual BOOL AddCdrecordOptionPage(HWND hwndNotebook);
  199.   virtual BOOL AddMkisofsOptionPage(HWND hwndNotebook);
  200.   virtual BOOL AddFileNameOptionPage(HWND hwndNotebook);
  201.   virtual ULONG cwSetMkisofsFlags(ULONG ulNewMkisofsFlags,ULONG ulMask);
  202.   virtual ULONG cwQueryMkisofsFlags();
  203.       /*      virtual BOOL AddGrabOptionPage(HWND hwndNotebook);*/
  204.   virtual BOOL wpRestoreState(ULONG ulReserved);
  205.   virtual BOOL wpSaveState();    
  206.   virtual HWND wpOpen(HWND hwndCnr,ULONG ulView,ULONG ulParam);
  207.   virtual void cwCreateImage();
  208.   virtual BOOL AddCDTypeOptionPage(HWND hwndNotebook);
  209.   virtual LONG cwQueryPreviousStartSector();
  210.   virtual LONG cwQueryNextStartSector();
  211.   virtual void cwSetPreviousStartSector(LONG lSector);
  212.   virtual void cwSetNextStartSector(LONG lSector);
  213.   virtual ULONG cwSetCDTypeFlags(ULONG ulNewCDTypeFlags,ULONG ulMask);
  214.   virtual ULONG cwQueryCDTypeFlags();
  215.   virtual void cwEnableMultiSessionCntrls(HWND hwnd, BOOL bEnable);
  216.   virtual BOOL AddAuthorOptionPage(HWND);
  217.   virtual void cwWriteImage();
  218.   virtual void cwSetStatusText(PSZ pszText);
  219.   //  virtual BOOL AddCreateOptionPage(HWND hwndNotebook);
  220.   virtual ULONG cwSetCreateFlags(ULONG ulNewCreateFlags,ULONG ulMask);
  221.   virtual ULONG cwQueryCreateFlags();
  222.   virtual void cwWriteOnTheFly();
  223.   /*   virtual MRESULT wpDrop(HWND hwndCnr,PDRAGINFO pDragInfo,PDRAGITEM pDragItem);
  224.       virtual BOOL wpSetupOnce(PSZ pSetupString);
  225.       virtual BOOL wpSetup(PSZ pSetupString);
  226.       virtual void wpCopiedFromTemplate();*/
  227.   virtual void cwEnableWriteControls(BOOL bEnable);
  228. #pragma SOMReleaseOrder(\
  229. "AddCdrecordOptionPage",\
  230. "AddMkisofsOptionPage",\
  231. "AddFileNameOptionPage",\
  232. "cwSetMkisofsFlags",\
  233. "cwQueryMkisofsFlags",\
  234. "cwCreateImage",\
  235. "AddCDTypeOptionPage",\
  236. "cwQueryPreviousStartSector",\
  237. "cwQueryNextStartSector",\
  238. "cwSetPreviousStartSector",\
  239. "cwSetNextStartSector",\
  240. "cwSetCDTypeFlags",\
  241. "cwQueryCDTypeFlags",\
  242. "cwEnableMultiSessionCntrls",\
  243. "AddAuthorOptionPage",\
  244. "cwWriteImage",\
  245. "cwSetStatusText",\
  246. "cwSetCreateFlags",\
  247. "cwQueryCreateFlags",\
  248. "cwWriteOnTheFly",\
  249. "cwEnableWriteControls")
  250. /*
  251. "AddGrabOptionPage",\
  252. "cwEnableGrab",\
  253. "cwQueryGrabEnabled",\
  254. "cwEnableGrabControls",\
  255. "cwEnableSelectControls",\
  256. "cwLoadIniValues",\
  257. "cwFillTrackList",\
  258. "cwSetStatusTime",\
  259. "cwForceStatusUpdate",\
  260. "cwEnableWrite",\
  261. "cwQueryWriteEnabled",\
  262. "cwEnableWriteControls")*/
  263.  
  264. };
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.