home *** CD-ROM | disk | FTP | other *** search
/ Solo Programadores 22 / SOLO_22.iso / packages / win32ada / data.z / win32-mmsystem.adb < prev    next >
Encoding:
Text File  |  1995-11-17  |  6.0 KB  |  150 lines

  1. -- $Source: /home/harp/1/proto/monoBANK/winnt/win32-mmsystem.adb,v $ 
  2. -- $Revision: 1.1 $ $Date: 95/02/08 15:37:18 $ $Author: scoleman $ 
  3. -------------------------------------------------------------------------------
  4. --
  5. -- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT 
  6. -- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 
  7. -- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR 
  8. -- PURPOSE.  The user assumes the entire risk as to the accuracy and the 
  9. -- use of this file.
  10. --
  11. -- Copyright (c) Intermetrics, Inc. 1995
  12. -- Royalty-free, unlimited, worldwide, non-exclusive use, modification, 
  13. -- reproduction and further distribution of this file is permitted.
  14. --
  15. -------------------------------------------------------------------------------
  16.  
  17.  
  18. with Win32.Utils;
  19. with Interfaces.C;
  20.  
  21. package body Win32.Mmsystem is
  22.  
  23.     function To_BYTE is new Ada.Unchecked_Conversion(Win32.CHAR,
  24.                 Win32.BYTE);
  25.  
  26.     function sndAlias(ch0: Win32.CHAR;
  27.                       ch1: Win32.CHAR ) 
  28.                       return Win32.DWORD is                 -- mmsystem.h:366
  29.         use type Interfaces.C.unsigned_long;
  30.     begin
  31.         return Win32.DWORD(
  32.                  (Win32.Utils.MAKELONG(Win32.Utils.MAKEWORD(To_BYTE(ch0), 0), 
  33.                                         0)
  34.                  + SND_ALIAS_START) or
  35.                   Win32.Utils.MAKELONG(
  36.                         Win32.Utils.MAKEWORD(0, To_BYTE(ch1)), 0));
  37.     end sndAlias;
  38.  
  39.     function mmioFOURCC(ch0: Win32.CHAR;
  40.                         ch1: Win32.CHAR;
  41.                         ch2: Win32.CHAR;
  42.                         ch3: Win32.CHAR )   
  43.                         return FOURCC is                    -- mmsystem.h:1945
  44.     begin
  45.         return FOURCC(
  46.                 Win32.Utils.MAKELONG(
  47.                         Win32.Utils.MAKEWORD(To_BYTE(ch0), To_BYTE(ch1)), 
  48.                         Win32.Utils.MAKEWORD(To_BYTE(ch2),To_BYTE(ch3))));
  49.     end mmioFOURCC;
  50.  
  51.     function MCI_MSF_MINUTE(dwMSF: Win32.DWORD) return Win32.BYTE is
  52.                                                             -- mmsystem.h: 2302
  53.     begin 
  54.         return Win32.Utils.LOBYTE(Win32.Utils.LOWORD(dwMSF));
  55.     end MCI_MSF_MINUTE;
  56.  
  57.     function MCI_MSF_SECOND(dwMSF: Win32.DWORD)return Win32.BYTE is
  58.                                                             -- mmsystem.h: 2303
  59.     begin              
  60.         return Win32.Utils.HIBYTE(Win32.Utils.LOWORD(dwMSF));
  61.     end MCI_MSF_SECOND;
  62.  
  63.     function MCI_MSF_FRAME(dwMSF: Win32.DWORD)return Win32.BYTE is
  64.                                                             -- mmsystem.h: 2304
  65.     begin               
  66.         return Win32.Utils.LOBYTE(Win32.Utils.HIWORD(dwMSF));
  67.     end MCI_MSF_FRAME;
  68.  
  69.     function MCI_MAKE_MSF(minutes: Win32.BYTE;
  70.                           seconds: Win32.BYTE;
  71.                           frames : Win32.BYTE)
  72.                           return Win32.DWORD is             -- mmsystem.h:2306
  73.     begin
  74.         return Win32.Utils.MAKELONG(Win32.Utils.MAKEWORD(minutes, seconds),
  75.                                     Win32.Utils.MAKEWORD(frames, 0));
  76.     end MCI_MAKE_MSF;
  77.  
  78.     function MCI_TMSF_TRACK(dwTMSF: Win32.DWORD) return Win32.BYTE is
  79.                                                             -- mmsystem.h: 2310
  80.     begin            
  81.         return Win32.BYTE(dwTMSF);
  82.     end MCI_TMSF_TRACK;
  83.  
  84.     function MCI_TMSF_MINUTE(dwTMSF: Win32.DWORD) return Win32.BYTE is
  85.                                                             -- mmsystem.h: 2311
  86.     begin           
  87.         return Win32.Utils.HIBYTE(Win32.Utils.LOWORD(dwTMSF));
  88.      end MCI_TMSF_MINUTE;
  89.  
  90.     function MCI_TMSF_SECOND(dwTMSF: Win32.DWORD) return Win32.BYTE is
  91.                                                             -- mmsystem.h: 2312
  92.     begin           
  93.         return Win32.Utils.LOBYTE(Win32.Utils.HIWORD(dwTMSF));
  94.      end MCI_TMSF_SECOND;
  95.  
  96.     function MCI_TMSF_FRAME(dwTMSF: Win32.DWORD) return Win32.BYTE is
  97.                                                             -- mmsystem.h: 2313
  98.     begin            
  99.         return Win32.Utils.HIBYTE(Win32.Utils.HIWORD(dwTMSF));
  100.      end MCI_TMSF_FRAME;
  101.  
  102.     function MCI_MAKE_TMSF(tracks : Win32.BYTE; 
  103.                            minutes: Win32.BYTE; 
  104.                            seconds: Win32.BYTE; 
  105.                            frames : Win32.BYTE)       
  106.                            return Win32.DWORD is            -- mmsystem.h: 2315
  107.     begin
  108.         return  Win32.Utils.MAKELONG(
  109.                         Win32.Utils.MAKEWORD(tracks, minutes),
  110.                         Win32.Utils.MAKEWORD(seconds, frames));
  111.     end  MCI_MAKE_TMSF;
  112.  
  113.     function MCI_HMS_HOUR(dwHMS: Win32.DWORD) 
  114.                           return Win32.BYTE is              -- mmsystem.h: 2326
  115.     begin               
  116.         return Win32.BYTE(dwHMS);
  117.     end MCI_HMS_HOUR;
  118.  
  119.  
  120.     function MCI_HMS_MINUTE(dwHMS: Win32.DWORD)  
  121.                           return Win32.BYTE is              -- mmsystem.h: 2327  
  122.     begin       
  123.         return Win32.Utils.HIBYTE(Win32.Utils.LOWORD(dwHMS));   
  124.     end  MCI_HMS_MINUTE;
  125.  
  126.     function MCI_HMS_SECOND(dwHMS: Win32.DWORD)  
  127.                           return Win32.BYTE is              -- mmsystem.h: 2328
  128.     begin       
  129.         return Win32.Utils.LOBYTE(Win32.Utils.HIWORD(dwHMS));           
  130.     end MCI_HMS_SECOND;
  131.  
  132.     function MCI_MAKE_HMS(hours  : Win32.BYTE;
  133.                           minutes: Win32.BYTE;
  134.                           seconds: Win32.BYTE)
  135.                           return Win32.DWORD is             -- mmsystem.h: 2330
  136.     begin
  137.         return  Win32.Utils.MAKELONG(
  138.                         Win32.Utils.MAKEWORD(hours, minutes),
  139.                         Win32.Utils.MAKEWORD(seconds, 0));
  140.     end MCI_MAKE_HMS;
  141.  
  142.     function  DIBINDEX(n: Win32.WORD) return Win32.DWORD is -- mmsystem.h:3397
  143.     begin
  144.         return  Win32.Utils.MAKELONG(n, 16#10ff#);
  145.     end DIBINDEX;
  146.  
  147. end Win32.Mmsystem;
  148.  
  149.  
  150.