home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 035 / pbcdk10.zip / ACDKIT.LZX / ACDKIT.DOC < prev    next >
Text File  |  1994-10-15  |  54KB  |  1,341 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.           ┌───────────────────────────────────────────────────────┐
  11.           │                                                       │
  12.           │           AUDIO CD TOOLKIT for PowerBASIC 3.x         │
  13.           │              SHAREWARE EVALUATION VERSION             │
  14.           │                                                       │
  15.           │                     Documentation                     │
  16.           │                                                       │
  17.           │      (c) Copyright 1994 DSE Software Publishing       │
  18.           │       Licensed Material.  All Rights Reserved.        │
  19.           │                                                       │
  20.           │        ┌────────────────────────────────────┐         │
  21.           │        │ ▀▀▀▀▀▀▀▀\      ▀▀▀▀▀▀\ ▀▀▀▀▀▀▀▀▀▀\ │         │
  22.           │        │  ▀▀▀\   ▀\    ▀▀\   ▀▀\ ▀▀▀\   ▀▀\ │         │
  23.           │        │  ▀▀▀\    ▀\  ▀▀\     ▀\ ▀▀▀\    ▀\ │         │
  24.           │        │  ▀▀▀\    ▀▀\ ▀▀\        ▀▀▀\       │         │
  25.           │        │  ▀▀▀\    ▀▀\ ▀▀▀\       ▀▀▀\ ▀\    │         │
  26.           │        │  ▀▀▀\    ▀▀\  ▀▀▀\      ▀▀▀\ ▀\    │         │
  27.           │        │  ▀▀▀\    ▀▀\    ▀▀▀\    ▀▀▀▀▀▀\    │         │
  28.           │        │  ▀▀▀\    ▀▀\      ▀▀▀\  ▀▀▀\ ▀\    │         │
  29.           │        │  ▀▀▀\    ▀▀\       ▀▀▀\ ▀▀▀\ ▀\    │         │
  30.           │        │  ▀▀▀\    ▀▀\        ▀▀\ ▀▀▀\       │         │
  31.           │        │  ▀▀▀\    ▀\  ▀\     ▀▀\ ▀▀▀\    ▀\ │         │
  32.           │        │  ▀▀▀\   ▀\   ▀▀\   ▀▀\  ▀▀▀\   ▀▀\ │         │
  33.           │        │ ▀▀▀▀▀▀▀▀\     ▀▀▀▀▀▀\  ▀▀▀▀▀▀▀▀▀▀\ │         │
  34.           │        └────────────────────────────────────┘         │
  35.           │                                                       │
  36.           │                DSE Software Publishing                │
  37.           │                  Post Office Box 96                   │
  38.           │                Willits, CA 95490-0096                 │
  39.           │                    (707) 459-4358                     │
  40.           │                 FAX: (707) 459-4484                   │
  41.           │                                                       │
  42.           │        InterNet: dse.software@genie.geis.com          │
  43.           │           DSE Online! BBS - (707) 459-4484            │
  44.           │                 GEnie: DSE.SOFTWARE                   │
  45.           │                                                       │
  46.           └───────────────────────────────────────────────────────┘
  47.           PowerBASIC is a registered trademark of PowerBASIC, Inc.
  48.           PB/VISION(tm) and PB/WORKSHOP(tm) are trademarks of DSE
  49.           Software Publishing.  Other product names are trademarks
  50.           or registered trademarks of their respective holders.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.                                     Contents
  61.  
  62.  
  63.                   Information for Users  . . . . . . . . . . . . . . 1
  64.                   Limited Warranty   . . . . . . . . . . . . . . . . 1
  65.                   Trial Use License  . . . . . . . . . . . . . . . . 1
  66.                   After Installation . . . . . . . . . . . . . . . . 2
  67.                   Ok, Now you're ready to go . . . . . . . . . . . . 2
  68.                   Technical Support  . . . . . . . . . . . . . . . . 2
  69.  
  70.                Chapter 1  AUDIO TOOLKIT ROUTINES                     4
  71.                   cdDoor - PROCEDURE . . . . . . . . . . . . . . . . 4
  72.                   cdGetInfo - PROCEDURE  . . . . . . . . . . . . . . 4
  73.                   cdGetVolume - PROCEDURE  . . . . . . . . . . . . . 5
  74.                   cdInit - PROCEDURE . . . . . . . . . . . . . . . . 5
  75.                   cdMediaChanged - FUNCTION  . . . . . . . . . . . . 6
  76.                   cdPause - PROCEDURE  . . . . . . . . . . . . . . . 6
  77.                   cdPlay - PROCEDURE . . . . . . . . . . . . . . . . 7
  78.                   cdPlayFrames - PROCEDURE . . . . . . . . . . . . . 7
  79.                   cdPlayMSF - PROCEDURE  . . . . . . . . . . . . . . 8
  80.                   cdReset - PROCEDURE  . . . . . . . . . . . . . . . 8
  81.                   cdResume - PROCEDURE . . . . . . . . . . . . . . . 8
  82.                   cdSeek - PROCEDURE . . . . . . . . . . . . . . . . 9
  83.                   cdSeekFrame - PROCEDURE  . . . . . . . . . . . . . 9
  84.                   cdSeekMSF - PROCEDURE  . . . . . . . . . . . . .  10
  85.                   cdSetVolume - PROCEDURE  . . . . . . . . . . . .  11
  86.                   cdStatus - FUNCTION  . . . . . . . . . . . . . .  11
  87.                   cdStop - PROCEDURE . . . . . . . . . . . . . . .  12
  88.                   FrameToMSF - PROCEDURE . . . . . . . . . . . . .  12
  89.                   GetFirstCdrom% - FUNCTION  . . . . . . . . . . .  12
  90.                   GetMscdexVersion% - FUNCTION . . . . . . . . . .  13
  91.                   GetNumCdroms% - FUNCTION . . . . . . . . . . . .  13
  92.                   IsAudio% - FUNCTION  . . . . . . . . . . . . . .  14
  93.                   IsMscdex% - FUNCTION . . . . . . . . . . . . . .  15
  94.                   IsSB% - FUNCTION . . . . . . . . . . . . . . . .  15
  95.                   MSFtoFrame& - FUNCTION . . . . . . . . . . . . .  16
  96.                   sbGetVolume - PROCEDURE  . . . . . . . . . . . .  16
  97.                   sbSetVolume - PROCEDURE  . . . . . . . . . . . .  17
  98.  
  99.                Chapter 2  DATA TYPES USED                           18
  100.                   TRACKINFOTYPE - TYPE . . . . . . . . . . . . . .  18
  101.                   CDINFOTYPE - TYPE  . . . . . . . . . . . . . . .  18
  102.  
  103.                Index                                                20
  104.  
  105.  
  106.  
  107.  
  108.                                           i
  109.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  110.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  111.  
  112.           Information for Users
  113.           ─────────────────────────────────────────────────────────────────
  114.  
  115.                AUDIO CD TOOLKIT is a shareware program.  This evaluation
  116.                version includes all features of the program, and is not
  117.                crippled in any way. You may use it for up to 30 days,
  118.                without charge (see ORDER_ME.TXT for more details).  If you
  119.                like the program, and wish to continue its use after this
  120.                evaluation period, you are required to pay for the program
  121.                (see ORDER_ME.TXT for more details).  Any fee you may have
  122.                paid to others (disk vendors, dealers, etc.) to obtain this
  123.                evaluation version was a fee for their copying and
  124.                distribution services, rather than a payment for continued
  125.                use of the program.
  126.  
  127.           Limited Warranty
  128.           ─────────────────────────────────────────────────────────────────
  129.  
  130.                THIS SOFTWARE AND MANUAL ARE PROVIDED FOR EVALUATION ONLY,
  131.                ON  AN "AS IS" BASIS.  DSE SOFTWARE PUBLISHING DISCLAIMS ALL
  132.                WARRANTIES RELATING TO THIS SOFTWARE, WHETHER EXPRESSED  OR
  133.                IMPLIED, INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES
  134.                OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  135.                NEITHER DSE SOFTWARE PUBLISHING NOR ANYONE ELSE WHO HAS BEEN
  136.                INVOLVED IN THE CREATION, PRODUCTION, OR DELIVERY OF THIS
  137.                SOFTWARE SHALL BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, OR
  138.                INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
  139.                USE SUCH SOFTWARE, EVEN IF DSE SOFTWARE PUBLISHING HAS BEEN
  140.                ADVISED OF THE POSSIBILITY OF SUCH DAMAGES OR CLAIMS.  THE
  141.                PERSON USING THE SOFTWARE BEARS ALL RISK AS TO THE QUALITY
  142.                AND PERFORMANCE OF THE SOFTWARE.
  143.  
  144.                This agreement shall be governed by the laws of the State of
  145.                California and shall inure to the benefit of DSE Software
  146.                Publishing and any successors, administrators, heirs and
  147.                assigns. Any action or proceeding brought by either party
  148.                against the other arising out of or related to this
  149.                agreement shall be brought only in a STATE or FEDERAL COURT
  150.                of competent jurisdiction located in Mendocino County, CA.
  151.                The parties hereby consent to in personam jurisdiction of
  152.                said courts.
  153.  
  154.           Trial Use License
  155.           ─────────────────────────────────────────────────────────────────
  156.  
  157.                AUDIO CD TOOLKIT is NOT a public domain program.  It is
  158.                copyrighted by DSE Software Publishing.  This software and
  159.                accompanying documentation are protected by United States
  160.                copyright law and also by international treaty provisions.
  161.  
  162.                DSE Software Publishing grants you a limited license to use
  163.                this software for evaluation purposes for a period not to
  164.                exceed thirty days.  If you continue using this software
  165.  
  166.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  167.           (c) Copyright 1994 DSE Software Publishing                     1
  168.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  169.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  170.  
  171.                after the thirty-day evaluation period, you MUST make a
  172.                registration payment to DSE Software Publishing.
  173.  
  174.                You may not use, copy, rent, lease, sell, modify, decompile,
  175.                disassemble, otherwise reverse engineer, or transfer the
  176.                licensed program except as provided in this agreement.  Any
  177.                such unauthorized use shall result in immediate and
  178.                automatic termination of this license.  All rights not
  179.                expressly granted here are reserved to DSE Software
  180.                Publishing.
  181.  
  182.           After Installation
  183.           ─────────────────────────────────────────────────────────────────
  184.  
  185.                If you have installed the AUDIO CD TOOLKIT to a directory
  186.                other than the PowerBASIC directory, it is _very_ important
  187.                that you move CDKIT.PBH to your PowerBASIC directory (where
  188.                PB.EXE is located).  This will allow you to access the
  189.                entire AUDIO CD TOOLKIT. documentation directly through
  190.                PowerBASIC's built-in help system.
  191.  
  192.                While in PB.EXE, to bring up our help screens, place the
  193.                cursor on a keyword and press <CTRL-F1>.  To then bring up
  194.                the index to all of the AUDIO CD TOOLKIT routines.
  195.  
  196.           Ok, Now you're ready to go
  197.           ─────────────────────────────────────────────────────────────────
  198.  
  199.                Once you've complete the installation, you should consult
  200.                the documents (filename extension "doc") which have been
  201.                installed.  These documents will tell you how to invoke the
  202.                library routines, and will give you other information you
  203.                need to properly evaluate AUDIO CD TOOLKIT.  We hope you
  204.                enjoy the program.
  205.  
  206.           Technical Support
  207.           ─────────────────────────────────────────────────────────────────
  208.  
  209.                If you have any problems, please read this file,
  210.                HELPME!.DOC,  and TUTORIAL.DOC first.  If you still have a
  211.                question and need assistance, help is available from the
  212.                following sources:
  213.  
  214.                     1.   DSE Online! BBS at 707-459-4484. 24 hours @
  215.                          1200-14.4K.
  216.  
  217.                     2.   GEnie: address messages to "DSE.SOFTWARE".  Do not
  218.                          send us x-modem mail on GEnie.  We will not accept
  219.                          the file and your account will be billed for it.
  220.  
  221.                     3.   InterNet: "dse.software@genie.geis.com"
  222.  
  223.                     4.   CompuServe: "INTERNET:dse.software@genie.geis.com"
  224.  
  225.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  226.           (c) Copyright 1994 DSE Software Publishing                     2
  227.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  228.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  229.  
  230.                     5.   If you have an urgent problem that cannot wait,
  231.                          you may call the DSE Technical Support Department
  232.                          at (707) 459-4358 from 10:00 AM to 5:00 PM.  Calls
  233.                          outside these hours will not be answered.  Please
  234.                          have the following information ready before
  235.                          calling:
  236.  
  237.                     a.   Computer brand, model, and the brands and mode
  238.                          numbers of any additional hardware.
  239.  
  240.                     b.   Operating system and version number. (The version
  241.                          number can be determined by typing VER at the DOS
  242.                          prompt.)
  243.  
  244.                     c.   Contents of your AUTOEXEC.BAT file.
  245.  
  246.                     d.   Contents of your CONFIG.SYS file.
  247.  
  248.                     e.   You will have to have read TUTORIAL.DOC.  Our help
  249.                          staff may quiz you ;)
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  285.           (c) Copyright 1994 DSE Software Publishing                     3
  286.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  287.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  288.  
  289.                                       Chapter 1
  290.  
  291.                                AUDIO TOOLKIT ROUTINES
  292.  
  293.           █████████████████████████████████████████████████████████████████
  294.  
  295.           cdDoor - PROCEDURE
  296.           ─────────────────────────────────────────────────────────────────
  297.  
  298.            PURPOSE: Open or close the CD-ROM door.
  299.  
  300.             SYNTAX: CDDOOR drive%, cmd%
  301.  
  302.            REMARKS: This procedure accepts the following argument(s):
  303.  
  304.                     Argument      Description
  305.                     ────────────  ─────────────────────────────────────────
  306.                     drive%        CD-ROM drive to select.
  307.                     cmd%          Command.
  308.  
  309.                                   Value  Description
  310.                                   ─────  ──────────────────────────────────
  311.                                     1    Open drive door.
  312.                                     2    Close drive door.
  313.                                     3    Unlock drive door.
  314.                                     4    Lock drive door.
  315.  
  316.                     Use CDDOOR() to open, close, lock, or unlock the CD-ROM
  317.                     door drives that are so equipped.
  318.  
  319.           cdGetInfo - PROCEDURE
  320.           ─────────────────────────────────────────────────────────────────
  321.  
  322.            PURPOSE: Get complete CD-ROM drive status info.
  323.  
  324.             SYNTAX: CDGETINFO drive%, track%, cd AS cdInfoTYPE,
  325.                                 trackinfo() AS trackinfoTYPE
  326.  
  327.            REMARKS: This procedure accepts the following argument(s):
  328.  
  329.                     Argument      Description
  330.                     ────────────  ─────────────────────────────────────────
  331.                     drive%        CD-ROM drive to select.
  332.                     track%        Track to get information from.
  333.  
  334.                                   Value  Description
  335.                                   ─────  ──────────────────────────────────
  336.                                     0    Get current track info.
  337.                                     1+   Get info about specific track.
  338.  
  339.                     cd            Variable of TYPE cdInfoTYPE where
  340.                                   information will be returned.
  341.  
  342.  
  343.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  344.           (c) Copyright 1994 DSE Software Publishing                     4
  345.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  346.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  347.  
  348.                     trackinfo     Array of TYPE "trackInfoTYPE"
  349.  
  350.                     Use CDGETINFO() retrieves information about the
  351.                     currently playing CD audio track or about a specific
  352.                     audio track.
  353.  
  354.           SEE ALSO: CDINIT, CDINFOTYPE, TRACKINFOTYPE
  355.  
  356.  
  357.           cdGetVolume - PROCEDURE
  358.           ─────────────────────────────────────────────────────────────────
  359.  
  360.            PURPOSE: Return Sound CD-ROM internal volume controls.
  361.  
  362.             SYNTAX: SBGETVOLUME drive%, Left1%, Right1%, Left2%, Right2%
  363.  
  364.            REMARKS: This procedure accepts the following argument(s):
  365.  
  366.                     Argument      Description
  367.                     ────────────  ─────────────────────────────────────────
  368.                     drive%        CD-ROM drive to select.
  369.                     Left1%        Volume of left output channel.
  370.                     Right1%       Volume of right output channel.
  371.                     Left2%        Volume of left/2 output channel.
  372.                     Right2%       Volume of right/2 output channel.
  373.  
  374.                     Use CDGETVOLUME() to return the internal volume control
  375.                     settings on the CD-ROM drive.  The secondary left/right
  376.                     channels are the two "prime" channels which for
  377.                     quadrophonic stereo cd's.
  378.  
  379.           SEE ALSO: SBSETVOLUME
  380.  
  381.  
  382.           cdInit - PROCEDURE
  383.           ─────────────────────────────────────────────────────────────────
  384.  
  385.            PURPOSE: Reset CD-ROM and read in control information.
  386.  
  387.             SYNTAX: CDINIT drive%, trackinfo() AS trackinfoTYPE
  388.  
  389.            REMARKS: This procedure accepts the following argument(s):
  390.  
  391.                     Argument      Description
  392.                     ────────────  ─────────────────────────────────────────
  393.                     drive%        CD-ROM drive to select.
  394.                     trackinfo     Array of TYPE "trackInfoTYPE".
  395.  
  396.                     Use CDINIT() to reset the CD-ROM drive and read control
  397.                     information into the trackinfo() array.  CDINIT() will
  398.                     automatically dimension the trackinfo() array to the
  399.                     appropriate size.
  400.  
  401.  
  402.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  403.           (c) Copyright 1994 DSE Software Publishing                     5
  404.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  405.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  406.  
  407.           SEE ALSO: CDPLAY, ISMSCDEX, TRACKINFOTYPE
  408.  
  409.  
  410.           cdMediaChanged - FUNCTION
  411.           ─────────────────────────────────────────────────────────────────
  412.  
  413.            PURPOSE: Determine if CD has been changed since last the call.
  414.  
  415.             SYNTAX: status% = CDMEDIACHANGED (drive%)
  416.  
  417.            REMARKS: This procedure accepts the following argument(s):
  418.  
  419.                     Argument      Description
  420.                     ────────────  ─────────────────────────────────────────
  421.                     drive%        CD-ROM drive to select.
  422.  
  423.                     Use CDMEDIACHANGED() to determine if the CD has been
  424.                     changed since the last time this routine was called.
  425.                     If the CD has been changed, it will be necessary to
  426.                     call CDINIT() to read in the new control information.
  427.  
  428.            RETURNS: This function returns the following value(s):
  429.  
  430.                     Value  Description
  431.                     ─────  ────────────────────────────────────────────────
  432.                       1    Media not changed.
  433.                       0    Don't know if changed.
  434.                       -1   Media changed.
  435.  
  436.           SEE ALSO: CDINIT, CDPLAY
  437.  
  438.  
  439.           cdPause - PROCEDURE
  440.           ─────────────────────────────────────────────────────────────────
  441.  
  442.            PURPOSE: Temporarily suspend CD audio playback.
  443.  
  444.             SYNTAX: CDPAUSE drive%
  445.  
  446.            REMARKS: This procedure accepts the following argument(s):
  447.  
  448.                     Argument      Description
  449.                     ────────────  ─────────────────────────────────────────
  450.                     drive%        CD-ROM drive to select.
  451.  
  452.                     Use CDPAUSE() to temporarily suspend audio playback.
  453.                     Use CDRESUME to restart.
  454.  
  455.           SEE ALSO: CDRESUME
  456.  
  457.            EXAMPLE: ...
  458.                     CDPAUSE                   ' pause audio playback
  459.                     WHILE INKEY$ = "": WEND   ' wait for a keypress
  460.  
  461.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  462.           (c) Copyright 1994 DSE Software Publishing                     6
  463.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  464.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  465.  
  466.                     CDRESUME                  ' resume audio playback
  467.                     ...
  468.  
  469.  
  470.           cdPlay - PROCEDURE
  471.           ─────────────────────────────────────────────────────────────────
  472.  
  473.            PURPOSE: Play a specific set of audio tracks.
  474.  
  475.             SYNTAX: CDPLAY drive%, track%, tracks%,
  476.                             trackinfo AS trackinfoTYPE
  477.  
  478.            REMARKS: This procedure accepts the following argument(s):
  479.  
  480.                     Argument      Description
  481.                     ────────────  ─────────────────────────────────────────
  482.                     drive%        CD-ROM drive to select.
  483.                     track%        First audio track to play.
  484.                     tracks%       Number of tracks to play.
  485.                     trackinfo     Array of TYPE "trackInfoTYPE".
  486.  
  487.                     Use CDPLAY() to play a specific track or set of tracks
  488.                     on an audio CD.
  489.  
  490.           SEE ALSO: CDINIT, CDSEEK, TRACKINFOTYPE
  491.  
  492.  
  493.           cdPlayFrames - PROCEDURE
  494.           ─────────────────────────────────────────────────────────────────
  495.  
  496.            PURPOSE: Play a specific set of audio frames.
  497.  
  498.             SYNTAX: CDPLAYFRAMES drive%, frame&, frames&
  499.  
  500.            REMARKS: This procedure accepts the following argument(s):
  501.  
  502.                     Argument      Description
  503.                     ────────────  ─────────────────────────────────────────
  504.                     drive%        CD-ROM drive to select.
  505.                     frame&        Beginning track to play.
  506.                     frames&       Number of frames to play.
  507.  
  508.                     Use CDPLAYFRAMES() to play a specific set of audio
  509.                     frames.  Each frame is exactly 1/75 of one second of
  510.                     audio.
  511.  
  512.               NOTE: The first frame of the first track is not necessarily
  513.                     frame 0.  You may use CDGETINFO() to locate the first
  514.                     frame for a specific audio track.
  515.  
  516.           SEE ALSO: CDPLAY, CDPLAYMSF, CDSEEKFRAME
  517.  
  518.  
  519.  
  520.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  521.           (c) Copyright 1994 DSE Software Publishing                     7
  522.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  523.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  524.  
  525.           cdPlayMSF - PROCEDURE
  526.           ─────────────────────────────────────────────────────────────────
  527.  
  528.            PURPOSE: Play specific audio time frame.
  529.  
  530.             SYNTAX: CDPLAYMSF drive%, mins%, secs%, frame%, lmins%, lsecs%,
  531.                                lframes%
  532.  
  533.            REMARKS: This procedure accepts the following argument(s):
  534.  
  535.                     Argument      Description
  536.                     ────────────  ─────────────────────────────────────────
  537.                     drive%        CD-ROM drive to select.
  538.                     mins%         Beginning minute to play.
  539.                     secs%         Beginning second to play.
  540.                     frame%        Beginning frame to play.
  541.                     lmins%        Number of minutes to play.
  542.                     lsecs%        Number of seconds to play.
  543.                     lframes%      Number of frames to play.
  544.  
  545.                     Use CDPLAYMSF() to play a specific time and duration of
  546.                     CD audio.  The audio is played for the specified
  547.                     duration.
  548.  
  549.           SEE ALSO: CDPLAY, CDPLAYFRAMES, CDSEEKMSF
  550.  
  551.  
  552.           cdReset - PROCEDURE
  553.           ─────────────────────────────────────────────────────────────────
  554.  
  555.            PURPOSE: Reset CD-ROM hardware and software.
  556.  
  557.             SYNTAX: CDRESET drive%
  558.  
  559.            REMARKS: This procedure accepts the following argument(s):
  560.  
  561.                     Argument      Description
  562.                     ────────────  ─────────────────────────────────────────
  563.                     drive%        CD-ROM drive to select.
  564.  
  565.                     Use CDRESET() to completely reset the CD-ROM hardware
  566.                     and software.  The audio track in progress will be
  567.                     terminated.
  568.  
  569.           SEE ALSO: CDINIT
  570.  
  571.  
  572.           cdResume - PROCEDURE
  573.           ─────────────────────────────────────────────────────────────────
  574.  
  575.            PURPOSE: Resume paused CD audio.
  576.  
  577.             SYNTAX: CDRESUME drive%
  578.  
  579.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  580.           (c) Copyright 1994 DSE Software Publishing                     8
  581.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  582.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  583.  
  584.            REMARKS: This procedure accepts the following argument(s):
  585.  
  586.                     Argument      Description
  587.                     ────────────  ─────────────────────────────────────────
  588.                     drive%        CD-ROM drive to select.
  589.  
  590.                     Use CDRESUME() to resume audio playback after a call to
  591.                     CDPAUSE.
  592.  
  593.           SEE ALSO: CDPAUSE
  594.  
  595.            EXAMPLE: ...
  596.                     CDPAUSE                   ' pause audio playback
  597.                     WHILE INKEY$ = "": WEND   ' wait for a keypress
  598.                     CDRESUME                  ' resume audio playback
  599.                     ...
  600.  
  601.  
  602.           cdSeek - PROCEDURE
  603.           ─────────────────────────────────────────────────────────────────
  604.  
  605.            PURPOSE: Move playback head to specific track.
  606.  
  607.             SYNTAX: CDSEEK drive%, track%, trackinfo AS trackinfoTYPE
  608.  
  609.            REMARKS: This procedure accepts the following argument(s):
  610.  
  611.                     Argument      Description
  612.                     ────────────  ─────────────────────────────────────────
  613.                     drive%        CD-ROM drive to select.
  614.                     track%        Audio track to seek to.
  615.                     trackinfo     Array of TYPE "trackInfoTYPE".
  616.  
  617.                     Use CDSEEK() to move the playback head to the beginning
  618.                     of a specific audio track.
  619.  
  620.               NOTE: This routine cannot be called while audio is playing.
  621.                     Audio must be stopped or paused for this routine to
  622.                     work properly.  Its purpose is to move the playback
  623.                     head in advance so that playback will be instant the
  624.                     next time any of the CDPLAY routines are called.
  625.  
  626.           SEE ALSO: CDPLAY, CDPAUSE, CDRESUME, CDSTOP, TRACKINFOTYPE
  627.  
  628.  
  629.           cdSeekFrame - PROCEDURE
  630.           ─────────────────────────────────────────────────────────────────
  631.  
  632.            PURPOSE: Move playback head to a specific frame.
  633.  
  634.             SYNTAX: CDSEEKFRAME drive%, frame&
  635.  
  636.            REMARKS: This procedure accepts the following argument(s):
  637.  
  638.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  639.           (c) Copyright 1994 DSE Software Publishing                     9
  640.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  641.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  642.  
  643.                     Argument      Description
  644.                     ────────────  ─────────────────────────────────────────
  645.                     drive%        CD-ROM drive to select.
  646.                     frame&        Specific frame to seek to.
  647.  
  648.                     Use CDSEEKFRAME() to move the playback head to a
  649.                     specific set audio frame.  Each frame is exactly 1/75
  650.                     of one second of audio.
  651.  
  652.               NOTE: The first frame of the first track is not necessarily
  653.                     frame 0.  You may use CDGETINFO() to locate the first
  654.                     frame for a specific audio track.
  655.  
  656.                     This routine cannot be called while audio is playing.
  657.                     Audio must be stopped or paused for this routine to
  658.                     work properly.  Its purpose is to move the playback
  659.                     head in advance so that playback will be instant the
  660.                     next time any of the CDPLAY routines are called.
  661.  
  662.           SEE ALSO: CDPLAYFRAMES, CDPAUSE, CDRESUME, CDSTOP
  663.  
  664.  
  665.           cdSeekMSF - PROCEDURE
  666.           ─────────────────────────────────────────────────────────────────
  667.  
  668.            PURPOSE: Move playback head to specific audio time frame.
  669.  
  670.             SYNTAX: CDSEEKMSF drive%, mins%, secs%, frame%
  671.  
  672.            REMARKS: This procedure accepts the following argument(s):
  673.  
  674.                     Argument      Description
  675.                     ────────────  ─────────────────────────────────────────
  676.                     drive%        CD-ROM drive to select.
  677.                     mins%         Minute to seek to.
  678.                     secs%         Second to seek to.
  679.                     frame%        Frame to seek to.
  680.  
  681.                     Use CDSEEKMSF() to move the playback head to a specific
  682.                     audio timebase.
  683.  
  684.               NOTE: This routine cannot be called while audio is playing.
  685.                     Audio must be stopped or paused for this routine to
  686.                     work properly.  Its purpose is to move the playback
  687.                     head in advance so that playback will be instant the
  688.                     next time any of the CDPLAY routines are called.
  689.  
  690.           SEE ALSO: CDPLAYMSF, CDPAUSE, CDRESUME, CDSTOP
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  698.           (c) Copyright 1994 DSE Software Publishing                     10
  699.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  700.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  701.  
  702.           cdSetVolume - PROCEDURE
  703.           ─────────────────────────────────────────────────────────────────
  704.  
  705.            PURPOSE: Set CD-ROM internal volume controls.
  706.  
  707.             SYNTAX: CDSETVOLUME drive%, Left1%, Right1%, Left2%, Right2%
  708.  
  709.            REMARKS: This procedure accepts the following argument(s):
  710.  
  711.                     Argument      Description
  712.                     ────────────  ─────────────────────────────────────────
  713.                     drive%        CD-ROM drive to select.
  714.                     Left1%        New volume of left output channel.
  715.                     Right1%       New volume of right output channel.
  716.                     Left2%        New volume of left/2 output channel.
  717.                     Right2%       New volume of right/2 output channel.
  718.  
  719.                     Use CDSETVOLUME() to set change the internal volume
  720.                     control settings on the CD-ROM drive.  The secondary
  721.                     left/right channels are the two "prime" channels which
  722.                     for quadrophonic stereo cd's.
  723.  
  724.                     Drives that do not support variable audio control will
  725.                     treat a setting of 0 as off and 1-255 as on. Drives
  726.                     that support less than 256 volume settings will do
  727.                     their best to break up the 256 settings among the
  728.                     settings they can support.
  729.  
  730.           SEE ALSO: CDGETVOLUME
  731.  
  732.  
  733.           cdStatus - FUNCTION
  734.           ─────────────────────────────────────────────────────────────────
  735.  
  736.            PURPOSE: Return status of CD-ROM player.
  737.  
  738.             SYNTAX: status% = CDSTATUS(drive%)
  739.  
  740.            REMARKS: This procedure accepts the following argument(s):
  741.  
  742.                     Argument      Description
  743.                     ────────────  ─────────────────────────────────────────
  744.                     drive%        CD-ROM drive to select.
  745.  
  746.                     Use CDSTATUS() to retrieve the status of the CD-ROM
  747.                     player.
  748.  
  749.            RETURNS: This function returns the following value(s):
  750.  
  751.                     Status Bits   Description
  752.                     ────────────  ─────────────────────────────────────────
  753.                     %CDINSTALLED  Audio CD is present.
  754.                     %CDPLAYING    Audio track in progress.
  755.  
  756.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  757.           (c) Copyright 1994 DSE Software Publishing                     11
  758.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  759.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  760.  
  761.                     %CDPAUSED     Audio track is paused
  762.                     %CDOPEN       CD door is open.
  763.                     %CDLOCKED     CD door is locked.
  764.  
  765.           SEE ALSO: CDGETINFO, CDINFOTYPE, CDINIT
  766.  
  767.  
  768.           cdStop - PROCEDURE
  769.           ─────────────────────────────────────────────────────────────────
  770.  
  771.            PURPOSE: Stop audio playback.
  772.  
  773.             SYNTAX: CDSTOP drive%
  774.  
  775.            REMARKS: This procedure accepts the following argument(s):
  776.  
  777.                     Argument      Description
  778.                     ────────────  ─────────────────────────────────────────
  779.                     drive%        CD-ROM drive to select.
  780.  
  781.                     Use CDSTOP() to stop audio playback.  To restart audio,
  782.                     use one of the CDPLAY routines.
  783.  
  784.           SEE ALSO: CDPLAY
  785.  
  786.  
  787.           FrameToMSF - PROCEDURE
  788.           ─────────────────────────────────────────────────────────────────
  789.  
  790.            PURPOSE: Convert a frame number to minutes/seconds/frames.
  791.  
  792.             SYNTAX: FRAMETOMSF frame&, mins?, secs?, frames?
  793.  
  794.            REMARKS: This procedure accepts the following argument(s):
  795.  
  796.                     Argument      Description
  797.                     ────────────  ─────────────────────────────────────────
  798.                     frame&        Frame number to convert.
  799.                     mins?         Returned minutes value.
  800.                     secs?         Returned seconds value.
  801.                     frames?       Returned frames value.
  802.  
  803.                     Use FRAMETOMSF() to convert a frame number to minutes,
  804.                     seconds, and frames.
  805.  
  806.           SEE ALSO: MSFTOFRAME
  807.  
  808.  
  809.           GetFirstCdrom% - FUNCTION
  810.           ─────────────────────────────────────────────────────────────────
  811.  
  812.            PURPOSE: Get drive number of first CD-ROM.
  813.  
  814.  
  815.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  816.           (c) Copyright 1994 DSE Software Publishing                     12
  817.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  818.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  819.  
  820.             SYNTAX: drivenum% = GETFIRSTCDROM%
  821.  
  822.            REMARKS: Use GETFIRSTCDROM() to get the drive number of the
  823.                     first available CD-ROM player.
  824.  
  825.            RETURNS: This function returns the following value(s):
  826.  
  827.                     Value  Description
  828.                     ─────  ────────────────────────────────────────────────
  829.                       0    Error.
  830.                       1+   Drive number of first CD-ROM
  831.  
  832.           SEE ALSO: GETNUMCDROMS
  833.  
  834.            EXAMPLE: $INCLUDE "CDROM.BI"
  835.  
  836.                     IF ISMSCDEX% THEN
  837.                          driveletter% = GETFIRSTCDROM
  838.                          PRINT "First drive is "; CHR$(driveletter + 65)
  839.                     ELSE
  840.                          PRINT "No CD-ROM drive."
  841.                     END IF
  842.  
  843.  
  844.           GetMscdexVersion% - FUNCTION
  845.           ─────────────────────────────────────────────────────────────────
  846.  
  847.            PURPOSE: Get version number of CD-ROM driver.
  848.  
  849.             SYNTAX: version% = GETMSCDEXVERSION%
  850.  
  851.            REMARKS: Use GETMSCDEXVERSION() to determine the version number
  852.                     of the CD-ROM driver.
  853.  
  854.           SEE ALSO: ISMSCDEX
  855.  
  856.            EXAMPLE: $INCLUDE "CDROM.BI"
  857.  
  858.                     IF ISMSCDEX% THEN
  859.                          version% = GETMSCDEXVERSION
  860.                          PRINT "Version: "; version%
  861.                     ELSE
  862.                          PRINT "No CD-ROM drive."
  863.                     END IF
  864.  
  865.  
  866.           GetNumCdroms% - FUNCTION
  867.           ─────────────────────────────────────────────────────────────────
  868.  
  869.            PURPOSE: Get number of installed CD-ROM drives.
  870.  
  871.             SYNTAX: drivecount% = GETNUMCDROMS%
  872.  
  873.  
  874.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  875.           (c) Copyright 1994 DSE Software Publishing                     13
  876.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  877.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  878.  
  879.            REMARKS: Use GETNUMCDROMS() to determine the number of installed
  880.                     CD-ROM drives.
  881.  
  882.            RETURNS: This function returns the following value(s):
  883.  
  884.                     Value  Description
  885.                     ─────  ────────────────────────────────────────────────
  886.                       0    No CD-ROM's available.
  887.                       1+   Number of CD-ROM drives.
  888.  
  889.           SEE ALSO: GETFIRSTCDROM, ISMSCDEX
  890.  
  891.            EXAMPLE: $INCLUDE "CDROM.BI"
  892.  
  893.                     IF ISMSCDEX% THEN
  894.                          drives% = GETNUMCDROMS
  895.                          PRINT "Drive Count: "; version%
  896.                     ELSE
  897.                          PRINT "No CD-ROM drive."
  898.                     END IF
  899.  
  900.  
  901.           IsAudio% - FUNCTION
  902.           ─────────────────────────────────────────────────────────────────
  903.  
  904.            PURPOSE: Determine if inserted CD is an audio CD.
  905.  
  906.             SYNTAX: music% = ISAUDIO%(drive%)
  907.  
  908.            REMARKS: This procedure accepts the following argument(s):
  909.  
  910.                     Argument      Description
  911.                     ────────────  ─────────────────────────────────────────
  912.                     drive%        CD-ROM drive to select.
  913.  
  914.                     Use ISAUDIO() to determine if the selected cd-rom is an
  915.                     audio cd.
  916.  
  917.            RETURNS: This function returns the following value(s):
  918.  
  919.                     Value  Description
  920.                     ─────  ────────────────────────────────────────────────
  921.                       0    CD is either data, or device unavailable.
  922.                       1    CD is an audio CD.
  923.  
  924.           SEE ALSO: GETFIRSTCDROM
  925.  
  926.            EXAMPLE: $INCLUDE "CDROM.BI"
  927.  
  928.                     IF ISMSCDEX% THEN
  929.                          driveletter% = GETFIRSTCDROM
  930.                          IF ISAUDIO%(driveletter%) THEN
  931.                               PRINT "Audio tracks found."
  932.  
  933.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  934.           (c) Copyright 1994 DSE Software Publishing                     14
  935.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  936.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  937.  
  938.                          ELSE
  939.                               PRINT "No audio tracks found."
  940.                          END IF
  941.                     ELSE
  942.                          PRINT "No CD-ROM drive."
  943.                     END IF
  944.  
  945.  
  946.           IsMscdex% - FUNCTION
  947.           ─────────────────────────────────────────────────────────────────
  948.  
  949.            PURPOSE: Determine if CD-ROM driver is installed.
  950.  
  951.             SYNTAX: loaded% = ISMSCDEX%
  952.  
  953.            REMARKS: Use ISMSCDEX() to determine of the CD-ROM driver is
  954.                     installed in CONFIG.SYS.  All other routines in this
  955.                     library require MSCDEX.EXE 2.0+ to be installed.
  956.  
  957.           RETURNS: This function returns the following value(s):
  958.  
  959.                     Value  Description
  960.                     ─────  ────────────────────────────────────────────────
  961.                       0    MSCDEX driver is not resident.
  962.                       1    MSCDEX driver is resident.
  963.  
  964.           SEE ALSO: GETFIRSTCDROM, ISAUDIO
  965.  
  966.            EXAMPLE: $INCLUDE "CDROM.BI"
  967.  
  968.                     IF ISMSCDEX% THEN
  969.                          PRINT "MSCDEX is installed!"
  970.                     ELSE
  971.                          PRINT "No CD-ROM drive."
  972.                     END IF
  973.  
  974.  
  975.           IsSB% - FUNCTION
  976.           ─────────────────────────────────────────────────────────────────
  977.  
  978.            PURPOSE: Determine if Sound Blaster is installed.
  979.  
  980.             SYNTAX: varname = ISSB%()
  981.  
  982.            REMARKS: Use ISSB%() to determine if a Sound Blaster audio card
  983.                     driver is installed.
  984.  
  985.            RETURNS: This function returns the following value(s):
  986.  
  987.                     Value  Description
  988.                     ─────  ────────────────────────────────────────────────
  989.                       0    Sound Blaster driver is not installed.
  990.                       1    Sound Blaster driver installed.
  991.  
  992.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  993.           (c) Copyright 1994 DSE Software Publishing                     15
  994.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  995.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  996.  
  997.           SEE ALSO: SBGETVOLUME, SBSETVOLUME
  998.  
  999.  
  1000.           MSFtoFrame& - FUNCTION
  1001.           ─────────────────────────────────────────────────────────────────
  1002.  
  1003.            PURPOSE: Converts minutes/seconds/frames to frame number.
  1004.  
  1005.             SYNTAX: frame& = MSFTOFRAME&(mins%, secs%, frame%)
  1006.  
  1007.            REMARKS: This function accepts the following argument(s):
  1008.  
  1009.                     Argument      Description
  1010.                     ────────────  ─────────────────────────────────────────
  1011.                     mins%         Minutes to convert.
  1012.                     secs%         Seconds to convert.
  1013.                     frame%        Frames to convert.
  1014.  
  1015.                     Use MSFTOFRAME&() to converts minutes, seconds, and
  1016.                     frames to a specific frame number.  The frame number is
  1017.                     returned as a LONG integer value.
  1018.  
  1019.           SEE ALSO: FRAMETOMSF
  1020.  
  1021.  
  1022.           sbGetVolume - PROCEDURE
  1023.           ─────────────────────────────────────────────────────────────────
  1024.  
  1025.            PURPOSE: Return Sound Blaster volume control values.
  1026.  
  1027.             SYNTAX: SBGETVOLUME Source%, LeftV%, RightV%
  1028.  
  1029.            REMARKS: This procedure accepts the following argument(s):
  1030.  
  1031.                     Argument      Description
  1032.                     ────────────  ─────────────────────────────────────────
  1033.                     Source%       Sound Blaster source.
  1034.  
  1035.                                   Value  Description
  1036.                                   ─────  ──────────────────────────────────
  1037.                                     1    Master.
  1038.                                     2    CD.
  1039.  
  1040.                     LeftV%        Volume of left output channel.
  1041.                     RightV%       Volume of right output channel.
  1042.  
  1043.                     Use SBGETVOLUME() to get the volume control values from
  1044.                     each input channel on the Sound Blaster card.
  1045.  
  1046.           SEE ALSO: ISSB, SBSETVOLUME
  1047.  
  1048.  
  1049.  
  1050.  
  1051.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1052.           (c) Copyright 1994 DSE Software Publishing                     16
  1053.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  1054.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1055.  
  1056.           sbSetVolume - PROCEDURE
  1057.           ─────────────────────────────────────────────────────────────────
  1058.  
  1059.            PURPOSE: Set Sound Blaster volume controls.
  1060.  
  1061.             SYNTAX: SBSETVOLUME Source%, LeftV%, RightV%
  1062.  
  1063.            REMARKS: This procedure accepts the following argument(s):
  1064.  
  1065.                     Argument      Description
  1066.                     ────────────  ─────────────────────────────────────────
  1067.                     Source%       Sound Blaster source.
  1068.  
  1069.                                   Value  Description
  1070.                                   ─────  ──────────────────────────────────
  1071.                                     1    Master.
  1072.                                     2    CD.
  1073.  
  1074.                     LeftV%        New volume of left output channel (0-15).
  1075.                     RightV%       New volume of right output channel
  1076.           (0-15).
  1077.  
  1078.                     Use SBSETVOLUME() to set change the volume of each
  1079.                     input channel on the Sound Blaster card.
  1080.  
  1081.           SEE ALSO: ISSB, SBGETVOLUME
  1082.  
  1083.  
  1084.  
  1085.  
  1086.  
  1087.  
  1088.  
  1089.  
  1090.  
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1111.           (c) Copyright 1994 DSE Software Publishing                     17
  1112.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  1113.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1114.  
  1115.                                       Chapter 2
  1116.  
  1117.                                    DATA TYPES USED
  1118.  
  1119.           █████████████████████████████████████████████████████████████████
  1120.  
  1121.           TRACKINFOTYPE - TYPE
  1122.           ─────────────────────────────────────────────────────────────────
  1123.  
  1124.            PURPOSE: CD-ROM Information TYPE.
  1125.  
  1126.            REMARKS: This TYPE has the following element(s):
  1127.  
  1128.                     Element         Description
  1129.                     ─────────────   ───────────────────────────────────────
  1130.                     cmd             .......................................
  1131.                     track           .......................................
  1132.                     tframe          THIS ARRAY CONTAINS CONTROL INFO THAT
  1133.                     tsec            SHOULD NOT BE USED BY THE PROGRAMMER.
  1134.                     tmin            REFER TO "CDINFOTYPE" FOR DETAILED CD
  1135.                     dummy           INFORMATION.
  1136.                     control         .......................................
  1137.                     absframe        .......................................
  1138.  
  1139.           SEE ALSO: CDINFOTYPE, CDINIT
  1140.  
  1141.  
  1142.           CDINFOTYPE - TYPE
  1143.           ─────────────────────────────────────────────────────────────────
  1144.  
  1145.            PURPOSE: Audio Track Information TYPE.
  1146.  
  1147.            REMARKS: This TYPE has the following element(s):
  1148.  
  1149.                     Element         Description
  1150.                     ─────────────   ───────────────────────────────────────
  1151.                     status          Status of the driver.
  1152.  
  1153.                                     Status Bits   Description
  1154.                                     ────────────  ─────────────────────────
  1155.                                     %CDINSTALLED  Audio CD is present.
  1156.                                     %CDPLAYING    Audio track in progress.
  1157.                                     %CDPAUSED     Audio track is paused
  1158.                                     %CDOPEN       CD door is open.
  1159.                                     %CDLOCKED     CD door is locked.
  1160.  
  1161.                     track           Current audio track number.
  1162.                     frame           Current absolute frame number.
  1163.                     cdMin           Absolute CD position (minutes).
  1164.                     cdSec           Absolute CD position (seconds).
  1165.                     cdFrame         Absolute CD position (frames).
  1166.                     TrackMin        Track position (mins).
  1167.                     TrackSec        Track position (seconds).
  1168.  
  1169.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1170.           (c) Copyright 1994 DSE Software Publishing                     18
  1171.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  1172.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1173.  
  1174.                     TrackFrame      Track position (frames).
  1175.                     cdMins          Total CD length (mins).
  1176.                     cdSecs          Total CD length (seconds).
  1177.                     cdFrames        Total CD length (frames).
  1178.                     TrackMins       Track length (mins).
  1179.                     TrackSecs       Track length (seconds).
  1180.                     TrackFrames     Track length (frames).
  1181.  
  1182.           SEE ALSO: CDGETINFO
  1183.  
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192.  
  1193.  
  1194.  
  1195.  
  1196.  
  1197.  
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1229.           (c) Copyright 1994 DSE Software Publishing                     19
  1230.           AUDIO CD TOOLKIT for PowerBASIC 3.x - Version 1.00
  1231.           ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.                                         Index
  1240.  
  1241.  
  1242.                  C                           G
  1243.                  cdDoor 4                    GetFirstCdrom% 12
  1244.                  cdGetInfo 4                 GetMscdexVersion% 13
  1245.                  cdGetVolume 5               GetNumCdroms% 13
  1246.                  CDINFOTYPE 18
  1247.                  cdInit 5                    I
  1248.                  cdMediaChanged 6            IsAudio% 14
  1249.                  cdPause 6                   IsMscdex% 15
  1250.                  cdPlay 7                    IsSB% 15
  1251.                  cdPlayFrames 7
  1252.                  cdPlayMSF 7                 M
  1253.                  cdReset 8                   MSFtoFrame& 16
  1254.                  cdResume 8
  1255.                  cdSeek 9                    S
  1256.                  cdSeekFrame 9               sbGetVolume 16
  1257.                  cdSeekMSF 10                sbSetVolume 16
  1258.                  cdSetVolume 10
  1259.                  cdStatus 11                 T
  1260.                  cdStop 12                   TRACKINFOTYPE 18
  1261.  
  1262.                  F
  1263.                  FrameToMSF 12
  1264.  
  1265.  
  1266.  
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.           ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
  1288.           (c) Copyright 1994 DSE Software Publishing                     20
  1289.  
  1290.            ORDER FORM FOR ALL PRODUCTS FROM DSE SOFTWARE PUBLISHING
  1291.     -----------------------------------------------------------------------
  1292.     YOU CAN FAX US OR ORDER ONLINE BY CALLING OUR FAX/BBS AT (707) 459-4484
  1293.  
  1294.     TO:                           FROM:
  1295.     DSE SOFTWARE PUBLISHING       ________________________________________
  1296.     POST OFFICE BOX 96            Name
  1297.     WILLITS, CA 95490-0096        ________________________________________
  1298.     USA                           Company (ONLY if ordering for a company)
  1299.                                   ________________________________________
  1300.     Voice: (707) 459-4358         Address
  1301.     FAX/BBS: (707) 459-4484       ______________________  _____  _________
  1302.                                   City                    State  Zip
  1303.     GEnie: "DSE.SOFTWARE"         ______________________  ________________
  1304.     FidoNet: 1:125/123            Phone                   Fax
  1305.     Internet: dse@pacific.net
  1306.               dse.software@genie.geis.com
  1307.  
  1308.     ================= P R O D U C T S   R E Q U E S T E D ================
  1309.  
  1310.     ORDER    DESCRIPTION                             PRICE  QTY  EXTENDED
  1311.     -------  --------------------------------------  -----  ---  --------
  1312.     20510    AUDIO CD TOOLKIT for PowerBASIC 3.x     19.95  ___  ________
  1313.     20615    dseINSTALL(tm) Software Install Util.   19.95  ___  ________
  1314.     20812    PB/VISION(tm) PRO w/ manual on disk     79.00  ___  ________
  1315.  +> 20813    PB/VISION(tm) PRO w/ printed manual     99.00  ___  ________
  1316.  |
  1317.  |  Shipping, Handling, and Fees (Indicate Below) .............  ________
  1318.  |  Sales Tax (CA. Residents add 7.25%) .......................  ________
  1319.  |  Total Order (United States Funds ($US FUNDS) Only) ........  ________
  1320.  |
  1321.  |  DISK SIZE  SHIPPING/HANDLING/FEES     SHIPPING NOTES
  1322.  |  ---------  -------------------------  --------------------------------
  1323.  |  [X] 3.50"  [_] USA            $ 5.50  USA / SHIPPED PRIORITY MAIL
  1324.  |      ONLY   [_] CANADA         $ 5.50  VISA/MC/POSTAL MONEY ORDER ($US)
  1325.  |             [_] OVERSEAS       $10.00  SEE "TERMS OF SALE" (below)
  1326.  +-----------> [_] OVERSEAS       $20.00  OVERSEAS WITH PRINTED MANUAL
  1327.  
  1328.     ========================== CREDIT CARD ORDERS ========================
  1329.  
  1330.     [ ] VISA         -> TOTAL ORDER : $_________ <- enter total order here
  1331.     [ ] MASTERCARD   -> CARD HOLDER : ____________________________________
  1332.                      -> CARD NUMBER : ____________________________________
  1333.     EACH LINE MUST ---> EXPIRATION  : ___ / ___
  1334.      BE FILLED IN  ---> SIGNATURE   : ____________________________________
  1335.  
  1336.     ============================ TERMS OF SALE ===========================
  1337.  
  1338.     o  All checks must be drawn on a United States bank and in $US funds.
  1339.     o  Purchase Orders:  Please call for authorization.
  1340.     o  Returned check fee: $300 (for insufficient funds.       [DSE-1094]
  1341.